diff options
229 files changed, 12665 insertions, 20600 deletions
diff --git a/application/basilisk/app/profile/basilisk.js b/application/basilisk/app/profile/basilisk.js index eeec29eb9..cff5f599f 100644 --- a/application/basilisk/app/profile/basilisk.js +++ b/application/basilisk/app/profile/basilisk.js @@ -580,6 +580,10 @@ pref("network.captive-portal-service.enabled", true); // If true, network link events will change the value of navigator.onLine pref("network.manage-offline-status", true); +// Enable opportunistic encryption by default +pref("network.http.altsvc.oe", true); +pref("network.http.upgrade-insecure-requests", true); + // We want to make sure mail URLs are handled externally... pref("network.protocol-handler.external.mailto", true); // for mail pref("network.protocol-handler.external.news", true); // for news diff --git a/application/basilisk/confvars.sh b/application/basilisk/confvars.sh index 48985f16a..62aa1a84f 100644 --- a/application/basilisk/confvars.sh +++ b/application/basilisk/confvars.sh @@ -8,7 +8,7 @@ MOZ_APP_VENDOR=Moonchild MOZ_PHOENIX=1 MOZ_AUSTRALIS=1 MC_BASILISK=1 -MOZ_UPDATER=1 +MOZ_UPDATER= if test "$OS_ARCH" = "WINNT" -o \ "$OS_ARCH" = "Linux"; then @@ -45,9 +45,9 @@ MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384} # This should usually be the same as the value MAR_CHANNEL_ID. # If more than one ID is needed, then you should use a comma separated list # of values. -ACCEPTED_MAR_CHANNEL_IDS=basilisk-release +ACCEPTED_MAR_CHANNEL_IDS=unofficial,unstable,release # The MAR_CHANNEL_ID must not contain the following 3 characters: ",\t " -MAR_CHANNEL_ID=basilisk-release +MAR_CHANNEL_ID=unofficial # Features MOZ_PROFILE_MIGRATOR=1 @@ -61,7 +61,7 @@ MOZ_SERVICES_COMMON=1 MOZ_SERVICES_SYNC=1 MOZ_SERVICES_HEALTHREPORT= MOZ_SAFE_BROWSING= - +MOZ_GAMEPAD=1 # Disable checking that add-ons are signed by the trusted root MOZ_ADDON_SIGNING=0 MOZ_REQUIRE_SIGNING=0 diff --git a/application/palemoon/app/profile/palemoon.js b/application/palemoon/app/profile/palemoon.js index 15accd146..e53b1693b 100644 --- a/application/palemoon/app/profile/palemoon.js +++ b/application/palemoon/app/profile/palemoon.js @@ -463,6 +463,10 @@ pref("browser.tabs.closeButtons", 1); // false return to the adjacent tab (old default) pref("browser.tabs.selectOwnerOnClose", true); +pref("browser.tabs.showAudioPlayingIcon", true); +// This should match Chromium's audio indicator delay. +pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000); + pref("browser.allTabs.previews", true); pref("browser.ctrlTab.previews", true); pref("browser.ctrlTab.recentlyUsedLimit", 7); diff --git a/application/palemoon/base/content/browser-sets.inc b/application/palemoon/base/content/browser-sets.inc index 25794a65c..78fce2670 100644 --- a/application/palemoon/base/content/browser-sets.inc +++ b/application/palemoon/base/content/browser-sets.inc @@ -32,6 +32,7 @@ <command id="cmd_printPreview" oncommand="PrintUtils.printPreview(PrintPreviewListener);"/> <command id="cmd_close" oncommand="BrowserCloseTabOrWindow()"/> <command id="cmd_closeWindow" oncommand="BrowserTryToCloseWindow()"/> + <command id="cmd_toggleMute" oncommand="gBrowser.selectedTab.toggleMuteAudio()"/> <command id="cmd_ToggleTabsOnTop" oncommand="TabsOnTop.toggle()"/> <command id="cmd_CustomizeToolbars" oncommand="BrowserCustomizeToolbar()"/> <command id="cmd_restartApplication" oncommand="restart(false);"/> @@ -212,6 +213,7 @@ <key id="printKb" key="&printCmd.commandkey;" command="cmd_print" modifiers="accel"/> <key id="key_close" key="&closeCmd.key;" command="cmd_close" modifiers="accel"/> <key id="key_closeWindow" key="&closeCmd.key;" command="cmd_closeWindow" modifiers="accel,shift"/> + <key id="key_toggleMute" key="&toggleMuteCmd.key;" command="cmd_toggleMute" modifiers="control"/> <key id="key_undo" key="&undoCmd.key;" modifiers="accel"/> diff --git a/application/palemoon/base/content/browser-tabPreviews.js b/application/palemoon/base/content/browser-tabPreviews.js index eaae78ba8..e0755b81d 100644 --- a/application/palemoon/base/content/browser-tabPreviews.js +++ b/application/palemoon/base/content/browser-tabPreviews.js @@ -940,6 +940,13 @@ var allTabs = { aPreview.setAttribute("image", aPreview._tab.image); else aPreview.removeAttribute("image"); + + aPreview.removeAttribute("soundplaying"); + aPreview.removeAttribute("muted"); + if (aPreview._tab.hasAttribute("muted")) + aPreview.setAttribute("muted", "true"); + else if (aPreview._tab.hasAttribute("soundplaying")) + aPreview.setAttribute("soundplaying", "true"); var thumbnail = tabPreviews.get(aPreview._tab); if (aPreview.firstChild) { diff --git a/application/palemoon/base/content/browser-tabPreviews.xml b/application/palemoon/base/content/browser-tabPreviews.xml index e957649e7..4f54321ea 100644 --- a/application/palemoon/base/content/browser-tabPreviews.xml +++ b/application/palemoon/base/content/browser-tabPreviews.xml @@ -42,7 +42,10 @@ <xul:hbox class="tabPreview-canvas" xbl:inherits="style=canvasstyle"> <children/> </xul:hbox> - <xul:label flex="1" xbl:inherits="value=label,crop" class="allTabs-preview-label plain"/> + <xul:hbox align="center"> + <xul:image xbl:inherits="soundplaying,muted" class="allTabs-endimage"/> + <xul:label flex="1" xbl:inherits="value=label,crop" class="allTabs-preview-label plain"/> + </xul:hbox> </xul:vbox> <xul:hbox class="allTabs-favicon-container"> <xul:image class="allTabs-favicon" xbl:inherits="src=image"/> diff --git a/application/palemoon/base/content/browser.js b/application/palemoon/base/content/browser.js index 4167f186c..591d00fbb 100644 --- a/application/palemoon/base/content/browser.js +++ b/application/palemoon/base/content/browser.js @@ -976,6 +976,7 @@ var gBrowserInit = { CombinedStopReload.init(); allTabs.readPref(); TabsOnTop.init(); + AudioIndicator.init(); gPrivateBrowsingUI.init(); TabsInTitlebar.init(); retrieveToolbarIconsizesFromTheme(); @@ -1364,6 +1365,8 @@ var gBrowserInit = { BookmarkingUI.uninit(); TabsOnTop.uninit(); + + AudioIndicator.uninit(); TabsInTitlebar.uninit(); @@ -4597,6 +4600,42 @@ function setToolbarVisibility(toolbar, isVisible) { ToolbarIconColor.inferFromText(); } +var AudioIndicator = { + init: function () { + Services.prefs.addObserver(this._prefName, this, false); + this.syncUI(); + }, + + uninit: function () { + Services.prefs.removeObserver(this._prefName, this); + }, + + toggle: function () { + this.enabled = !Services.prefs.getBoolPref(this._prefName); + }, + + syncUI: function () { + document.getElementById("context_toggleMuteTab").setAttribute("hidden", this.enabled); + document.getElementById("key_toggleMute").setAttribute("disabled", this.enabled); + }, + + get enabled () { + return !Services.prefs.getBoolPref(this._prefName); + }, + + set enabled (val) { + Services.prefs.setBoolPref(this._prefName, !!val); + return val; + }, + + observe: function (subject, topic, data) { + if (topic == "nsPref:changed") + this.syncUI(); + }, + + _prefName: "browser.tabs.showAudioPlayingIcon" +} + var TabsOnTop = { init: function TabsOnTop_init() { Services.prefs.addObserver(this._prefName, this, false); @@ -7021,6 +7060,17 @@ function restoreLastSession() { var TabContextMenu = { contextTab: null, + _updateToggleMuteMenuItem(aTab, aConditionFn) { + ["muted", "soundplaying"].forEach(attr => { + if (!aConditionFn || aConditionFn(attr)) { + if (aTab.hasAttribute(attr)) { + aTab.toggleMuteMenuItem.setAttribute(attr, "true"); + } else { + aTab.toggleMuteMenuItem.removeAttribute(attr); + } + } + }); + }, updateContextMenu: function updateContextMenu(aPopupMenu) { this.contextTab = aPopupMenu.triggerNode.localName == "tab" ? aPopupMenu.triggerNode : gBrowser.selectedTab; @@ -7067,6 +7117,35 @@ var TabContextMenu = { bookmarkAllTabs.hidden = this.contextTab.pinned; if (!bookmarkAllTabs.hidden) PlacesCommandHook.updateBookmarkAllTabsCommand(); + + // Adjust the state of the toggle mute menu item. + let toggleMute = document.getElementById("context_toggleMuteTab"); + if (this.contextTab.hasAttribute("muted")) { + toggleMute.label = gNavigatorBundle.getString("unmuteTab.label"); + toggleMute.accessKey = gNavigatorBundle.getString("unmuteTab.accesskey"); + } else { + toggleMute.label = gNavigatorBundle.getString("muteTab.label"); + toggleMute.accessKey = gNavigatorBundle.getString("muteTab.accesskey"); + } + + this.contextTab.toggleMuteMenuItem = toggleMute; + this._updateToggleMuteMenuItem(this.contextTab); + + this.contextTab.addEventListener("TabAttrModified", this, false); + aPopupMenu.addEventListener("popuphiding", this, false); + }, + handleEvent(aEvent) { + switch (aEvent.type) { + case "popuphiding": + gBrowser.removeEventListener("TabAttrModified", this); + aEvent.target.removeEventListener("popuphiding", this); + break; + case "TabAttrModified": + let tab = aEvent.target; + this._updateToggleMuteMenuItem(tab, + attr => aEvent.detail.changed.indexOf(attr) >= 0); + break; + } } }; diff --git a/application/palemoon/base/content/browser.xul b/application/palemoon/base/content/browser.xul index 07ca54722..ce2a7c5a8 100644 --- a/application/palemoon/base/content/browser.xul +++ b/application/palemoon/base/content/browser.xul @@ -87,6 +87,7 @@ onpopuphidden="if (event.target == this) TabContextMenu.contextTab = null;"> <menuitem id="context_reloadTab" label="&reloadTab.label;" accesskey="&reloadTab.accesskey;" oncommand="gBrowser.reloadTab(TabContextMenu.contextTab);"/> + <menuitem id="context_toggleMuteTab" oncommand="TabContextMenu.contextTab.toggleMuteAudio();"/> <menuseparator/> <menuitem id="context_pinTab" label="&pinTab.label;" accesskey="&pinTab.accesskey;" diff --git a/application/palemoon/base/content/sync/notification.xml b/application/palemoon/base/content/sync/notification.xml index 7a2b77382..8ac881e08 100644 --- a/application/palemoon/base/content/sync/notification.xml +++ b/application/palemoon/base/content/sync/notification.xml @@ -88,7 +88,7 @@ tooltiptext="&closeNotification.tooltip;" oncommand="document.getBindingParent(this).close()"/> <xul:hbox anonid="details" align="center" flex="1"> - <xul:image anonid="messageImage" class="messageImage" xbl:inherits="src=image"/> + <xul:image anonid="messageImage" class="messageImage" xbl:inherits="src=image,type"/> <xul:description anonid="messageText" class="messageText" xbl:inherits="xbl:text=label"/> <!-- The children are the buttons defined by the notification. --> diff --git a/application/palemoon/base/content/tabbrowser.css b/application/palemoon/base/content/tabbrowser.css index 94d6dbb2e..43536b27a 100644 --- a/application/palemoon/base/content/tabbrowser.css +++ b/application/palemoon/base/content/tabbrowser.css @@ -45,10 +45,19 @@ tabpanels { } .tab-throbber:not([busy]), -.tab-throbber[busy] + .tab-icon-image { +.tab-throbber[busy] + .tab-icon-image, +.tab-icon-sound:not([soundplaying]):not([muted]):not([blocked]), +.tab-icon-sound[pinned], +.tab-icon-overlay { display: none; } +.tab-icon-overlay[soundplaying][pinned], +.tab-icon-overlay[muted][pinned], +.tab-icon-overlay[blocked][pinned] { + display: -moz-box; +} + .closing-tabs-spacer { pointer-events: none; } diff --git a/application/palemoon/base/content/tabbrowser.xml b/application/palemoon/base/content/tabbrowser.xml index dc6cb0a9d..929afd057 100644 --- a/application/palemoon/base/content/tabbrowser.xml +++ b/application/palemoon/base/content/tabbrowser.xml @@ -438,6 +438,22 @@ </body> </method> + <method name="getTabFromAudioEvent"> + <parameter name="aEvent"/> + <body> + <![CDATA[ + if (!Services.prefs.getBoolPref("browser.tabs.showAudioPlayingIcon") || + !aEvent.isTrusted) { + return null; + } + + var browser = aEvent.originalTarget; + var tab = this.getTabForBrowser(browser); + return tab; + ]]> + </body> + </method> + <method name="_callProgressListeners"> <parameter name="aBrowser"/> <parameter name="aMethod"/> @@ -616,7 +632,7 @@ if (this.mTab.hasAttribute("busy")) { this.mTab.removeAttribute("busy"); - this.mTabBrowser._tabAttrModified(this.mTab); + this.mTabBrowser._tabAttrModified(this.mTab, ["busy"]); if (!this.mTab.selected) this.mTab.setAttribute("unread", "true"); } @@ -686,6 +702,8 @@ let topLevel = aWebProgress.isTopLevel; if (topLevel) { + let isSameDocument = + !!(aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_SAME_DOCUMENT); // We need to clear the typed value // if the document failed to load, to make sure the urlbar reflects the // failed URI (particularly for SSL errors). However, don't clear the value @@ -696,6 +714,19 @@ aLocation.spec != "about:blank")) this.mBrowser.userTypedValue = null; + // If the browser was playing audio, we should remove the playing state. + if (this.mTab.hasAttribute("soundplaying") && !isSameDocument) { + clearTimeout(this.mTab._soundPlayingAttrRemovalTimer); + this.mTab._soundPlayingAttrRemovalTimer = 0; + this.mTab.removeAttribute("soundplaying"); + this.mTabBrowser._tabAttrModified(this.mTab, ["soundplaying"]); + } + + // If the browser was previously muted, we should restore the muted state. + if (this.mTab.hasAttribute("muted")) { + this.mTab.linkedBrowser.mute(); + } + // Don't clear the favicon if this onLocationChange was // triggered by a pushState or a replaceState. See bug 550565. if (!gMultiProcessBrowser) { @@ -804,7 +835,7 @@ aTab.setAttribute("image", sizedIconUrl); else aTab.removeAttribute("image"); - this._tabAttrModified(aTab); + this._tabAttrModified(aTab, ["image"]); } this._callProgressListeners(browser, "onLinkIconAvailable", [browser.mIconURL]); @@ -1116,8 +1147,8 @@ }); this.mCurrentTab.dispatchEvent(event); - this._tabAttrModified(oldTab); - this._tabAttrModified(this.mCurrentTab); + this._tabAttrModified(oldTab, ["selected"]); + this._tabAttrModified(this.mCurrentTab, ["selected"]); // Adjust focus oldBrowser._urlbarFocused = (gURLBar && gURLBar.focused); @@ -1187,14 +1218,18 @@ <method name="_tabAttrModified"> <parameter name="aTab"/> + <parameter name="aChanged"/> <body><![CDATA[ if (aTab.closing) return; - // This event should be dispatched when any of these attributes change: - // label, crop, busy, image, selected - var event = document.createEvent("Events"); - event.initEvent("TabAttrModified", true, false); + let event = new CustomEvent("TabAttrModified", { + bubbles: true, + cancelable: false, + detail: { + changed: aChanged, + } + }); aTab.dispatchEvent(event); ]]></body> </method> @@ -1205,7 +1240,7 @@ <![CDATA[ aTab.label = this.mStringBundle.getString("tabs.connecting"); aTab.crop = "end"; - this._tabAttrModified(aTab); + this._tabAttrModified(aTab, ["label", "crop"]); ]]> </body> </method> @@ -1250,7 +1285,7 @@ aTab.label = title; aTab.crop = crop; - this._tabAttrModified(aTab); + this._tabAttrModified(aTab, ["label", "crop"]); if (aTab.selected) this.updateTitlebar(); @@ -2239,6 +2274,14 @@ var remoteBrowser = aOtherTab.ownerDocument.defaultView.gBrowser; var isPending = aOtherTab.hasAttribute("pending"); + // Expedite the removal of the icon if it was already scheduled. + if (aOtherTab._soundPlayingAttrRemovalTimer) { + clearTimeout(aOtherTab._soundPlayingAttrRemovalTimer); + aOtherTab._soundPlayingAttrRemovalTimer = 0; + aOtherTab.removeAttribute("soundplaying"); + remoteBrowser._tabAttrModified(aOtherTab, ["soundplaying"]); + } + // First, start teardown of the other browser. Make sure to not // fire the beforeunload event in the process. Close the other // window if this was its last tab. @@ -2248,6 +2291,18 @@ let ourBrowser = this.getBrowserForTab(aOurTab); let otherBrowser = aOtherTab.linkedBrowser; + let modifiedAttrs = []; + if (aOtherTab.hasAttribute("muted")) { + aOurTab.setAttribute("muted", "true"); + aOurTab.muteReason = aOtherTab.muteReason; + ourBrowser.mute(); + modifiedAttrs.push("muted"); + } + if (aOtherTab.hasAttribute("soundplaying")) { + aOurTab.setAttribute("soundplaying", "true"); + modifiedAttrs.push("soundplaying"); + } + // If the other tab is pending (i.e. has not been restored, yet) // then do not switch docShells but retrieve the other tab's state // and apply it to our tab. @@ -2266,7 +2321,7 @@ var isBusy = aOtherTab.hasAttribute("busy"); if (isBusy) { aOurTab.setAttribute("busy", "true"); - this._tabAttrModified(aOurTab); + modifiedAttrs.push("busy"); if (aOurTab.selected) this.mIsBusy = true; } @@ -2286,6 +2341,10 @@ // of replaceTabWithWindow), notify onLocationChange, etc. if (aOurTab.selected) this.updateCurrentBrowser(true); + + if (modifiedAttrs.length) { + this._tabAttrModified(aOurTab, modifiedAttrs); + } ]]> </body> </method> @@ -3084,9 +3143,25 @@ event.preventDefault(); return; } - event.target.setAttribute("label", tab.mOverCloseButton ? - tab.getAttribute("closetabtext") : - tab.getAttribute("label")); + + var stringID, label; + if (tab.mOverCloseButton) { + stringID = "tabs.closeTab"; + } else if (tab._overPlayingIcon) { + if (tab.linkedBrowser.audioBlocked) { + stringID = "tabs.unblockAudio.tooltip"; + } else { + stringID = tab.linkedBrowser.audioMuted ? + "tabs.unmuteAudio.tooltip" : + "tabs.muteAudio.tooltip"; + } + } else { + label = tab.getAttribute("label"); + } + if (stringID && !label) { + label = this.mStringBundle.getString(stringID); + } + event.target.setAttribute("label", label); ]]></body> </method> @@ -3300,6 +3375,7 @@ ]]> </getter> </property> + <field name="_soundPlayingAttrRemovalTimer">0</field> </implementation> <handlers> @@ -3347,6 +3423,78 @@ tab.setAttribute("titlechanged", "true"); ]]> </handler> + <handler event="DOMAudioPlaybackStarted"> + <![CDATA[ + var tab = getTabFromAudioEvent(event) + if (!tab) { + return; + } + + clearTimeout(tab._soundPlayingAttrRemovalTimer); + tab._soundPlayingAttrRemovalTimer = 0; + + let modifiedAttrs = []; + if (tab.hasAttribute("soundplaying-scheduledremoval")) { + tab.removeAttribute("soundplaying-scheduledremoval"); + modifiedAttrs.push("soundplaying-scheduledremoval"); + } + + if (!tab.hasAttribute("soundplaying")) { + tab.setAttribute("soundplaying", true); + modifiedAttrs.push("soundplaying"); + } + + this._tabAttrModified(tab, modifiedAttrs); + ]]> + </handler> + <handler event="DOMAudioPlaybackStopped"> + <![CDATA[ + var tab = getTabFromAudioEvent(event) + if (!tab) { + return; + } + + if (tab.hasAttribute("soundplaying")) { + let removalDelay = Services.prefs.getIntPref("browser.tabs.delayHidingAudioPlayingIconMS"); + + tab.style.setProperty("--soundplaying-removal-delay", `${removalDelay - 300}ms`); + tab.setAttribute("soundplaying-scheduledremoval", "true"); + this._tabAttrModified(tab, ["soundplaying-scheduledremoval"]); + + tab._soundPlayingAttrRemovalTimer = setTimeout(() => { + tab.removeAttribute("soundplaying-scheduledremoval"); + tab.removeAttribute("soundplaying"); + this._tabAttrModified(tab, ["soundplaying", "soundplaying-scheduledremoval"]); + }, removalDelay); + } + ]]> + </handler> + <handler event="DOMAudioPlaybackBlockStarted"> + <![CDATA[ + var tab = getTabFromAudioEvent(event) + if (!tab) { + return; + } + + if (!tab.hasAttribute("blocked")) { + tab.setAttribute("blocked", true); + this._tabAttrModified(tab, ["blocked"]); + } + ]]> + </handler> + <handler event="DOMAudioPlaybackBlockStopped"> + <![CDATA[ + var tab = getTabFromAudioEvent(event) + if (!tab) { + return; + } + + if (tab.hasAttribute("blocked")) { + tab.removeAttribute("blocked"); + this._tabAttrModified(tab, ["blocked"]); + } + ]]> + </handler> </handlers> </binding> @@ -4758,10 +4906,18 @@ class="tab-icon-image" role="presentation" anonid="tab-icon"/> + <xul:image xbl:inherits="busy,soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected" + anonid="overlay-icon" + class="tab-icon-overlay" + role="presentation"/> <xul:label flex="1" xbl:inherits="value=label,crop,accesskey,fadein,pinned,selected" class="tab-text tab-label" role="presentation"/> + <xul:image xbl:inherits="soundplaying,soundplaying-scheduledremoval,pinned,muted,blocked,selected" + anonid="soundplaying-icon" + class="tab-icon-sound" + role="presentation"/> <xul:toolbarbutton anonid="close-button" xbl:inherits="fadein,pinned,selected" class="tab-close-button close-icon"/> @@ -4782,9 +4938,59 @@ </property> <field name="mOverCloseButton">false</field> + <property name="_overPlayingIcon" readonly="true"> + <getter><![CDATA[ + let iconVisible = this.hasAttribute("soundplaying") || + this.hasAttribute("muted") || + this.hasAttribute("blocked"); + let soundPlayingIcon = + document.getAnonymousElementByAttribute(this, "anonid", "soundplaying-icon"); + let overlayIcon = + document.getAnonymousElementByAttribute(this, "anonid", "overlay-icon"); + + return soundPlayingIcon && soundPlayingIcon.matches(":hover") || + (overlayIcon && overlayIcon.matches(":hover") && iconVisible); + ]]></getter> + </property> <field name="mCorrespondingMenuitem">null</field> <field name="closing">false</field> <field name="lastAccessed">0</field> + + <method name="toggleMuteAudio"> + <parameter name="aMuteReason"/> + <body> + <![CDATA[ + let tabContainer = this.parentNode; + let browser = this.linkedBrowser; + let modifiedAttrs = []; + if (browser.audioBlocked) { + this.removeAttribute("blocked"); + modifiedAttrs.push("blocked"); + + // We don't want sound icon flickering between "blocked", "none" and + // "sound-playing", here adding the "soundplaying" is to keep the + // transition smoothly. + if (!this.hasAttribute("soundplaying")) { + this.setAttribute("soundplaying", true); + modifiedAttrs.push("soundplaying"); + } + + browser.resumeMedia(); + } else { + if (browser.audioMuted) { + browser.unmute(); + this.removeAttribute("muted"); + } else { + browser.mute(); + this.setAttribute("muted", "true"); + } + this.muteReason = aMuteReason || null; + modifiedAttrs.push("muted"); + } + tabContainer.tabbrowser._tabAttrModified(this, modifiedAttrs); + ]]> + </body> + </method> </implementation> <handlers> @@ -4843,7 +5049,8 @@ if (this.selected) { this.style.MozUserFocus = 'ignore'; this.clientTop; // just using this to flush style updates - } else if (this.mOverCloseButton) { + } else if (this.mOverCloseButton || + this._overPlayingIcon) { // Prevent tabbox.xml from selecting the tab. event.stopPropagation(); } @@ -4852,6 +5059,17 @@ <handler event="mouseup"> this.style.MozUserFocus = ''; </handler> + <handler event="click"> + <![CDATA[ + if (event.button != 0) { + return; + } + + if (this._overPlayingIcon) { + this.toggleMuteAudio(); + } + ]]> + </handler> </handlers> </binding> @@ -4957,6 +5175,24 @@ aMenuitem.setAttribute("selected", "true"); else aMenuitem.removeAttribute("selected"); + + function addEndImage() { + let endImage = document.createElement("image"); + endImage.setAttribute("class", "allTabs-endimage"); + let endImageContainer = document.createElement("hbox"); + endImageContainer.setAttribute("align", "center"); + endImageContainer.setAttribute("pack", "center"); + endImageContainer.appendChild(endImage); + aMenuitem.appendChild(endImageContainer); + return endImage; + } + + if (aMenuitem.firstChild) + aMenuitem.firstChild.remove(); + if (aTab.hasAttribute("muted")) + addEndImage().setAttribute("muted", "true"); + else if (aTab.hasAttribute("soundplaying")) + addEndImage().setAttribute("soundplaying", "true"); ]]></body> </method> </implementation> diff --git a/application/palemoon/components/feeds/FeedWriter.js b/application/palemoon/components/feeds/FeedWriter.js index 2ae31dffa..d704835bb 100644 --- a/application/palemoon/components/feeds/FeedWriter.js +++ b/application/palemoon/components/feeds/FeedWriter.js @@ -692,21 +692,6 @@ FeedWriter.prototype = { }, /** - * Get moz-icon url for a file - * @param file - * A nsIFile object for which the moz-icon:// is returned - * @returns moz-icon url of the given file as a string - */ - _getFileIconURL: function FW__getFileIconURL(file) { - var ios = Cc["@mozilla.org/network/io-service;1"]. - getService(Ci.nsIIOService); - var fph = ios.getProtocolHandler("file") - .QueryInterface(Ci.nsIFileProtocolHandler); - var urlSpec = fph.getURLSpecFromFile(file); - return "moz-icon://" + urlSpec + "?size=16"; - }, - - /** * Helper method to set the selected application and system default * reader menuitems details from a file object * @param aMenuItem @@ -717,7 +702,10 @@ FeedWriter.prototype = { _initMenuItemWithFile: function(aMenuItem, aFile) { this._contentSandbox.menuitem = aMenuItem; this._contentSandbox.label = this._getFileDisplayName(aFile); - this._contentSandbox.image = this._getFileIconURL(aFile); + // For security reasons, access to moz-icon:file://... URIs is + // no longer allowed (indirect file system access from content). + // We use a dummy application instead to get a generic icon. + this._contentSandbox.image = "moz-icon://dummy.exe?size=16"; var codeStr = "menuitem.setAttribute('label', label); " + "menuitem.setAttribute('image', image);" Cu.evalInSandbox(codeStr, this._contentSandbox); diff --git a/application/palemoon/components/places/PlacesUIUtils.jsm b/application/palemoon/components/places/PlacesUIUtils.jsm index f62535613..05d79241c 100644 --- a/application/palemoon/components/places/PlacesUIUtils.jsm +++ b/application/palemoon/components/places/PlacesUIUtils.jsm @@ -146,14 +146,21 @@ this.PlacesUIUtils = { * annotations are synced from the old one. * @see this._copyableAnnotations for the list of copyable annotations. */ - _getFolderCopyTransaction: - function PUIU__getFolderCopyTransaction(aData, aContainer, aIndex) - { - function getChildItemsTransactions(aChildren) - { + _getFolderCopyTransaction(aData, aContainer, aIndex) { + function getChildItemsTransactions(aRoot) { let transactions = []; let index = aIndex; - aChildren.forEach(function (node, i) { + for (let i = 0; i < aRoot.childCount; ++i) { + let child = aRoot.getChild(i); + // Temporary hacks until we switch to PlacesTransactions.jsm. + let isLivemark = + PlacesUtils.annotations.itemHasAnnotation(child.itemId, + PlacesUtils.LMANNO_FEEDURI); + let [node] = PlacesUtils.unwrapNodes( + PlacesUtils.wrapNode(child, PlacesUtils.TYPE_X_MOZ_PLACE, isLivemark), + PlacesUtils.TYPE_X_MOZ_PLACE + ); + // Make sure that items are given the correct index, this will be // passed by the transaction manager to the backend for the insertion. // Insertion behaves differently for DEFAULT_INDEX (append). @@ -184,19 +191,21 @@ this.PlacesUIUtils = { else { throw new Error("Unexpected item under a bookmarks folder"); } - }); + } return transactions; } - if (aContainer == PlacesUtils.tagsFolderId) { // Copying a tag folder. + if (aContainer == PlacesUtils.tagsFolderId) { // Copying into a tag folder. let transactions = []; - if (aData.children) { - aData.children.forEach(function(aChild) { + if (!aData.livemark && aData.type == PlacesUtils.TYPE_X_MOZ_PLACE_CONTAINER) { + let {root} = PlacesUtils.getFolderContents(aData.id, false, false); + let urls = PlacesUtils.getURLsForContainerNode(root); + root.containerOpen = false; + for (let { uri } of urls) { transactions.push( - new PlacesTagURITransaction(PlacesUtils._uri(aChild.uri), - [aData.title]) + new PlacesTagURITransaction(NetUtil.newURI(uri), [aData.title]) ); - }); + } } return new PlacesAggregatedTransaction("addTags", transactions); } @@ -205,7 +214,10 @@ this.PlacesUIUtils = { return this._getLivemarkCopyTransaction(aData, aContainer, aIndex); } - let transactions = getChildItemsTransactions(aData.children); + let {root} = PlacesUtils.getFolderContents(aData.id, false, false); + let transactions = getChildItemsTransactions(root); + root.containerOpen = false; + if (aData.dateAdded) { transactions.push( new PlacesEditItemDateAddedTransaction(null, aData.dateAdded) diff --git a/application/palemoon/components/places/content/bookmarkProperties.js b/application/palemoon/components/places/content/bookmarkProperties.js index 685ef57d2..e1d1077ab 100644 --- a/application/palemoon/components/places/content/bookmarkProperties.js +++ b/application/palemoon/components/places/content/bookmarkProperties.js @@ -382,6 +382,11 @@ var BookmarkPropertiesPanel = { .addEventListener("input", this, false); } } + + // Ensure the Name Picker textbox is focused on load + var namePickerElem = document.getElementById('editBMPanel_namePicker'); + namePickerElem.focus(); + namePickerElem.select(); }), // nsIDOMEventListener diff --git a/application/palemoon/components/places/content/controller.js b/application/palemoon/components/places/content/controller.js index 7f27e8347..7f5f7f652 100644 --- a/application/palemoon/components/places/content/controller.js +++ b/application/palemoon/components/places/content/controller.js @@ -1287,15 +1287,15 @@ PlacesController.prototype = { if (!didSuppressNotifications) result.suppressNotifications = true; - function addData(type, index, overrideURI) { - let wrapNode = PlacesUtils.wrapNode(node, type, overrideURI, doCopy); + function addData(type, index, feedURI) { + let wrapNode = PlacesUtils.wrapNode(node, type, feedURI); dt.mozSetDataAt(type, wrapNode, index); } - function addURIData(index, overrideURI) { - addData(PlacesUtils.TYPE_X_MOZ_URL, index, overrideURI); - addData(PlacesUtils.TYPE_UNICODE, index, overrideURI); - addData(PlacesUtils.TYPE_HTML, index, overrideURI); + function addURIData(index, feedURI) { + addData(PlacesUtils.TYPE_X_MOZ_URL, index, feedURI); + addData(PlacesUtils.TYPE_UNICODE, index, feedURI); + addData(PlacesUtils.TYPE_HTML, index, feedURI); } try { @@ -1387,12 +1387,11 @@ PlacesController.prototype = { copiedFolders.push(node); let livemarkInfo = this.getCachedLivemarkInfo(node); - let overrideURI = livemarkInfo ? livemarkInfo.feedURI.spec : null; - let resolveShortcuts = !PlacesControllerDragHelper.canMoveNode(node); + let feedURI = livemarkInfo && livemarkInfo.feedURI.spec; contents.forEach(function (content) { content.entries.push( - PlacesUtils.wrapNode(node, content.type, overrideURI, resolveShortcuts) + PlacesUtils.wrapNode(node, content.type, feedURI) ); }); }, this); diff --git a/application/palemoon/components/preferences/security.xul b/application/palemoon/components/preferences/security.xul index d3d321b16..b12946f2a 100644 --- a/application/palemoon/components/preferences/security.xul +++ b/application/palemoon/components/preferences/security.xul @@ -50,6 +50,15 @@ name="security.cert_pinning.enforcement_level" type="int"/> + <!-- Opportunistic Encryption --> + + <preference id="network.http.upgrade-insecure-requests" + name="network.http.upgrade-insecure-requests" + type="bool"/> + <preference id="network.http.altsvc.oe" + name="network.http.altsvc.oe" + type="bool"/> + <!-- XSS Filter --> <!-- <preference id="security.xssfilter.enable" name="security.xssfilter.enable" type="bool"/> @@ -144,6 +153,16 @@ oncommand="gSecurityPane.updateHPKPPref();"/> </vbox> </groupbox> + + <groupbox id="OpportunisticEncryption"> + <caption label="&OpEnc.label;"/> + <checkbox id="enableUIROpEnc" + label="&enableUIROpEnc.label;" + preference="network.http.upgrade-insecure-requests" /> + <checkbox id="enableAltSvcOpEnc" + label="&enableAltSvcOpEnc.label;" + preference="network.http.altsvc.oe" /> + </groupbox> <!-- XSS Filter --> <!-- diff --git a/application/palemoon/config/version.txt b/application/palemoon/config/version.txt index f35c734b3..4efefb316 100644 --- a/application/palemoon/config/version.txt +++ b/application/palemoon/config/version.txt @@ -1 +1 @@ -28.2.0a1
\ No newline at end of file +28.3.0a1
\ No newline at end of file diff --git a/application/palemoon/confvars.sh b/application/palemoon/confvars.sh index 830523778..26b02fc85 100644 --- a/application/palemoon/confvars.sh +++ b/application/palemoon/confvars.sh @@ -53,9 +53,9 @@ MOZ_PROFILE_MIGRATOR= # MAR_CHANNEL_ID must not contained the follow 3 characters: ",\t" # ACCEPTED_MAR_CHANNEL_IDS should usually be the same as MAR_CHANNEL_ID # If more than one ID is needed, then you should use a comma seperated list. -MOZ_UPDATER=1 -MAR_CHANNEL_ID=palemoon-release -ACCEPTED_MAR_CHANNEL_IDS=palemoon-release +MOZ_UPDATER= +MAR_CHANNEL_ID=unofficial +ACCEPTED_MAR_CHANNEL_IDS=unofficial,unstable,release # Platform Feature: Developer Tools # XXX: Devtools are disabled until they can be made to work with Pale Moon diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.dtd b/application/palemoon/locales/en-US/chrome/browser/browser.dtd index 2d80c8078..8632b44b4 100644 --- a/application/palemoon/locales/en-US/chrome/browser/browser.dtd +++ b/application/palemoon/locales/en-US/chrome/browser/browser.dtd @@ -507,6 +507,8 @@ you can use these alternative items. Otherwise, their values should be empty. - <!ENTITY closeCmd.key "W"> <!ENTITY closeCmd.accesskey "C"> +<!ENTITY toggleMuteCmd.key "M"> + <!ENTITY pageStyleMenu.label "Page Style"> <!ENTITY pageStyleMenu.accesskey "y"> <!ENTITY pageStyleNoStyle.label "No Style"> diff --git a/application/palemoon/locales/en-US/chrome/browser/browser.properties b/application/palemoon/locales/en-US/chrome/browser/browser.properties index 9969bd753..dbe6dbaa1 100644 --- a/application/palemoon/locales/en-US/chrome/browser/browser.properties +++ b/application/palemoon/locales/en-US/chrome/browser/browser.properties @@ -397,3 +397,8 @@ slowStartup.helpButton.label = Learn How to Speed It Up slowStartup.helpButton.accesskey = L slowStartup.disableNotificationButton.label = Don't Tell Me Again slowStartup.disableNotificationButton.accesskey = A + +muteTab.label = Mute Tab +muteTab.accesskey = M +unmuteTab.label = Unmute Tab +unmuteTab.accesskey = M
\ No newline at end of file diff --git a/application/palemoon/locales/en-US/chrome/browser/preferences/security.dtd b/application/palemoon/locales/en-US/chrome/browser/preferences/security.dtd index 2bd3b3aec..930736d56 100644 --- a/application/palemoon/locales/en-US/chrome/browser/preferences/security.dtd +++ b/application/palemoon/locales/en-US/chrome/browser/preferences/security.dtd @@ -40,6 +40,10 @@ <!ENTITY enableHPKP.label "Enable Certificate Key Pinning (HPKP)"> <!ENTITY enableHPKP.accesskey "C"> +<!ENTITY OpEnc.label "Opportunistic Encryption (OE)"> +<!ENTITY enableUIROpEnc.label "Enable Upgrade Insecure Requests"> +<!ENTITY enableAltSvcOpEnc.label "Enable HTTP Alternative Services for OE"> + <!ENTITY XSSFilt.label "XSS Filter"> <!ENTITY enableXSSFilt.label "Enable XSS filter"> <!ENTITY enableXSSFilt.accesskey "f"> diff --git a/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties b/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties index 0d21d4d14..a4a0be0a0 100644 --- a/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties +++ b/application/palemoon/locales/en-US/chrome/browser/tabbrowser.properties @@ -24,3 +24,7 @@ tabs.closeWarningTitle=Confirm close tabs.closeWarningMultipleTabs=You are about to close %S tabs. Are you sure you want to continue? tabs.closeButtonMultiple=Close tabs tabs.closeWarningPromptMe=Warn me when I attempt to close multiple tabs + +tabs.muteAudio.tooltip=Mute tab +tabs.unmuteAudio.tooltip=Unmute tab +tabs.unblockAudio.tooltip=Play tab diff --git a/application/palemoon/themes/linux/browser.css b/application/palemoon/themes/linux/browser.css index c6587babc..516677fe6 100644 --- a/application/palemoon/themes/linux/browser.css +++ b/application/palemoon/themes/linux/browser.css @@ -1758,6 +1758,90 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- -moz-margin-end: -1px; } +/* Tab sound indicator */ +.tab-icon-sound { + -moz-margin-start: 4px; + width: 16px; + height: 16px; + padding: 0; +} + +.allTabs-endimage[soundplaying], +.tab-icon-sound[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio"); +} + +.allTabs-endimage[muted], +.tab-icon-sound[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted"); +} + +.allTabs-endimage[blocked], +.tab-icon-sound[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-sound[soundplaying], +#TabsToolbar[brighttext] .tab-icon-sound[blocked], +#TabsToolbar[brighttext] .tab-icon-sound[muted] { + filter: invert(1); +} + +.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover), +.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) { + transition: opacity .3s linear var(--soundplaying-removal-delay); + opacity: 0; +} + +/* Tab icon overlay */ +.tab-icon-overlay { + width: 16px; + height: 16px; + margin-top: -8px; + margin-inline-start: -15px; + margin-inline-end: -1px; + position: relative; +} + +.tab-icon-overlay[soundplaying], +.tab-icon-overlay[muted]:not([crashed]), +.tab-icon-overlay[blocked]:not([crashed]) { + border-radius: 10px; +} + +.tab-icon-overlay[soundplaying]:hover, +.tab-icon-overlay[muted]:not([crashed]):hover, +.tab-icon-overlay[blocked]:not([crashed]):hover { + background-color: white; +} + +.tab-icon-overlay[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio"); +} + +.tab-icon-overlay[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted"); +} + +.tab-icon-overlay[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover), +.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked"); +} + /* Tabstrip new tab button */ .tabs-newtab-button, #TabsToolbar > #new-tab-button , diff --git a/application/palemoon/themes/linux/jar.mn b/application/palemoon/themes/linux/jar.mn index 8b2e9dc77..8cb6878e8 100644 --- a/application/palemoon/themes/linux/jar.mn +++ b/application/palemoon/themes/linux/jar.mn @@ -123,6 +123,8 @@ browser.jar: skin/classic/browser/tabbrowser/tab.png (tabbrowser/tab.png) skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png) skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png) + skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg) + skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg) #ifdef MOZ_SERVICES_SYNC skin/classic/browser/sync-16-throbber.png skin/classic/browser/sync-16.png diff --git a/application/palemoon/themes/osx/browser.css b/application/palemoon/themes/osx/browser.css index a915af3a3..a7bd683bd 100644 --- a/application/palemoon/themes/osx/browser.css +++ b/application/palemoon/themes/osx/browser.css @@ -1821,6 +1821,90 @@ richlistitem[type~="action"][actiontype="switchtab"][selected="true"] > .ac-url- } } +/* Tab sound indicator */ +.tab-icon-sound { + -moz-margin-start: 4px; + width: 16px; + height: 16px; + padding: 0; +} + +.allTabs-endimage[soundplaying], +.tab-icon-sound[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio"); +} + +.allTabs-endimage[muted], +.tab-icon-sound[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted"); +} + +.allTabs-endimage[blocked], +.tab-icon-sound[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-sound[soundplaying], +#TabsToolbar[brighttext] .tab-icon-sound[blocked], +#TabsToolbar[brighttext] .tab-icon-sound[muted] { + filter: invert(1); +} + +.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover), +.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) { + transition: opacity .3s linear var(--soundplaying-removal-delay); + opacity: 0; +} + +/* Tab icon overlay */ +.tab-icon-overlay { + width: 16px; + height: 16px; + margin-top: -8px; + margin-inline-start: -15px; + margin-inline-end: -1px; + position: relative; +} + +.tab-icon-overlay[soundplaying], +.tab-icon-overlay[muted]:not([crashed]), +.tab-icon-overlay[blocked]:not([crashed]) { + border-radius: 10px; +} + +.tab-icon-overlay[soundplaying]:hover, +.tab-icon-overlay[muted]:not([crashed]):hover, +.tab-icon-overlay[blocked]:not([crashed]):hover { + background-color: white; +} + +.tab-icon-overlay[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio"); +} + +.tab-icon-overlay[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted"); +} + +.tab-icon-overlay[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover), +.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked"); +} + /* Tab scrollbox arrow, tabstrip new tab and all-tabs buttons */ .tabbrowser-arrowscrollbox > .scrollbutton-up, diff --git a/application/palemoon/themes/osx/jar.mn b/application/palemoon/themes/osx/jar.mn index a66563989..1a11d0a30 100644 --- a/application/palemoon/themes/osx/jar.mn +++ b/application/palemoon/themes/osx/jar.mn @@ -166,6 +166,8 @@ browser.jar: skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png) skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png) skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png) + skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg) + skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg) #ifdef MOZ_SERVICES_SYNC skin/classic/browser/sync-throbber.png skin/classic/browser/sync-16.png diff --git a/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg b/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg new file mode 100644 index 000000000..abfe71268 --- /dev/null +++ b/application/palemoon/themes/shared/tabbrowser/tab-audio-small.svg @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16"> + <style> + .icon:not(:target) { + display: none; + } + + .icon { + fill: #262626; + } + .icon > .outline { + fill: #fff; + } + + .icon.white { + fill: #fff; + } + .icon.white > .outline { + fill: #000; + fill-opacity: .5; + } + </style> + + <g id="tab-audio" class="icon"> + <path class="outline" d="M12.4,3.6l-1-0.6l-0.9,2.5H10V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5H4C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.6l3.6,3.6 c0.3,0.3,0.9,0.1,0.9-0.4v-3.7h0.5l0.9,2.5l1-0.6C14,11.5,15,9.8,15,8S14,4.5,12.4,3.6z M9,13l-3-3H4c-0.6,0-1-0.4-1-1V7 c0-0.6,0.4-1,1-1h2l3-3V13z M10,9.5v-3c0.8,0,1.5,0.7,1.5,1.5S10.8,9.5,10,9.5z M11.9,11.5l-0.4-0.9C12.4,10,13,9.1,13,8 s-0.6-2-1.4-2.5l0.3-1C13.2,5.2,14,6.5,14,8S13.2,10.8,11.9,11.5z"/> + <path d="M4,6C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h2l3,3V3L6,6H4z M10,6.5v3c0.8,0,1.5-0.7,1.5-1.5S10.8,6.5,10,6.5z M11.9,4.5 l-0.4,0.9C12.4,6,13,6.9,13,8s-0.6,2-1.4,2.5l0.4,0.9c1.2-0.7,2.1-2,2.1-3.5S13.2,5.2,11.9,4.5z"/> + </g> + <g id="tab-audio-muted" class="icon"> + <path class="outline" d="M5.6,5H4C2.9,5,2,5.9,2,7v2c0,0.7,0.3,1.3,0.9,1.7l-1.8,1.8l2.5,2.5l3-3l2.6,2.6c0.3,0.3,0.9,0.1,0.9-0.4V8.5l3.9-3.9 l-2.5-2.5L10,3.5V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5z"/> + <path d="M11.5,3.5L9,5.9V3L6,6H4C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h0.9l-2.5,2.5l1.1,1.1l9-9L11.5,3.5z M9,13V9.7l-1.7,1.7L9,13z"/> + </g> + + <g id="tab-audio-white" class="icon white"> + <path class="outline" d="M12.4,3.6l-1-0.6l-0.9,2.5H10V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5H4C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.6l3.6,3.6 c0.3,0.3,0.9,0.1,0.9-0.4v-3.7h0.5l0.9,2.5l1-0.6C14,11.5,15,9.8,15,8S14,4.5,12.4,3.6z M9,13l-3-3H4c-0.6,0-1-0.4-1-1V7 c0-0.6,0.4-1,1-1h2l3-3V13z M10,9.5v-3c0.8,0,1.5,0.7,1.5,1.5S10.8,9.5,10,9.5z M11.9,11.5l-0.4-0.9C12.4,10,13,9.1,13,8 s-0.6-2-1.4-2.5l0.3-1C13.2,5.2,14,6.5,14,8S13.2,10.8,11.9,11.5z"/> + <path d="M4,6C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h2l3,3V3L6,6H4z M10,6.5v3c0.8,0,1.5-0.7,1.5-1.5S10.8,6.5,10,6.5z M11.9,4.5 l-0.4,0.9C12.4,6,13,6.9,13,8s-0.6,2-1.4,2.5l0.4,0.9c1.2-0.7,2.1-2,2.1-3.5S13.2,5.2,11.9,4.5z"/> + </g> + <g id="tab-audio-white-muted" class="icon white"> + <path class="outline" d="M5.6,5H4C2.9,5,2,5.9,2,7v2c0,0.7,0.3,1.3,0.9,1.7l-1.8,1.8l2.5,2.5l3-3l2.6,2.6c0.3,0.3,0.9,0.1,0.9-0.4V8.5l3.9-3.9 l-2.5-2.5L10,3.5V1.8c0-0.4-0.5-0.7-0.9-0.4L5.6,5z"/> + <path d="M11.5,3.5L9,5.9V3L6,6H4C3.4,6,3,6.4,3,7v2c0,0.6,0.4,1,1,1h0.9l-2.5,2.5l1.1,1.1l9-9L11.5,3.5z M9,13V9.7l-1.7,1.7L9,13z"/> + </g> + + <g id="tab-audio-blocked" class="icon"> + <path class="outline" d="M8,1.2C4.3,1.2,1.2,4.3,1.2,8s3.1,6.8,6.8,6.8s6.8-3.1,6.8-6.8S11.7,1.2,8,1.2z M8,11.9 + c-2.1,0-3.9-1.7-3.9-3.9c0-2.1,1.7-3.9,3.9-3.9s3.9,1.7,3.9,3.9C11.9,10.1,10.1,11.9,8,11.9z M11.1,7.3L6.6,4.6L5.4,3.9v1.4v5.3V12 + l1.2-0.7L11,8.6L12.2,8L11.1,7.3z"/> + <path d="M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z M8,12.7c-2.6,0-4.7-2.1-4.7-4.7 + S5.4,3.3,8,3.3s4.7,2.1,4.7,4.7S10.6,12.7,8,12.7z M10.7,8L6.2,5.3v5.4L10.7,8z"/> + </g> + <g id="tab-audio-white-blocked" class="icon"> + <path class="outline" d="M8,0c3.3,0,6.4,2.2,7.5,5.3c1.1,3.1,0.1,6.7-2.5,8.9c-2.6,2.1-6.3,2.4-9.2,0.7 + C1,13.1-0.5,9.8,0.1,6.5C0.9,2.8,4.2,0,8,0z"/> + <path d="M8,2C4.7,2,2,4.7,2,8s2.7,6,6,6s6-2.7,6-6S11.3,2,8,2z M8,12.7c-2.6,0-4.7-2.1-4.7-4.7 + S5.4,3.3,8,3.3s4.7,2.1,4.7,4.7S10.6,12.7,8,12.7z M10.7,8L6.2,5.3v5.4L10.7,8z"/> + </g> +</svg> diff --git a/application/palemoon/themes/shared/tabbrowser/tab-audio.svg b/application/palemoon/themes/shared/tabbrowser/tab-audio.svg new file mode 100644 index 000000000..274e10c29 --- /dev/null +++ b/application/palemoon/themes/shared/tabbrowser/tab-audio.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- 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/. --> +<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"> + <style> + path:not(:target) { + display: none; + } + </style> + + <path id="tab-audio" d="M4,5C2.9,5,2,5.9,2,7v2c0,1.1,0.9,2,2,2h1.2L9,14V2L5.2,5H4z M11,8c0-0.6-0.4-1-1-1v2C10.6,9,11,8.6,11,8z M13,8 c0-1.4-1-2.6-2.3-2.9L10.4,6C11.3,6.2,12,7,12,8s-0.7,1.8-1.6,2l0.4,0.9C12,10.6,13,9.4,13,8z M11.4,3.2l-0.4,0.9 C12.8,4.6,14,6.2,14,8s-1.2,3.4-2.9,3.8l0.4,0.9C13.5,12.2,15,10.3,15,8S13.5,3.8,11.4,3.2z"/> + + <path id="tab-audio-muted" d="M12.5,3.4L9,6.3V2L5.2,5H4C2.9,5,2,5.9,2,7v2c0,0.9,0.6,1.6,1.4,1.9l-1.9,1.5l1,1.2l11-9L12.5,3.4z M9,14v-4l-2.5,2L9,14z"/> + + <path id="tab-audio-blocked" d="M8,0C3.6,0,0,3.6,0,8s3.6,8,8,8s8-3.6,8-8S12.4,0,8,0z M5.6,11.6l6-3.6l-6-3.6V11.6z M8,14.2 + c-3.4,0-6.2-2.8-6.2-6.2S4.6,1.8,8,1.8s6.2,2.8,6.2,6.2S11.4,14.2,8,14.2z"/> +</svg> diff --git a/application/palemoon/themes/windows/Toolbar-glass.png b/application/palemoon/themes/windows/Toolbar-glass.png Binary files differdeleted file mode 100644 index 23cc4bfaf..000000000 --- a/application/palemoon/themes/windows/Toolbar-glass.png +++ /dev/null diff --git a/application/palemoon/themes/windows/Toolbar-glass.svg b/application/palemoon/themes/windows/Toolbar-glass.svg new file mode 100644 index 000000000..5212e45e7 --- /dev/null +++ b/application/palemoon/themes/windows/Toolbar-glass.svg @@ -0,0 +1,2174 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + enable-background="new 0 0 378 38" + viewBox="0 0 378 38" + height="38" + width="378" + y="0px" + x="0px" + id="PaleMoonToolbarSVG" + version="1.1"> + <metadata + id="metadata146"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs144"> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.1087088,0,-1.2351844)" + r="7.1399999" + fy="14.778796" + fx="10.529827" + cy="14.778796" + cx="10.529827" + id="radialGradient4669" + xlink:href="#linearGradient4635" /> + <linearGradient + id="linearGradient4635"> + <stop + id="stop4631" + offset="0" + style="stop-color:#6198cb;stop-opacity:1" /> + <stop + id="stop4633" + offset="1" + style="stop-color:#3a78b2;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0853313,0,-3.029369)" + r="8.7600002" + fy="38.79744" + fx="11.063469" + cy="38.79744" + cx="11.063469" + id="radialGradient4637" + xlink:href="#linearGradient4635" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.1003056,0,-1.1335797)" + r="7.1399999" + fy="14.552581" + fx="34.841751" + cy="14.552581" + cx="34.841751" + id="radialGradient4677" + xlink:href="#linearGradient4635" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99218759,0,0.09141507)" + r="7.6799994" + fy="12.761739" + fx="58.062626" + cy="12.761739" + cx="58.062626" + id="radialGradient4605" + xlink:href="#linearGradient4603" /> + <linearGradient + id="linearGradient4603"> + <stop + id="stop4599" + offset="0" + style="stop-color:#e72b1d;stop-opacity:1" /> + <stop + id="stop4601" + offset="1" + style="stop-color:#cc4338;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0769231,0,-0.86932835)" + r="7.8000002" + fy="13.939252" + fx="79.305222" + cy="13.939252" + cx="79.305222" + id="radialGradient4525" + xlink:href="#linearGradient4523-3" /> + <linearGradient + id="linearGradient4523-3"> + <stop + id="stop4519" + offset="0" + style="stop-color:#4fb55d;stop-opacity:1" /> + <stop + id="stop4521" + offset="1" + style="stop-color:#2d8539;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87507716,0,1.3868386)" + r="9.5995998" + fy="12.664675" + fx="103.23091" + cy="12.664675" + cx="103.23091" + id="radialGradient4529" + xlink:href="#linearGradient4527" /> + <linearGradient + id="linearGradient4527"> + <stop + id="stop4523" + offset="0" + style="stop-color:#3f6bbd;stop-opacity:1" /> + <stop + id="stop4525" + offset="1" + style="stop-color:#29467b;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0032611,0,-0.03620244)" + r="8.3726959" + fy="16.659737" + fx="125.30523" + cy="16.659737" + cx="125.30523" + id="radialGradient4709" + xlink:href="#linearGradient4707" /> + <linearGradient + id="linearGradient4707"> + <stop + id="stop4703" + offset="0" + style="stop-color:#8c9ba5;stop-opacity:1" /> + <stop + id="stop4705" + offset="1" + style="stop-color:#607480;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.993055,0,0.07848724)" + r="8.6400051" + fy="12.784631" + fx="149.26262" + cy="12.784631" + cx="149.26262" + id="radialGradient4729" + xlink:href="#linearGradient4727" /> + <linearGradient + id="linearGradient4727"> + <stop + id="stop4723" + offset="0" + style="stop-color:#3eb796;stop-opacity:1" /> + <stop + id="stop4725" + offset="1" + style="stop-color:#31a886;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79035186,0,0,0.79508811,-0.14216924,6.9389816e-4)" + r="9.6007004" + fy="12.037849" + fx="466.94476" + cy="12.037849" + cx="466.94476" + id="radialGradient5017" + xlink:href="#linearGradient5023" /> + <linearGradient + id="linearGradient5023"> + <stop + style="stop-color:#c6cdd2;stop-opacity:1" + offset="0" + id="stop5019" /> + <stop + style="stop-color:#9cabb4;stop-opacity:1" + offset="1" + id="stop5021" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87500048,0,1.3876528)" + r="9.5999947" + fy="13.746766" + fx="194.44176" + cy="13.746766" + cx="194.44176" + id="radialGradient4793" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87500002,0,1.3876579)" + r="9.6000004" + fy="11.101265" + fx="239.2" + cy="11.101265" + cx="239.2" + id="radialGradient4833" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79274533,0,0,0.78327978,-0.14435628,0.11758726)" + r="3.5288758" + fy="12.418613" + fx="242.0894" + cy="12.418613" + cx="242.0894" + id="radialGradient4841" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99992718,0,0.00247197)" + r="9.7507105" + fy="31.105829" + fx="466.39926" + cy="31.105829" + cx="466.39926" + id="radialGradient5031" + xlink:href="#linearGradient5037" /> + <linearGradient + id="linearGradient5037"> + <stop + style="stop-color:#e8e1a1;stop-opacity:1" + offset="0" + id="stop5033" /> + <stop + style="stop-color:#baad3e;stop-opacity:1" + offset="1" + id="stop5035" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.8160434,0,2.0506693)" + r="10.35937" + fy="16.56296" + fx="217.95329" + cy="16.56296" + cx="217.95329" + id="radialGradient4813" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.9969072,0,0.03528241)" + r="8.5577164" + fy="15.840806" + fx="262.79288" + cy="15.840806" + cx="262.79288" + id="radialGradient4861" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.53125" + fy="14.171478" + fx="286.58698" + cy="14.171478" + cx="286.58698" + id="radialGradient4881" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.4,0,-4.4901397)" + r="6.09375" + fy="14.457072" + fx="308.97141" + cy="14.457072" + cx="308.97141" + id="radialGradient4901" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.53125" + fy="13.119289" + fx="331.15933" + cy="13.119289" + cx="331.15933" + id="radialGradient4921" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79035186,0,0,0.15902921,-0.14216924,7.1987363)" + r="6.09375" + fy="11.316628" + fx="353.15076" + cy="11.316628" + cx="353.15076" + id="radialGradient4941" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="6.09375" + fy="11.407905" + fx="375.97003" + cy="11.407905" + cx="375.97003" + id="radialGradient4949" + xlink:href="#linearGradient4707" + gradientTransform="matrix(0.79035186,0,0,0.79514603,-0.14216924,3.8580698e-5)" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99701325,0,0.03407254)" + r="8.5350475" + fy="13.518586" + fx="400.5007" + cy="13.518586" + cx="400.5007" + id="radialGradient4957" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.357667,-0.02466618,0.02411975,1.3275908,-149.53429,5.1574131)" + r="8.53125" + fy="15.742972" + fx="417.02075" + cy="15.742972" + cx="417.02075" + id="radialGradient4977" + xlink:href="#linearGradient4975" /> + <linearGradient + id="linearGradient4975"> + <stop + id="stop4971" + offset="0" + style="stop-color:#f79729;stop-opacity:1" /> + <stop + id="stop4973" + offset="1" + style="stop-color:#d2831f;stop-opacity:1" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.71428563,0,3.2333231)" + r="8.53125" + fy="11.316628" + fx="444.33652" + cy="11.316628" + cx="444.33652" + id="radialGradient4997" + xlink:href="#linearGradient4707" /> + <radialGradient + r="7.9746099" + fy="9" + fx="134.97461" + cy="9" + cx="134.97461" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4710" + xlink:href="#linearGradient4747" /> + <linearGradient + id="linearGradient4747"> + <stop + id="stop4743" + offset="0" + style="stop-color:#c5b631;stop-opacity:1" /> + <stop + id="stop4745" + offset="1" + style="stop-color:#baad3e;stop-opacity:1" /> + </linearGradient> + <radialGradient + r="7.9746099" + fy="9.0947113" + fx="132.6468" + cy="9.0947113" + cx="132.6468" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4712" + xlink:href="#linearGradient5037" /> + <radialGradient + r="7.9746099" + fy="9" + fx="134.97461" + cy="9" + cx="134.97461" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4714" + xlink:href="#linearGradient4747" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,28.000001,0,-310.09784)" + r="0.31640625" + fy="11.485105" + fx="166.37157" + cy="11.485105" + cx="166.37157" + id="radialGradient4750" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0032611,0.11563445,22.233158)" + r="8.3726959" + fy="16.659737" + fx="125.30523" + cy="16.659737" + cx="125.30523" + id="radialGradient4709-1" + xlink:href="#linearGradient4832" /> + <linearGradient + id="linearGradient4832"> + <stop + style="stop-color:#22e23d;stop-opacity:1" + offset="0" + id="stop5029" /> + <stop + style="stop-color:#38a748;stop-opacity:1" + offset="1" + id="stop4830" /> + </linearGradient> + <filter + id="filter4883" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4873" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4875" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4877" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4879" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4881" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6673" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6675" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6677" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6679" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6681" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6683" + in2="offset" /> + </filter> + <filter + id="filter4895" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4885" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4887" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4889" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4891" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4893" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6685" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6687" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6689" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6691" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6693" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6695" + in2="offset" /> + </filter> + <filter + id="filter4907" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4897" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4899" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4901" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4903" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4905" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6697" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6699" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6701" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6703" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6705" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6707" + in2="offset" /> + </filter> + <filter + id="filter4919" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4909" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4911" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4913" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4915" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4917" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6709" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6711" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6713" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6715" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6717" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6719" + in2="offset" /> + </filter> + <filter + id="filter4931" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4921" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4923" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4925" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4927" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4929" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6721" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6723" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6725" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6727" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6729" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6731" + in2="offset" /> + </filter> + <filter + id="filter4943" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4933" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4935" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4937" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4939" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4941" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6733" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6735" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6737" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6739" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6741" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6743" + in2="offset" /> + </filter> + <filter + id="filter4955" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4945" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4947" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4949" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4951" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4953" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6745" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6747" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6749" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6751" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6753" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6755" + in2="offset" /> + </filter> + <filter + id="filter4967" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4957" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4959" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4961" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4963" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4965" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6757" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6759" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6761" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6763" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6765" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6767" + in2="offset" /> + </filter> + <filter + id="filter4979" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4969" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4971" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4973" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4975" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4977" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6769" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6771" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6773" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6775" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6777" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6779" + in2="offset" /> + </filter> + <filter + id="filter4991" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4981" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4983" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4985" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4987" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4989" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6781" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6783" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6785" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6787" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6789" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6791" + in2="offset" /> + </filter> + <filter + id="filter5003" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood4993" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite4995" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4997" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4999" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5001" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6793" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6795" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6797" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6799" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6801" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6803" + in2="offset" /> + </filter> + <filter + id="filter5015" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5005" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5007" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5009" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5011" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5013" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6805" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6807" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6809" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6811" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6813" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6815" + in2="offset" /> + </filter> + <filter + id="filter5027" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5017" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5019" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5021" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5023" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5025" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6817" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6819" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6821" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6823" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6825" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6827" + in2="offset" /> + </filter> + <filter + id="filter5039" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5029" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5031" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5033" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5035" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5037" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6829" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6831" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6833" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6835" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6837" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6839" + in2="offset" /> + </filter> + <filter + id="filter5051" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5041" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5043" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5045" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5047" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5049" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6841" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6843" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6845" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6847" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6849" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6851" + in2="offset" /> + </filter> + <filter + id="filter5063" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5053" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5055" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5057" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5059" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5061" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6853" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6855" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6857" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6859" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6861" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6863" + in2="offset" /> + </filter> + <filter + id="filter5075" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5065" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5067" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5069" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5071" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5073" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6865" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6867" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6869" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6871" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6873" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6875" + in2="offset" /> + </filter> + <filter + id="filter5087" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5077" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5079" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5081" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5083" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5085" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6877" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6879" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6881" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6883" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6885" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6887" + in2="offset" /> + </filter> + <filter + id="filter5099" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5089" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5091" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5093" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5095" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5097" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6889" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6891" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6893" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6895" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6897" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6899" + in2="offset" /> + </filter> + <filter + id="filter5111" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5101" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5103" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5105" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5107" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5109" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6901" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6903" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6905" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6907" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6909" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6911" + in2="offset" /> + </filter> + <filter + id="filter5123" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5113" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5115" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5117" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5119" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5121" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6913" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6915" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6917" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6919" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6921" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6923" + in2="offset" /> + </filter> + <filter + id="filter5135" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5125" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5127" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5129" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5131" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5133" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6925" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6927" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6929" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6931" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6933" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6935" + in2="offset" /> + </filter> + <filter + id="filter5147" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5137" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5139" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5141" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5143" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5145" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6937" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6939" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6941" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6943" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6945" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6947" + in2="offset" /> + </filter> + <filter + id="filter5159" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5149" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5151" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5153" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5155" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5157" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6949" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6951" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6953" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6955" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6957" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6959" + in2="offset" /> + </filter> + <filter + id="filter5171" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood5161" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite5163" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5165" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5167" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite5169" + result="fbSourceGraphic" + operator="atop" + in2="SourceGraphic" + in="offset" /> + <feColorMatrix + id="feColorMatrix6961" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(255,255,255)" + flood-opacity="1" + id="feFlood6963" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite6965" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="1" + in="composite1" + id="feGaussianBlur6967" /> + <feOffset + result="offset" + dy="0" + dx="2.77556e-017" + id="feOffset6969" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite6971" + in2="offset" /> + </filter> + </defs> + <g + id="layer1"> + <path + id="path4" + d="m 17.311578,13.702319 h -5.76 l 2.28,2.28 c 0.6,0.6 0.72,1.44 0.24,1.92 l -0.96,1.08 c -0.48,0.48 -1.32,0.36 -1.92,-0.24 l -6.4800001,-6.6 c -0.12,0 -0.36,-0.48 -0.48,-0.84 0,-0.359999 0.36,-0.719999 0.48,-0.839999 l 6.3600001,-6.48 c 0.6,-0.6000001 1.44,-0.7200001 1.92,-0.24 l 0.96,1.0799999 c 0.48,0.48 0.36,1.32 -0.24,1.9200001 l -2.16,2.1599999 h 5.76 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.399999 c 0,0.72 -0.48,1.2 -1.2,1.2 z" + style="display:inline;fill:url(#radialGradient4669);fill-opacity:1;stroke-width:1;filter:url(#filter4883)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 19.271765,37.987692 h -7.987059 l 3.607059,3.507571 c 0.515294,0.50108 0.644117,1.377974 0.257648,1.753785 l -1.545884,1.503245 C 13.217059,45.128104 12.315294,45.128104 11.8,44.501752 L 3.5552941,36.609718 c 0,0 -0.5152941,-0.626352 -0.5152941,-1.127434 0,-0.501081 0.5152941,-1.002163 0.5152941,-1.002163 L 11.8,26.462816 c 0.515294,-0.50108 1.417059,-0.626351 1.803529,-0.25054 l 1.545884,1.503245 c 0.386469,0.375811 0.386469,1.252704 -0.257648,1.753785 l -3.478236,3.50757 h 7.858236 c 0.772941,0 1.288236,0.501082 1.288236,1.252705 v 2.505407 c 0,0.751622 -0.515295,1.252704 -1.288236,1.252704 z" + id="path4154" + style="display:inline;fill:url(#radialGradient4637);fill-opacity:1;stroke-width:1;filter:url(#filter4895)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 26.86,12.501265 v -2.4 c 0,-0.7200003 0.48,-1.2000003 1.2,-1.2000003 h 5.76 L 31.66,6.7412646 c -0.6,-0.5999999 -0.72,-1.4399999 -0.24,-1.92 l 0.96,-1.08 c 0.48,-0.48 1.32,-0.36 1.92,0.24 l 6.36,6.4800004 c 0.12,0.12 0.48,0.48 0.48,0.84 0,0.36 -0.36,0.84 -0.48,0.84 l -6.48,6.48 c -0.6,0.6 -1.44,0.72 -1.92,0.24 l -0.96,-1.08 c -0.48,-0.48 -0.36,-1.32 0.24,-1.92 l 2.28,-2.16 h -5.76 c -0.72,0 -1.2,-0.48 -1.2,-1.2 z" + id="path4165" + style="display:inline;fill:url(#radialGradient4677);fill-opacity:1;stroke-width:1;filter:url(#filter4907)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 64.48,6.6012647 -5.039999,5.0400003 5.039999,5.04 -2.519999,2.52 -5.16,-4.92 -5.04,5.04 -2.52,-2.52 5.04,-5.16 -5.16,-5.0400003 2.52,-2.5200001 5.16,5.04 5.04,-5.04 z" + id="path4176" + style="display:inline;fill:url(#radialGradient4605);fill-opacity:1;stroke-width:1;filter:url(#filter4919)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 87.000001,11.301265 h -8.4 l 3.36,-3.3600004 c -0.84,-0.6 -1.68,-0.84 -2.76,-0.84 -2.64,0 -4.8,2.1600001 -4.8,4.8000004 0,2.64 2.16,4.8 4.8,4.8 1.68,0 3.24,-0.84 4.08,-2.28 l 2.76,1.2 c -1.32,2.4 -3.84,4.08 -6.84,4.08 -4.32,0 -7.8,-3.48 -7.8,-7.8 0,-4.3200004 3.48,-7.8000004 7.8,-7.8000004 1.8,0 3.48,0.6 4.92,1.6800001 l 2.88,-2.8800001 z" + id="path4187" + style="display:inline;fill:url(#radialGradient4525);fill-opacity:1;stroke-width:1;filter:url(#filter4931)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + id="path4209" + d="M 102.59961,2.7011715 93,11.101561 h 2.400391 l 1.242188,-0.03516 -0.04297,0.03516 v 8.400392 h 4.800781 v -6.000001 h 2.40039 v 6.000001 h 4.79884 v -8.400392 l -0.043,-0.03516 1.24415,0.03516 h 2.39843 z" + style="display:inline;fill:url(#radialGradient4529);fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1;filter:url(#filter4943)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 133.15407,12.421265 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 V 3.9012646 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.2000004 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z" + id="path4214" + style="display:inline;fill:url(#radialGradient4709);fill-opacity:1;stroke-width:1;filter:url(#filter4955)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 148,19.881265 c -4.8,0 -8.64,-3.84 -8.64,-8.64 0,-4.6800004 3.84,-8.5200004 8.64,-8.5200004 4.8,0 8.64001,3.84 8.64001,8.6400004 0,4.68 -3.84001,8.52 -8.64001,8.52 z m 0,-14.5200003 c -3.36,0 -6,2.6399999 -6,6.0000003 0,3.24 2.64,6 6,6 3.36,0 6.00001,-2.64 6.00001,-6 0,-3.3600004 -2.64001,-6.0000003 -6.00001,-6.0000003 z m -0.36,7.0800003 c -0.48,-0.12 -0.84,-0.6 -0.84,-1.08 V 7.7612646 c 0,-0.72 0.48,-1.2 1.2,-1.2 0.72,0 1.2,0.48 1.2,1.2 v 3.3600004 c 1.32,1.32 2.4,3.84 2.4,3.84 0,0 -2.64,-1.2 -3.96,-2.52 z" + id="path4225" + style="display:inline;fill:url(#radialGradient4729);fill-opacity:1;stroke-width:1;filter:url(#filter4967)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 369.00476,4.7878231 0.94842,1.9083504 0.47422,0.858758 0.94842,0.190835 2.18136,0.3816699 -1.61231,1.7175156 -0.6639,0.667923 0.0948,0.954175 0.37937,2.290022 -1.89685,-0.954178 -0.85358,-0.477086 -0.85358,0.477086 -1.89685,0.954178 0.37938,-2.290022 0.0948,-0.954175 -0.6639,-0.667923 -1.61232,-1.7175156 2.27622,-0.3816699 0.94842,-0.190835 0.37936,-0.858758 0.94843,-1.9083504 m 0,-3.4350309 c -0.28454,0 -0.56906,0.1908348 -0.75874,0.667922 l -1.89683,3.9121193 -4.07821,0.6679227 c -0.94842,0.190835 -1.13812,0.8587576 -0.47421,1.5266802 l 2.94011,3.1487776 -0.66391,4.389208 c -0.0948,0.572504 0.1897,0.954174 0.66391,0.954174 0.18967,0 0.37936,-0.09542 0.56905,-0.190835 l 3.69885,-2.003768 3.69884,2.003768 c 0.18969,0.09543 0.47421,0.190835 0.56906,0.190835 0.4742,0 0.75873,-0.38167 0.6639,-1.049592 l -0.6639,-4.389207 2.9401,-3.1487781 c 0.66391,-0.6679226 0.37938,-1.3358454 -0.4742,-1.5266803 L 371.66031,5.837416 369.76347,1.9252968 C 369.5738,1.543627 369.28926,1.3527922 369.00474,1.3527922 Z" + id="path4355" + style="display:inline;fill:url(#radialGradient5017);fill-opacity:1;stroke-width:0.79274529;filter:url(#filter4979)" /> + <path + d="m 202,17.101265 h -2.4 l 1.2,2.4 h -14.39999 l 1.2,-2.4 h -2.4 c -0.72,0 -1.2,-0.48 -1.2,-1.2 V 9.9012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 h 1.2 V 6.3012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 v -1.2 c 0,-0.72 0.48,-1.2 1.2,-1.2 H 198.4 c 0.72,0 1.2,0.48 1.2,1.2 v 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.3999999 h 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 6.0000003 c 0,0.72 -0.48,1.2 -1.2,1.2 z m -14.39999,0 0.6,-1.2 h -0.6 z m 0.6,-6 h -0.6 -0.6 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z M 198.4,5.1012646 c 0,-0.72 -0.48,-1.2 -1.2,-1.2 h -7.19999 c -0.72,0 -1.2,0.48 -1.2,1.2 v 3.6 c 0,0.7200001 0.48,1.2000001 1.2,1.2000001 H 197.2 c 0.72,0 1.2,-0.48 1.2,-1.2000001 z m -1.08,10.8000004 h -7.43999 l -1.08,2.4 H 198.4 Z m 2.28,0 H 199 l 0.6,1.2 z" + id="path4366" + style="display:inline;fill:url(#radialGradient4793);fill-opacity:1;stroke-width:1;filter:url(#filter4991)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 247,19.501265 h -15.6 c -0.96,0 -1.8,-0.84 -1.8,-1.8 V 4.5012646 c 0,-0.9599999 0.84,-1.8 1.8,-1.8 H 247 c 0.96,0 1.8,0.8400001 1.8,1.8 V 17.701265 c 0,0.96 -0.84,1.8 -1.8,1.8 z M 239.8,3.9012646 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 2.28,0 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.36,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 3.72,0 h -1.2 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 0.6,4.8 c 0,-0.72 -0.48,-1.1999999 -1.2,-1.1999999 h -12 c -0.72,0 -1.2,0.4799999 -1.2,1.1999999 v 7.2000004 c 0,0.72 0.48,1.2 1.2,1.2 h 12 c 0.72,0 1.2,-0.48 1.2,-1.2 z" + id="path4388" + style="display:inline;fill:url(#radialGradient4833);fill-opacity:1;stroke-width:1;filter:url(#filter5003)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <text + transform="scale(0.98484982,1.0153832)" + id="text4409" + y="12.608931" + x="188.06316" + style="font-style:normal;font-weight:normal;font-size:9.51294327px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:url(#radialGradient4841);fill-opacity:1;stroke:none;stroke-width:0.79274535px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter5015)" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.55116463px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient4841);fill-opacity:1;stroke-width:0.79274535px;" + y="12.608931" + x="188.06316" + id="tspan4411">+</tspan></text> + <path + style="display:inline;fill:url(#radialGradient5031);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5027)" + id="path6182" + d="m 467.25784,24.196945 c -0.36562,0 -0.73125,0.24375 -0.975,0.853125 l -2.4375,4.996876 -5.24062,0.853125 c -1.21875,0.24375 -1.4625,1.096875 -0.60938,1.95 l 3.77813,4.021875 -0.85313,5.60625 c -0.12181,0.73125 0.24375,1.21875 0.85313,1.21875 0.24375,0 0.4875,-0.121875 0.73125,-0.24375 l 4.75312,-2.559375 4.75313,2.559375 c 0.24375,0.121875 0.60937,0.24375 0.73125,0.24375 0.60937,0 0.975,-0.4875 0.85312,-1.340625 l -0.85312,-5.60625 3.77812,-4.021875 c 0.85313,-0.853125 0.4875,-1.70625 -0.60937,-1.95 l -5.24063,-0.853125 -2.4375,-4.996876 c -0.24375,-0.4875 -0.60937,-0.73125 -0.975,-0.73125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4813);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5039)" + id="path7318" + d="m 226.73438,15.945016 v 2.437501 c 0,0.673097 -0.54566,1.21875 -1.21875,1.21875 h -18.28124 c -0.67311,0 -1.21875,-0.545653 -1.21875,-1.21875 v -2.437501 c 0,-0.673097 0.54564,-1.21875 1.21875,-1.21875 h -1.04571 c 2.80313,0 2.36053,-3.256168 2.77368,-5.9703239 0.4278,-2.8226251 0.1927,-6.1069689 3.90598,-6.0616014 l 7.47091,0.091277 c 3.73276,0.045605 3.22143,3.1476992 3.65164,5.9703243 0.41438,2.715376 -0.20346,5.970324 2.60942,5.970324 h -1.08468 c 0.67309,0 1.21875,0.545653 1.21875,1.21875 z m -7.92188,-4.874999 h -1.82811 V 9.2418912 c 0,-0.8124995 -1.21875,-0.8124995 -1.21875,0 v 1.8281258 h -1.82814 c -0.8125,0 -0.8125,1.218749 0,1.218749 h 1.82814 v 1.828125 c 0,0.812501 1.21875,0.812501 1.21875,0 v -1.828125 h 1.82811 c 0.8125,0 0.8125,-1.218749 0,-1.218749 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4861);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5051)" + id="path7886" + d="m 269.02823,19.939154 c -0.975,0 -1.82813,-0.24375 -2.80313,-1.584375 -0.975,-1.340625 -2.07187,-3.046875 -2.07187,-3.046875 0,0 -0.85313,-1.096875 -1.34063,-1.95 -0.60937,-0.853125 -1.34062,-0.609375 -1.34062,-0.609375 0,0 -3.53438,-5.7281239 -4.14375,-6.581249 -0.73125,-1.21875 0.73125,-3.290625 0.73125,-3.290625 l 5.3625,8.531249 c 0,0 1.70625,2.315625 2.31562,2.803125 0.60938,0.4875 1.70625,-0.4875 3.4125,1.096875 2.31563,2.19375 1.58438,4.63125 -0.12181,4.63125 z m -0.36563,-3.534375 c -1.09687,-1.21875 -2.07187,-1.096875 -2.31562,-0.73125 -0.24375,0.365625 0,1.4625 0.4875,2.071875 0.4875,0.609375 0.975,0.853125 1.70625,0.853125 0.73125,0.121875 1.34062,-0.853125 0.1218,-2.19375 z m -4.63125,-5.728124 -1.4625,-2.19375 3.53438,-5.60625 c 0,0 1.4625,2.071875 0.73125,3.290625 -0.36563,0.4875001 -1.70625,2.803125 -2.80313,4.509375 z m -5.60625,3.534374 c 0.36563,-0.365625 1.21875,-1.340625 1.70625,-2.071875 l 0.975,1.4625 c -0.4875,0.73125 -1.09687,1.70625 -1.09687,1.70625 0,0 -1.09688,1.70625 -2.07188,3.046875 -0.85312,1.340625 -1.70625,1.584375 -2.80312,1.584375 -1.70625,0 -2.55938,-2.4375 -0.12181,-4.63125 1.70625,-1.4625 2.80312,-0.609375 3.4125,-1.096875 z m -2.925,2.19375 c -1.09687,1.21875 -0.4875,2.19375 0.24375,2.19375 0.73125,0 1.21875,-0.24375 1.70625,-0.853125 0.4875,-0.609375 0.73125,-1.828125 0.4875,-2.071875 -0.36562,-0.365625 -1.34062,-0.4875 -2.4375,0.73125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4881);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5063)" + id="path8454" + d="m 292.00552,19.7566 h -7.3125 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -3.656249 -3.16875 -2.9250003 c 0,-0.73125 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375003 2.4375,2.4375003 0,2.68125 0,8.531249 0,8.531249 0,0.73125 -0.4875,1.21875 -1.21875,1.21875 z m -2.4375,-10.9687493 v 2.4375003 h 2.4375 z m -7.3125,-1.3406249 v 1.3406249 2.3156253 3.778125 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 V 3.9128507 c 0,-0.7312499 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375 2.4375,2.4375 0,0.4875 0,0.9750001 0,1.5843751 h -3.04688 c -0.36562,0.121875 -0.60937,0.365625 -0.60937,0.73125 z m 0,-3.5343751 v 2.4375001 h 2.4375 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4901);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5075)" + id="path9022" + d="m 311.86917,19.7566 h -8.53125 c -0.97501,0 -1.82812,-0.853125 -1.82812,-1.828124 V 6.9597255 c 0,-0.9750001 0.85311,-1.8281251 1.82812,-1.8281251 h 1.82813 c 0,0 0,-2.4375 2.4375,-2.4375 2.4375,0 2.4375,2.4375 2.4375,2.4375 h 1.82812 c 0.975,0 1.82813,0.853125 1.82813,1.8281251 V 17.928476 c 0,0.974999 -0.85313,1.828124 -1.82813,1.828124 z m -0.97501,-13.4062496 -1.34061,-0.609375 c 0,0 0,-1.8281249 -1.95,-1.8281249 -1.95,0 -1.95,1.8281249 -1.95,1.8281249 l -1.34063,0.609375 -0.60937,1.2187501 h 3.04687 3.9 0.975 z m 0.12182,2.071875 h -5.72812 l -3.65625,2.0718756 3.4125,5.971875 8.04375,-4.63125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4921);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5087)" + id="path9590" + d="M 335.29779,14.881601 V 7.5691009 l 3.65625,3.6562501 z m -8.53125,1.21875 h 7.3125 l -3.65625,3.656249 z m 6.09375,-1.21875 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -4.875 c 0,-0.7312501 0.4875,-1.2187501 1.21875,-1.2187501 h 4.875 c 0.73125,0 1.21875,0.4875 1.21875,1.2187501 v 4.875 c 0,0.609375 -0.4875,1.21875 -1.21875,1.21875 z m 0,-3.65625 c 0,-0.73125 -0.4875,-1.21875 -1.21875,-1.21875 h -2.4375 c -0.73125,0 -1.21875,0.4875 -1.21875,1.21875 v 1.21875 c 0,0.73125 0.4875,1.21875 1.21875,1.21875 h 2.4375 c 0.73125,0 1.21875,-0.4875 1.21875,-1.21875 z m -2.4375,-8.5312501 3.65625,3.6562501 h -7.3125 z m -4.875,4.875 v 7.3125001 l -3.65625,-3.65625 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4941);fill-opacity:1;stroke-width:0.96615839;filter:url(#filter5099)" + id="path10158" + d="m 274.15498,8.0293266 h 9.6324 v 1.9381685 h -9.6324 z" /> + <path + style="display:inline;fill:url(#radialGradient4949);fill-opacity:1;stroke-width:0.96615839;filter:url(#filter5111)" + id="path10726" + d="m 301.82263,10.040073 h -3.85298 v 3.876338 h -1.92648 v -3.876338 h -3.85298 V 8.1019059 h 3.85298 V 4.2255681 h 1.92648 v 3.8763378 h 3.85298 z" /> + <path + style="display:inline;fill:url(#radialGradient4957);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5123)" + id="path11294" + d="m 407.09514,12.361211 c -0.12181,0.73125 -0.24375,1.4625 -0.4875,2.071875 -0.4875,1.584375 -1.4625,3.046875 -3.04686,4.021874 0.4875,0.4875 1.58436,1.096875 1.58436,1.096875 0,0 -2.4375,0.365625 -4.99686,0.365625 0,0 -0.12181,-0.121875 -0.12181,-0.121875 v 0.121875 c -1.21875,0 -2.4375,-0.365625 -3.65625,-0.73125 0.85311,-0.73125 1.4625,-1.584374 1.95,-2.559374 0.73125,-1.4625 0.73125,-3.65625 0.73125,-3.65625 0,0 1.09686,1.828125 1.70625,2.559375 1.4625,-0.73125 2.4375,-2.19375 2.55936,-3.65625 0.12181,-1.096875 -0.24375,-2.0718751 -0.73125,-2.8031251 -0.4875,-0.8531251 -1.21875,-1.3406251 -2.07186,-1.7062501 0.24375,-0.4874999 0.60936,-1.0968749 0.975,-1.584375 0.4875,-0.73125 1.09686,-1.21875 1.58436,-1.4625 2.55939,1.340625 4.3875,4.5093751 4.02189,8.0437502 z m -8.53125,-2.4375001 c 0,0 -1.34061,-1.8281251 -1.95,-2.4375001 -1.70625,0.853125 -2.68125,2.4375001 -2.68125,4.1437502 0.12181,1.828125 1.34064,3.290625 2.925,4.021875 -0.36561,0.609375 -0.73125,1.21875 -1.21875,1.70625 -0.4875,0.609375 -1.09686,0.974999 -1.4625,1.340624 -2.80311,-1.706249 -4.50936,-4.874999 -4.02186,-8.287499 0.1218,-0.8531251 0.36561,-1.7062502 0.60936,-2.4375002 0.4875,-1.3406249 1.34064,-2.4375 2.55939,-3.290625 0.1218,-0.121875 0.24375,-0.121875 0.36561,-0.24375 -0.4875,-0.4875 -1.95,-0.975 -1.95,-0.975 0,0 3.04689,-0.975 8.2875,-0.365625 -1.58436,2.315625 -1.4625,6.8250001 -1.4625,6.8250001 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4977);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5135)" + id="path11862" + d="m 429.01283,20.243326 h -1.82812 c -0.4875,0 -0.975,-0.365625 -0.975,-0.975 0,0 0.36562,-4.387501 -3.9,-8.775 -3.04688,-3.6562503 -8.53125,-3.9000003 -8.53125,-3.9000003 -0.60938,0 -0.975,-0.365625 -0.975,-0.8531249 V 4.0339507 c 0,-0.4875 0.36562,-0.853125 0.975,-0.853125 0,0 7.67812,0.4875 11.7,5.4843751 4.02187,3.7781242 4.3875,10.7250002 4.3875,10.7250002 0,0.4875 -0.24375,0.853125 -0.85313,0.853125 z M 413.77846,9.2745758 c 0,0 4.50937,0.609375 7.06875,2.9249992 2.55937,2.4375 3.04687,7.190626 3.04687,7.190626 0,0.4875 -0.12181,0.975 -0.60937,0.975 h -1.82813 c -0.4875,0 -0.73125,-0.365625 -0.73125,-0.975 0,0 0.12181,-2.925001 -2.19375,-5.118751 -1.82812,-1.584375 -4.75312,-1.70625 -4.75312,-1.70625 -0.60938,0 -0.975,-0.365625 -0.975,-0.853125 v -1.584374 c 0,-0.4875002 0.36562,-0.8531252 0.975,-0.8531252 z m 1.4625,6.0937492 c 1.34062,0 2.4375,1.096875 2.4375,2.4375 0,1.340626 -1.09688,2.437501 -2.4375,2.437501 -1.34063,0 -2.4375,-1.096875 -2.4375,-2.437501 0,-1.340625 1.09687,-2.4375 2.4375,-2.4375 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4997);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5147)" + id="path12430" + d="m 451.64901,16.435377 -3.65625,-3.290625 v 2.559375 c 0,0.975 -0.73125,1.70625 -1.58436,1.70625 h -9.01875 c -0.85314,0 -1.58439,-0.73125 -1.58439,-1.70625 V 6.9291285 c 0,-0.9750001 0.73125,-1.7062501 1.58439,-1.7062501 h 9.01875 c 0.85311,0 1.58436,0.73125 1.58436,1.7062501 v 2.437499 l 3.65625,-3.2906241 c 0.36564,-0.365625 0.73125,-0.4875 1.21875,-0.365625 V 16.801002 c -0.36561,0.121875 -0.85311,0 -1.21875,-0.365625 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <g + id="g4779" + style="display:inline;filter:url(#filter5159)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)"> + <path + style="fill:url(#radialGradient4710);fill-opacity:1;stroke-width:1.265625;" + d="M 165.73984,2.6257296 V 20.34448 h 9.42792 0.69708 2.46698 c 1.25518,-0.32709 2.23657,-1.314095 2.53125,-2.53125 v -2.53125 -7.5937504 -2.53125 c -0.29468,-1.2171559 -1.27607,-2.2041601 -2.53125,-2.53125 h -2.07148 -1.09258 z m 7.73958,3.0577697 1.33485,2.2420349 c 0,0 0.36967,0.6174141 0.65753,0.813263 0.26974,0.1834496 0.93438,0.2892151 0.93438,0.2892151 h 2.72901 l -1.89596,3.0800167 c 0,0 -0.27577,0.604831 -0.41281,0.907196 -0.20593,0.452534 0.006,1.243536 0.0742,1.982484 0.10732,1.162403 0.19033,2.286529 0.19033,2.286529 l -2.21484,-1.132141 c 0,0 -0.90763,-0.426918 -1.39416,-0.427644 -0.5721,0 -1.64383,0.496858 -1.64383,0.496858 l -2.2198,1.065398 c 0,0 0.16319,-1.013778 0.33866,-2.128325 0.11606,-0.733074 0.43611,-1.567458 0.17798,-2.071473 -0.13995,-0.274086 -0.42023,-0.820679 -0.42023,-0.820679 L 167.532,9.0996981 h 2.71169 c 0,0 0.88228,-0.06226 1.24339,-0.2892151 0.27408,-0.1711231 0.61056,-0.7539368 0.61056,-0.7539368 z" + id="bookmarks-star-4" /> + <path + style="fill:url(#radialGradient4712);fill-opacity:1;stroke:none;stroke-width:1.265625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;" + d="m 163.20859,2.6257296 c -1.25519,0.3270899 -2.23658,1.3140942 -2.53125,2.53125 v 2.53125 7.5937504 2.53125 c 0.29467,1.217155 1.27606,2.20416 2.53125,2.53125 h 3.16406 v -5.0625 -7.5937504 -5.0625 z" + id="bookmarks-overlay-1" /> + <path + style="opacity:0.66300001;fill:url(#radialGradient4714);fill-opacity:1;stroke:url(#radialGradient4750);stroke-width:0.6328125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;" + d="M 166.37156,2.6257296 V 20.34448" + id="bookmarks-divider-7" /> + </g> + <path + d="m 133.26971,34.690626 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 v -7.200001 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.200001 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z" + id="path4214-3" + style="display:inline;fill:url(#radialGradient4709-1);fill-opacity:1;stroke-width:1;filter:url(#filter5171)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + </g> +</svg> diff --git a/application/palemoon/themes/windows/Toolbar-inverted.png b/application/palemoon/themes/windows/Toolbar-inverted.png Binary files differdeleted file mode 100644 index 2c3253fe8..000000000 --- a/application/palemoon/themes/windows/Toolbar-inverted.png +++ /dev/null diff --git a/application/palemoon/themes/windows/Toolbar-inverted.svg b/application/palemoon/themes/windows/Toolbar-inverted.svg new file mode 100644 index 000000000..ce59313e6 --- /dev/null +++ b/application/palemoon/themes/windows/Toolbar-inverted.svg @@ -0,0 +1,302 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + enable-background="new 0 0 378 38" + viewBox="0 0 378 38" + height="38" + width="378" + y="0px" + x="0px" + id="strataToolbarSVG" + version="1.1"> + <metadata + id="metadata146"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs144"> + <filter + id="filter1070" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood1060" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite1062" + result="composite1" + operator="in" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur1064" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset1066" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite1068" + result="fbSourceGraphic" + operator="over" + in2="offset" + in="SourceGraphic" /> + <feColorMatrix + id="feColorMatrix1072" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" + id="feFlood1074" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite1076" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="0.5" + in="composite1" + id="feGaussianBlur1078" /> + <feOffset + result="offset" + dy="0" + dx="0" + id="feOffset1080" /> + <feComposite + result="fbSourceGraphic" + operator="over" + in="fbSourceGraphic" + id="feComposite1082" + in2="offset" /> + <feColorMatrix + id="feColorMatrix1084" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" + id="feFlood1086" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite1088" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="0.5" + in="composite1" + id="feGaussianBlur1090" /> + <feOffset + result="offset" + dy="0" + dx="0" + id="feOffset1092" /> + <feComposite + result="fbSourceGraphic" + operator="over" + in="fbSourceGraphic" + id="feComposite1094" + in2="offset" /> + <feColorMatrix + id="feColorMatrix1096" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" + id="feFlood1098" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite1100" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="0.5" + in="composite1" + id="feGaussianBlur1102" /> + <feOffset + result="offset" + dy="0" + dx="0" + id="feOffset1104" /> + <feComposite + result="fbSourceGraphic" + operator="over" + in="fbSourceGraphic" + id="feComposite1106" + in2="offset" /> + <feColorMatrix + id="feColorMatrix1108" + values="0 0 0 -1 0 0 0 0 -1 0 0 0 0 -1 0 0 0 0 1 0" + in="fbSourceGraphic" + result="fbSourceGraphicAlpha" /> + <feFlood + in="fbSourceGraphic" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" + id="feFlood1110" /> + <feComposite + result="composite1" + operator="in" + in="flood" + id="feComposite1112" + in2="fbSourceGraphic" /> + <feGaussianBlur + result="blur" + stdDeviation="0.5" + in="composite1" + id="feGaussianBlur1114" /> + <feOffset + result="offset" + dy="0" + dx="0" + id="feOffset1116" /> + <feComposite + result="composite2" + operator="over" + in="fbSourceGraphic" + id="feComposite1118" + in2="offset" /> + </filter> + </defs> + <g + style="fill:#ffffff;filter:url(#filter1070)" + id="toolbar"> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 14.7,10.7 C 14.464283,10.935746 14.000125,11 14.000125,11 H 9 l 2.132,2.085573 c 0.519423,0.508112 0.595,1.2729 0.198,1.6979 l -0.793,0.9549 c -0.396,0.424 -1.091,0.318 -1.587,-0.212 L 3.595,9.690773 3,8.946873 l 0.595,-0.743 5.256,-5.7295 c 0.496,-0.531 1.19,-0.637 1.587,-0.212 l 0.794,0.9549 c 0.396,0.425 0.297,1.1669 -0.198,1.6979 L 9,7 h 4.999875 c 0,0 0.464437,0.064342 0.700125,0.3 0.235717,0.2356875 0.299875,0.7 0.299875,0.7 l 2.5e-4,2 c 0,0 -0.06444,0.464283 -0.300125,0.7 z" + id="back" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="back-large" + d="m 16.441631,29.733331 c -0.275,0.275034 -0.816512,0.349996 -0.816512,0.349996 H 8.999927 l 2.487308,2.516543 c 0.595913,0.602917 0.694159,1.485034 0.230997,1.980862 l -0.925157,1.114039 C 10.33108,36.189432 9.5202547,36.065767 8.9415947,35.44744 L 2.6941594,28.639311 2,27.771437 2.6941594,26.904612 8.8260957,20.220265 c 0.57866,-0.619493 1.3883193,-0.743159 1.8514803,-0.24733 l 0.926324,1.114038 c 0.461995,0.495828 0.346497,1.361369 -0.230997,1.980863 l -2.37283,2.348836 h 6.6249 c 0,0 0.541837,0.07506 0.816804,0.349997 0.275,0.274966 0.34985,0.816658 0.34985,0.816658 l 1.46e-4,2.333346 c 0,0 -0.07518,0.541658 -0.350142,0.816658 z" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="forward" + d="m 21.30025,10.7 c 0.235717,0.235746 0.699875,0.3 0.699875,0.3 h 5.000125 l -2.132,2.085573 c -0.519423,0.508112 -0.595,1.2729 -0.198,1.6979 l 0.793,0.9549 c 0.396,0.424 1.091,0.318 1.587,-0.212 l 5.355,-5.8356 0.595,-0.7439 -0.595,-0.743 -5.256,-5.7295 c -0.496,-0.531 -1.19,-0.637 -1.587,-0.212 l -0.794,0.9549 c -0.396,0.425 -0.297,1.1669 0.198,1.6979 L 27.00025,7 h -4.999875 c 0,0 -0.464437,0.064342 -0.700125,0.3 C 21.064533,7.5356875 21.000375,8 21.000375,8 l -2.5e-4,2 c 0,0 0.06444,0.464283 0.300125,0.7 z" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 51.5,4.64955 47.233834,8.949625 51.5,13.248616 49.366916,15.398166 45,11.201008 40.733834,15.5 38.60075,13.35045 42.866916,8.9485416 38.5,4.64955 40.633084,2.5 45,6.800075 49.266166,2.5 Z" + id="stop" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 69,9 H 62 L 64.8,6.2 C 64.1,5.7 63.4,5.5 62.5,5.5 c -2.2,0 -4,1.8 -4,4 0,2.2 1.8,4 4,4 1.399,0 2.7,-0.7 3.399,-1.9 l 2.301,1 C 67.099,14.6 65,16 62.5,16 58.899,16 56,13.1 56,9.5 56,5.9 58.899,3 62.5,3 64,3 65.399,3.5 66.6,4.4 L 69,2 Z" + id="reload" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 76,9 h -3 l 8,-7 8,7 h -3 v 6.5 H 82 V 12 h -2 v 3.5 h -4 z" + id="home" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 91.5,9 h 4.453 V 2 h 6.093 V 9 H 106.5 L 99,16 Z" + id="download" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 117,2 c -3.866,0 -7,3.134 -7,7 0,3.866 3.134,7 7,7 3.866,0 7,-3.134 7,-7 0,-3.866 -3.134,-7 -7,-7 z m 0,2 c 2.761,0 5,2.238 5,5 0,2.762 -2.239,5 -5,5 -2.762,0 -5,-2.238 -5,-5 0,-2.762 2.239,-5 5,-5 z m -0.7,1.2 C 116.0643,5.4357023 116,6 116,6 v 4 l 4,2 -2,-3 V 6 C 118,6 117.9357,5.4357023 117.7,5.2 117.4643,4.9642977 117,5 117,5 c 0,0 -0.4643,-0.035702 -0.7,0.2 z" + id="history" /> + <g + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="bookmarks"> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 131,2 v 14 h 7.44922 0.55078 1.94922 c 0.99175,-0.258441 1.76717,-1.038297 2,-2 V 12 6 4 c -0.23283,-0.9617034 -1.00825,-1.7415586 -2,-2 h -1.63672 -0.86328 z m 6.11523,2.4160156 1.05469,1.7714844 c 0,0 0.29209,0.4878333 0.51953,0.6425781 0.21313,0.1449479 0.73828,0.2285157 0.73828,0.2285157 h 2.15625 l -1.49804,2.4335937 c 0,0 -0.21789,0.4778906 -0.32617,0.7167965 -0.16271,0.357558 0.005,0.982547 0.0586,1.566407 0.0848,0.918442 0.15039,1.80664 0.15039,1.80664 l -1.75,-0.894531 c 0,0 -0.71714,-0.337318 -1.10156,-0.337891 -0.45203,0 -1.29883,0.392579 -1.29883,0.392579 l -1.75391,0.841796 c 0,0 0.12894,-0.80101 0.26758,-1.68164 0.0917,-0.579219 0.34458,-1.238485 0.14063,-1.636719 -0.11058,-0.216562 -0.33204,-0.6484375 -0.33204,-0.6484375 l -1.7246,-2.5019531 h 2.14257 c 0,0 0.69711,-0.049193 0.98243,-0.2285156 0.21656,-0.1352084 0.48242,-0.5957032 0.48242,-0.5957032 z" + id="bookmarks-star" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 129,2 c -0.99175,0.2584414 -1.76717,1.0382967 -2,2 v 2 6 2 c 0.23283,0.961703 1.00825,1.741559 2,2 h 2.5 V 12 6 2 Z" + id="bookmarks-overlay" /> + <path + style="stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 131.49914,2 V 16" + id="bookmarks-divider" /> + </g> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 160,14 h -2 l 1,2 h -12 l 1,-2 h -2 c -0.601,0 -1,-0.4 -1,-1 V 8 c 0,-0.6 0.70113,-0.635443 1,-1 0.38098,-0.4647208 0.61902,-1.0352792 1,-1.5 0.29887,-0.364557 0.399,-1 1,-1 V 3 c 0,-0.6 0.399,-1 1,-1 h 8 c 0.6,0 1,0.4 1,1 v 1.5 c 0.6,0 0.70113,0.635443 1,1 0.38098,0.4647208 0.61902,1.0352792 1,1.5 0.29887,0.364557 1,0.4 1,1 v 5 c 0,0.6 -0.4,1 -1,1 z M 148.5,9 h -0.5 -0.5 c -0.3,0 -0.5,0.2 -0.5,0.5 0,0.3 0.2,0.5 0.5,0.5 h 1 C 148.8,10 149,9.8 149,9.5 149,9.2 148.8,9 148.5,9 Z M 157,4 c 0,-0.6 -0.4,-1 -1,-1 h -6 c -0.601,0 -1,0.4 -1,1 v 3 c 0,0.6 0.399,1 1,1 h 6 c 0.6,0 1,-0.4 1,-1 z m -0.9,9 h -6.2 l -0.899,2 h 8 z" + id="print" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="newtab" + d="m 170.93359,2 -4.01562,0.00195 c 0,0.00178 -0.87681,0.216686 -0.87695,1.4980469 v 2.8164062 c 0,0 -0.0732,0.3643751 -0.19922,0.484375 C 165.69982,6.9357812 165.29102,7 165.29102,7 c 0,0 -0.53242,-0.057 -0.7754,0 -0.36297,0.086 -0.73599,0.236 -1,0.5 -0.26399,0.264 -0.41502,0.637 -0.5,1 -0.038,0.162 0,0.5 0,0.5 v 5.537109 c 0,0 0.24003,0.710891 0.5,0.962891 0.27398,0.267 1.03516,0.5 1.03516,0.5 h 13.0957 c 0,0 0.60287,-0.276 0.83985,-0.5 0.21699,-0.205 0.49023,-0.742188 0.49023,-0.742188 V 9 c 0.026,-0.322 0.038,-0.338 0,-0.5 -0.086,-0.363 -0.22624,-0.736 -0.49023,-1 -0.26398,-0.264 -0.63802,-0.415 -1,-0.5 -0.22799,-0.054 -0.69922,0 -0.69922,0 0,0 -0.44657,-0.056219 -0.60156,-0.1992188 -0.12799,-0.1189999 -0.19922,-0.484375 -0.19922,-0.484375 L 175.98828,3.5 C 175.98843,2.1047456 174.9707,2 174.9707,2 Z m -0.79101,5 h 1.71484 V 9.1425781 H 174 v 1.7148439 h -2.14258 V 13 h -1.71484 V 10.857422 H 168 V 9.1425781 h 2.14258 z" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="newwindow" + d="M 182.4375,2 C 181.52354,2.2781435 181.28553,2.8114358 181,3.6875 V 14.125 c 0.21642,1.330001 0.75257,1.636052 2.0625,1.875 H 195 c 1.30474,-0.204204 1.70477,-0.57308 2,-1.875 V 4 C 196.8019,2.7723315 196.4998,2.3703399 195.3125,2 Z M 190,3 h 1 v 1 h -1 z m 2,0 h 1 v 1 h -1 z m 2,0 h 2 v 1 h -2 z m -11,3 h 12 v 8 h -12 z m 5.14258,1 V 9.1425781 H 186 v 1.7148439 h 2.14258 V 13 h 1.71484 V 10.857422 H 192 V 9.1425781 h -2.14258 V 7 Z" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 212.70159,16 c -0.79707,0 -1.49513,-0.2 -2.2922,-1.3 -0.79807,-1.1 -1.69515,-2.5 -1.69515,-2.5 0,0 -0.69706,-0.9 -1.09709,-1.6 -0.49805,-0.7 -1.0971,-0.5 -1.0971,-0.5 0,0 -2.89125,-4.7 -3.3903,-5.4 -0.59805,-1 0.59906,-2.7 0.59906,-2.7 l 4.38738,7 c 0,0 1.39612,1.9 1.89417,2.3 0.49904,0.4 1.39612,-0.4 2.79224,0.9 1.89417,1.8 1.29611,3.8 -0.10101,3.8 z m -0.29802,-2.9 c -0.89708,-1 -1.69415,-0.9 -1.89417,-0.6 -0.20002,0.3 0,1.2 0.39804,1.7 0.39803,0.5 0.79806,0.7 1.39612,0.7 0.59905,0.1 1.09709,-0.7 0.10001,-1.8 z m -3.78934,-4.7 -1.1961,-1.8 2.89125,-4.6 c 0,0 1.19611,1.7 0.59906,2.7 -0.29903,0.4 -1.39613,2.3 -2.29421,3.7 z m -4.5854,2.899 c 0.29903,-0.3 0.99709,-1.1 1.39613,-1.7 l 0.79806,1.2 c -0.39803,0.6 -0.89707,1.4 -0.89707,1.4 0,0 -0.89608,1.4 -1.69415,2.5 -0.69806,1.1 -1.39612,1.3 -2.2932,1.3 -1.39613,0 -2.09419,-2 -0.10001,-3.8 1.39412,-1.199 2.2912,-0.499 2.79024,-0.9 z m -2.39321,1.801 c -0.89708,1 -0.39803,1.8 0.19902,1.8 0.59905,0 0.99709,-0.2 1.39612,-0.7 0.39804,-0.5 0.59806,-1.5 0.39804,-1.7 -0.29803,-0.3 -1.0961,-0.4 -1.99318,0.6 z" + id="cut" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 231,16 h -6 c -0.601,0 -1,-0.4 -1,-1 V 12 9.4 7 c 0,-0.6 0.399,-1 1,-1 0,0 3.2,0 5,0 l 2,2 c 0,2.2 0,7 0,7 0,0.6 -0.4,1 -1,1 z m -2,-9 v 2 h 2 z M 223,5.9 V 7 8.9 12 h -4 c -0.601,0 -1,-0.4 -1,-1 V 3 c 0,-0.6 0.399,-1 1,-1 0,0 3.2,0 5,0 l 2,2 c 0,0.4 0,0.8 0,1.3 h -2.5 C 223.2,5.4 223,5.6 223,5.9 Z M 223,3 v 2 h 2 z" + id="copy" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 246.8507,16 h -7.7014 C 238.26914,16 237.5,15.3 237.5,14.5 v -9 c 0,-0.8 0.77014,-1.5 1.6493,-1.5 h 1.6503 c 0,0 0,-2 2.2004,-2 2.2004,0 2.2004,2 2.2004,2 h 1.6493 c 0.88016,0 1.6503,0.7 1.6503,1.5 v 9 c 0.001,0.799 -0.76914,1.5 -1.6493,1.5 z M 245.97054,5 244.76032,4.5 c 0,0 0,-1.5 -1.76032,-1.5 -1.76032,0 -1.76032,1.5 -1.76032,1.5 l -1.21122,0.5 -0.5501,1 h 2.7505 3.52164 0.88016 z m 0.11002,1.7 h -5.17094 l -3.3016,1.7 3.08056,4.9 7.26232,-3.8 z" + id="paste" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 265,12 V 6 l 3,3 z m -7,1 h 6 l -3,3 z m 0,-1 V 6 h 6 v 6 z m 5,-4 h -4 v 3 h 4 z m -2,-6 3,3 h -6 z m -4,4 v 6 l -3,-3 z" + id="fullscreen" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 274,8 h 10 v 2 h -10 z" + id="minus" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 302,10 h -4 v 4 h -2 v -4 h -4 V 8 h 4 V 4 h 2 v 4 h 4 z" + id="plus" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 321.96164,9.3589991 c -0.0996,0.5880529 -0.19907,1.1749739 -0.39904,1.6649929 -0.39904,1.272996 -2.49721,3.230982 -2.49721,3.230982 l 1.23012,1.745023 -4.92726,6e-6 V 9.849 c 0,0 0.89889,1.46799 1.39795,2.05599 1.19912,-0.588025 1.99814,-1.762997 2.09818,-2.9380158 0.10109,-0.8810027 -0.19905,-1.6639894 -0.59902,-2.2510039 -0.18813,-0.3229439 -0.42109,-0.5799624 -0.68685,-0.7931908 -0.30005,-0.23897 -1.01208,-0.5779774 -1.01208,-0.5779774 l 0.0174,-3.3306603 c 1.03186,0.2680556 1.4999,0.3864246 2.85781,1.3686643 1.67715,1.2509803 2.78224,3.5019854 2.52022,5.9759989 z m -6.99262,-1.9580198 c 0,0 -1.09884,-1.4681946 -1.59912,-1.9580122 -1.39809,0.6859994 -2.19718,1.957993 -2.19714,3.3290059 0.39151,1.955025 1.15486,2.878079 2.87049,3.728027 V 16 c -1.14823,-0.14515 -2.89657,-1.144129 -3.76062,-2.017966 -1.64214,-1.695027 -2.56324,-3.735 -2.20626,-6.1889776 0.1,-0.6850241 0.30006,-1.3699914 0.49903,-1.9580159 0.40011,-1.0769929 1.10011,-1.957978 2.09921,-2.6429982 0.0997,-0.098323 0.199,-0.098023 0.29929,-0.1955973 -0.39905,-0.3919885 -1.2861,-0.9964444 -1.2861,-0.9964444 l 5.35545,-1.3e-6 z" + id="sync" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 339.29905,15.9 h -1.49989 c -0.39997,0 -0.79995,-0.3 -0.79995,-0.8 0,0 0.29998,-3.6 -3.19977,-7.2 -2.49982,-3 -6.9995,-3.2 -6.9995,-3.2 C 326.29998,4.7 326,4.4 326,4 V 2.6 c 0,-0.4 0.29998,-0.7 0.79994,-0.7 0,0 6.29955,0.4 9.59932,4.5 3.29976,3.1 3.60074,8.8 3.60074,8.8 -10e-4,0.4 -0.20099,0.7 -0.70095,0.7 z m -12.49911,-9 c 0,0 3.69974,0.5 5.79959,2.4 2.09985,2 2.49982,5.9 2.49982,5.9 0,0.4 -0.1,0.8 -0.49996,0.8 h -1.4999 c -0.39997,0 -0.59995,-0.3 -0.59995,-0.8 0,0 0.1,-2.4 -1.80088,-4.2 C 329.19877,9.7 326.79994,9.6 326.79994,9.6 326.29998,9.6 326,9.3 326,8.9 V 7.6 c 0,-0.4 0.29998,-0.7 0.79994,-0.7 z m 1.19992,5 c 1.09992,0 1.99985,0.9 1.99985,2 0,1.1 -0.89993,2 -1.99985,2 C 326.89894,15.9 326,15 326,13.9 c 0,-1.1 0.89994,-2 1.99986,-2 z" + id="rss" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="m 344.5,5 c 0,0 0.0643,-0.4642977 0.3,-0.7 0.2357,-0.2357023 0.7,-0.3 0.7,-0.3 h 7.5 c 0,0 0.4643,0.064298 0.7,0.3 0.2357,0.2357023 0.3,0.7 0.3,0.7 v 2 l 4.0245,-3 -0.049,10 L 354,11 v 2 c 0,0 -0.0643,0.464298 -0.3,0.7 -0.2357,0.235702 -0.7,0.3 -0.7,0.3 h -7.5 c 0,0 -0.4643,-0.0643 -0.7,-0.3 -0.2357,-0.235702 -0.3,-0.7 -0.3,-0.7 z" + id="webrtc" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="bookmark-none" + d="m 369.20312,1 -1.9082,3.2734375 c 0,0 -0.46184,0.8030625 -0.83984,1.0390625 -0.498,0.313 -1.71875,0.3984375 -1.71875,0.3984375 H 361 l 3.00781,4.3652345 c 0,0 0.38708,0.754812 0.58008,1.132812 0.356,0.6951 -0.0841,1.844469 -0.24414,2.855469 -0.242,1.5371 -0.4668,2.935547 -0.4668,2.935547 l 3.06055,-1.466797 c 0,0 1.47663,-0.685547 2.26562,-0.685547 0.671,10e-4 1.92579,0.587891 1.92579,0.587891 l 3.05273,1.5625 c 0,0 -0.11177,-1.549244 -0.25976,-3.152344 -0.093,-1.0191 -0.38752,-2.112228 -0.10352,-2.736328 0.189,-0.417 0.56836,-1.2519531 0.56836,-1.2519531 L 377,5.6113281 h -3.76172 c 0,0 -0.91706,-0.1454375 -1.28906,-0.3984375 -0.397,-0.2701 -0.90625,-1.1210937 -0.90625,-1.1210937 z m -0.0762,3 1.15039,1.9316406 c 0,0 0.31633,0.5323647 0.56446,0.7011719 0.23249,0.1581201 0.80664,0.25 0.80664,0.25 H 374 l -1.63281,2.6542969 c 0,0 -0.23929,0.5206326 -0.35742,0.7812496 -0.17749,0.39005 0.008,1.074021 0.0664,1.710938 C 372.16866,13.031203 372.23828,14 372.23828,14 l -1.9082,-0.978516 c 0,0 -0.78376,-0.366562 -1.20313,-0.367187 -0.4931,0 -1.41601,0.429687 -1.41601,0.429687 L 365.79883,14 c 0,0 0.13977,-0.873327 0.29101,-1.833984 0.1,-0.631855 0.37484,-1.350734 0.15235,-1.785157 -0.12063,-0.236243 -0.36133,-0.708984 -0.36133,-0.708984 L 364,6.9453125 h 2.33594 c 0,0 0.76298,-0.054381 1.07422,-0.25 0.23624,-0.1474953 0.52343,-0.6484375 0.52343,-0.6484375 z" /> + <path + style="stroke:none;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="bookmark-added" + d="m 369.202,19 -1.908,3.2732 c 0,0 -0.461,0.8031 -0.839,1.0391 -0.498,0.313 -1.718,0.399 -1.718,0.399 H 361 l 3.008,4.3643 c 0,0 0.387,0.755 0.58,1.133 0.356,0.6951 -0.084,1.8452 -0.244,2.8562 C 364.102,33.6019 363.877,35 363.877,35 l 3.06,-1.4671 c 0,0 1.477,-0.686 2.266,-0.686 0.671,0.001 1.925,0.588 1.925,0.588 l 3.053,1.5641 c 0,0 -0.112,-1.5501 -0.26,-3.1532 -0.093,-1.0191 -0.388,-2.1121 -0.104,-2.7362 0.189,-0.417 0.57,-1.252 0.57,-1.252 L 377,23.6123 h -3.763 c 0,0 -0.917,-0.146 -1.289,-0.399 -0.397,-0.2701 -0.906,-1.1221 -0.906,-1.1221 z" /> + </g> +</svg> diff --git a/application/palemoon/themes/windows/Toolbar.png b/application/palemoon/themes/windows/Toolbar.png Binary files differdeleted file mode 100644 index 3d1b80ec7..000000000 --- a/application/palemoon/themes/windows/Toolbar.png +++ /dev/null diff --git a/application/palemoon/themes/windows/Toolbar.svg b/application/palemoon/themes/windows/Toolbar.svg new file mode 100644 index 000000000..314e020fb --- /dev/null +++ b/application/palemoon/themes/windows/Toolbar.svg @@ -0,0 +1,1357 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" + enable-background="new 0 0 378 38" + viewBox="0 0 378 38" + height="38" + width="378" + y="0px" + x="0px" + id="PaleMoonToolbarSVG" + version="1.1"> + <metadata + id="metadata146"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <defs + id="defs144"> + <radialGradient + cy="0.69999999" + id="globalGradient"> + <stop + style="stop-color:#87939b;stop-opacity:1" + id="stop4" + offset="0.05" /> + <stop + style="stop-color:#45555f;stop-opacity:1" + id="stop6" + offset="1" /> + </radialGradient> + <filter + id="insetShadow"> + <feFlood + id="feFlood1875" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite1877" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur1879" + result="blur" + stdDeviation="2" + in="composite1" /> + <feOffset + id="feOffset1881" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite1883" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <filter + id="filter2164" + style="color-interpolation-filters:sRGB;"> + <feFlood + id="feFlood2154" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="1" /> + <feComposite + id="feComposite2156" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur2158" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset2160" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite2162" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + cy="12.21416" + id="globalGradient-8" + gradientTransform="matrix(1.0350983,0,0,0.96609178,0,18)" + cx="95.643087" + fx="95.643087" + fy="12.21416" + r="7.2456884" + gradientUnits="userSpaceOnUse"> + <stop + style="stop-color:#12d92d;stop-opacity:1" + id="stop4-5" + offset="0.05" /> + <stop + style="stop-color:#01b222;stop-opacity:1" + id="stop6-5" + offset="1" /> + </radialGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.1087088,0,-1.2351844)" + r="7.1399999" + fy="14.778796" + fx="10.529827" + cy="14.778796" + cx="10.529827" + id="radialGradient4669" + xlink:href="#linearGradient4635" /> + <linearGradient + id="linearGradient4635"> + <stop + id="stop4631" + offset="0" + style="stop-color:#6198cb;stop-opacity:1" /> + <stop + id="stop4633" + offset="1" + style="stop-color:#3a78b2;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4701" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4691" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4693" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4695" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4697" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4699" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0853313,0,-3.029369)" + r="8.7600002" + fy="38.79744" + fx="11.063469" + cy="38.79744" + cx="11.063469" + id="radialGradient4637" + xlink:href="#linearGradient4635" /> + <filter + id="filter4661" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4651" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4653" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4655" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4657" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4659" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.1003056,0,-1.1335797)" + r="7.1399999" + fy="14.552581" + fx="34.841751" + cy="14.552581" + cx="34.841751" + id="radialGradient4677" + xlink:href="#linearGradient4635" /> + <filter + id="filter4689" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4679" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4681" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4683" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4685" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4687" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99218759,0,0.09141507)" + r="7.6799994" + fy="12.761739" + fx="58.062626" + cy="12.761739" + cx="58.062626" + id="radialGradient4605" + xlink:href="#linearGradient4603" /> + <linearGradient + id="linearGradient4603"> + <stop + id="stop4599" + offset="0" + style="stop-color:#e72b1d;stop-opacity:1" /> + <stop + id="stop4601" + offset="1" + style="stop-color:#cc4338;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4629" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4619" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4621" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4623" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4625" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4627" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0769231,0,-0.86932835)" + r="7.8000002" + fy="13.939252" + fx="79.305222" + cy="13.939252" + cx="79.305222" + id="radialGradient4525" + xlink:href="#linearGradient4523-3" /> + <linearGradient + id="linearGradient4523-3"> + <stop + id="stop4519" + offset="0" + style="stop-color:#4fb55d;stop-opacity:1" /> + <stop + id="stop4521" + offset="1" + style="stop-color:#2d8539;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4597" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4587" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4589" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4591" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4593" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4595" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87507716,0,1.3868386)" + r="9.5995998" + fy="12.664675" + fx="103.23091" + cy="12.664675" + cx="103.23091" + id="radialGradient4529" + xlink:href="#linearGradient4527" /> + <linearGradient + id="linearGradient4527"> + <stop + id="stop4523" + offset="0" + style="stop-color:#3f6bbd;stop-opacity:1" /> + <stop + id="stop4525" + offset="1" + style="stop-color:#29467b;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4783" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4773" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4775" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4777" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4779" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4781" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0032611,0,-0.03620244)" + r="8.3726959" + fy="16.659737" + fx="125.30523" + cy="16.659737" + cx="125.30523" + id="radialGradient4709" + xlink:href="#linearGradient4707" /> + <linearGradient + id="linearGradient4707"> + <stop + id="stop4703" + offset="0" + style="stop-color:#8c9ba5;stop-opacity:1" /> + <stop + id="stop4705" + offset="1" + style="stop-color:#607480;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4721" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4711" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4713" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4715" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4717" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4719" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.993055,0,0.07848724)" + r="8.6400051" + fy="12.784631" + fx="149.26262" + cy="12.784631" + cx="149.26262" + id="radialGradient4729" + xlink:href="#linearGradient4727" /> + <linearGradient + id="linearGradient4727"> + <stop + id="stop4723" + offset="0" + style="stop-color:#3eb796;stop-opacity:1" /> + <stop + id="stop4725" + offset="1" + style="stop-color:#31a886;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4741" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4731" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4733" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4735" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4737" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4739" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79035186,0,0,0.79508811,-0.14216924,6.9389816e-4)" + r="9.6007004" + fy="12.037849" + fx="466.94476" + cy="12.037849" + cx="466.94476" + id="radialGradient5017" + xlink:href="#linearGradient5023" /> + <linearGradient + id="linearGradient5023"> + <stop + style="stop-color:#c6cdd2;stop-opacity:1" + offset="0" + id="stop5019" /> + <stop + style="stop-color:#9cabb4;stop-opacity:1" + offset="1" + id="stop5021" /> + </linearGradient> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87500048,0,1.3876528)" + r="9.5999947" + fy="13.746766" + fx="194.44176" + cy="13.746766" + cx="194.44176" + id="radialGradient4793" + xlink:href="#linearGradient4707" /> + <filter + id="filter4805" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4795" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4797" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4799" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4801" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4803" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.87500002,0,1.3876579)" + r="9.6000004" + fy="11.101265" + fx="239.2" + cy="11.101265" + cx="239.2" + id="radialGradient4833" + xlink:href="#linearGradient4707" /> + <filter + id="filter4853" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4843" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4845" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4847" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4849" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4851" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79274533,0,0,0.78327978,-0.14435628,0.11758726)" + r="3.5288758" + fy="12.418613" + fx="242.0894" + cy="12.418613" + cx="242.0894" + id="radialGradient4841" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.9880597,0,0.14828194)" + r="3.5288758" + fy="12.418613" + fx="242.0894" + cy="12.418613" + cx="242.0894" + id="radialGradient4858" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99992718,0,0.00247197)" + r="9.7507105" + fy="31.105829" + fx="466.39926" + cy="31.105829" + cx="466.39926" + id="radialGradient5031" + xlink:href="#linearGradient5037" /> + <linearGradient + id="linearGradient5037"> + <stop + style="stop-color:#e8e1a1;stop-opacity:1" + offset="0" + id="stop5033" /> + <stop + style="stop-color:#baad3e;stop-opacity:1" + offset="1" + id="stop5035" /> + </linearGradient> + <filter + id="filter5049" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood5039" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite5041" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5043" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5045" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite5047" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.8160434,0,2.0506693)" + r="10.35937" + fy="16.56296" + fx="217.95329" + cy="16.56296" + cx="217.95329" + id="radialGradient4813" + xlink:href="#linearGradient4707" /> + <filter + id="filter4825" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4815" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4817" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4819" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4821" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4823" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.9969072,0,0.03528241)" + r="8.5577164" + fy="15.840806" + fx="262.79288" + cy="15.840806" + cx="262.79288" + id="radialGradient4861" + xlink:href="#linearGradient4707" /> + <filter + id="filter4873" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4863" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4865" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4867" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4869" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4871" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.53125" + fy="14.171478" + fx="286.58698" + cy="14.171478" + cx="286.58698" + id="radialGradient4881" + xlink:href="#linearGradient4707" /> + <filter + id="filter4893" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4883" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4885" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4887" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4889" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4891" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.4,0,-4.4901397)" + r="6.09375" + fy="14.457072" + fx="308.97141" + cy="14.457072" + cx="308.97141" + id="radialGradient4901" + xlink:href="#linearGradient4707" /> + <filter + id="filter4913" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4903" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4905" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4907" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4909" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4911" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + r="8.53125" + fy="13.119289" + fx="331.15933" + cy="13.119289" + cx="331.15933" + id="radialGradient4921" + xlink:href="#linearGradient4707" /> + <filter + id="filter4933" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4923" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4925" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4927" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4929" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4931" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(0.79035186,0,0,0.15902921,-0.14216924,7.1987363)" + r="6.09375" + fy="11.316628" + fx="353.15076" + cy="11.316628" + cx="353.15076" + id="radialGradient4941" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + r="6.09375" + fy="11.407905" + fx="375.97003" + cy="11.407905" + cx="375.97003" + id="radialGradient4949" + xlink:href="#linearGradient4707" + gradientTransform="matrix(0.79035186,0,0,0.79514603,-0.14216924,3.8580698e-5)" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.99701325,0,0.03407254)" + r="8.5350475" + fy="13.518586" + fx="400.5007" + cy="13.518586" + cx="400.5007" + id="radialGradient4957" + xlink:href="#linearGradient4707" /> + <filter + id="filter4969" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4959" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4961" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4963" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4965" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4967" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1.357667,-0.02466618,0.02411975,1.3275908,-149.53429,5.1574131)" + r="8.53125" + fy="15.742972" + fx="417.02075" + cy="15.742972" + cx="417.02075" + id="radialGradient4977" + xlink:href="#linearGradient4975" /> + <linearGradient + id="linearGradient4975"> + <stop + id="stop4971" + offset="0" + style="stop-color:#f79729;stop-opacity:1" /> + <stop + id="stop4973" + offset="1" + style="stop-color:#d2831f;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4989" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4979" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4981" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4983" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4985" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite4987" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,0.71428563,0,3.2333231)" + r="8.53125" + fy="11.316628" + fx="444.33652" + cy="11.316628" + cx="444.33652" + id="radialGradient4997" + xlink:href="#linearGradient4707" /> + <filter + id="filter5009" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4999" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite5001" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur5003" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset5005" + result="offset" + dy="0" + dx="0" /> + <feComposite + id="feComposite5007" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + r="7.9746099" + fy="9" + fx="134.97461" + cy="9" + cx="134.97461" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4710" + xlink:href="#linearGradient4747" /> + <linearGradient + id="linearGradient4747"> + <stop + id="stop4743" + offset="0" + style="stop-color:#c5b631;stop-opacity:1" /> + <stop + id="stop4745" + offset="1" + style="stop-color:#baad3e;stop-opacity:1" /> + </linearGradient> + <filter + id="filter4729" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4719" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4721" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4723" + result="blur" + stdDeviation="1" + in="composite1" /> + <feOffset + id="feOffset4725" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4727" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + r="7.9746099" + fy="9.0947113" + fx="132.6468" + cy="9.0947113" + cx="132.6468" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4712" + xlink:href="#linearGradient5037" /> + <filter + id="filter4774" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4764" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4766" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4768" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4770" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4772" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + <radialGradient + r="7.9746099" + fy="9" + fx="134.97461" + cy="9" + cx="134.97461" + gradientTransform="matrix(1.265625,0,0,1.1109477,-0.05703897,1.4865748)" + gradientUnits="userSpaceOnUse" + id="radialGradient4714" + xlink:href="#linearGradient4747" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,28.000001,0,-310.09784)" + r="0.31640625" + fy="11.485105" + fx="166.37157" + cy="11.485105" + cx="166.37157" + id="radialGradient4750" + xlink:href="#linearGradient4707" /> + <radialGradient + gradientUnits="userSpaceOnUse" + gradientTransform="matrix(1,0,0,1.0032611,0.11563445,22.233158)" + r="8.3726959" + fy="16.659737" + fx="125.30523" + cy="16.659737" + cx="125.30523" + id="radialGradient4709-1" + xlink:href="#linearGradient4832" /> + <linearGradient + id="linearGradient4832"> + <stop + style="stop-color:#22e23d;stop-opacity:1" + offset="0" + id="stop5029" /> + <stop + style="stop-color:#38a748;stop-opacity:1" + offset="1" + id="stop4830" /> + </linearGradient> + <filter + id="filter4844" + style="color-interpolation-filters:sRGB"> + <feFlood + id="feFlood4834" + result="flood" + flood-color="rgb(0,0,0)" + flood-opacity="0.498039" /> + <feComposite + id="feComposite4836" + result="composite1" + operator="out" + in2="SourceGraphic" + in="flood" /> + <feGaussianBlur + id="feGaussianBlur4838" + result="blur" + stdDeviation="0.5" + in="composite1" /> + <feOffset + id="feOffset4840" + result="offset" + dy="0" + dx="2.77556e-017" /> + <feComposite + id="feComposite4842" + result="composite2" + operator="atop" + in2="SourceGraphic" + in="offset" /> + </filter> + </defs> + <g + id="layer1"> + <path + id="path4" + d="m 17.311578,13.702319 h -5.76 l 2.28,2.28 c 0.6,0.6 0.72,1.44 0.24,1.92 l -0.96,1.08 c -0.48,0.48 -1.32,0.36 -1.92,-0.24 l -6.4800001,-6.6 c -0.12,0 -0.36,-0.48 -0.48,-0.84 0,-0.359999 0.36,-0.719999 0.48,-0.839999 l 6.3600001,-6.48 c 0.6,-0.6000001 1.44,-0.7200001 1.92,-0.24 l 0.96,1.0799999 c 0.48,0.48 0.36,1.32 -0.24,1.9200001 l -2.16,2.1599999 h 5.76 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.399999 c 0,0.72 -0.48,1.2 -1.2,1.2 z" + style="display:inline;fill:url(#radialGradient4669);fill-opacity:1;stroke-width:1;filter:url(#filter4701)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 19.271765,37.987692 h -7.987059 l 3.607059,3.507571 c 0.515294,0.50108 0.644117,1.377974 0.257648,1.753785 l -1.545884,1.503245 C 13.217059,45.128104 12.315294,45.128104 11.8,44.501752 L 3.5552941,36.609718 c 0,0 -0.5152941,-0.626352 -0.5152941,-1.127434 0,-0.501081 0.5152941,-1.002163 0.5152941,-1.002163 L 11.8,26.462816 c 0.515294,-0.50108 1.417059,-0.626351 1.803529,-0.25054 l 1.545884,1.503245 c 0.386469,0.375811 0.386469,1.252704 -0.257648,1.753785 l -3.478236,3.50757 h 7.858236 c 0.772941,0 1.288236,0.501082 1.288236,1.252705 v 2.505407 c 0,0.751622 -0.515295,1.252704 -1.288236,1.252704 z" + id="path4154" + style="display:inline;fill:url(#radialGradient4637);fill-opacity:1;stroke-width:1;filter:url(#filter4661)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 26.86,12.501265 v -2.4 c 0,-0.7200003 0.48,-1.2000003 1.2,-1.2000003 h 5.76 L 31.66,6.7412646 c -0.6,-0.5999999 -0.72,-1.4399999 -0.24,-1.92 l 0.96,-1.08 c 0.48,-0.48 1.32,-0.36 1.92,0.24 l 6.36,6.4800004 c 0.12,0.12 0.48,0.48 0.48,0.84 0,0.36 -0.36,0.84 -0.48,0.84 l -6.48,6.48 c -0.6,0.6 -1.44,0.72 -1.92,0.24 l -0.96,-1.08 c -0.48,-0.48 -0.36,-1.32 0.24,-1.92 l 2.28,-2.16 h -5.76 c -0.72,0 -1.2,-0.48 -1.2,-1.2 z" + id="path4165" + style="display:inline;fill:url(#radialGradient4677);fill-opacity:1;stroke-width:1;filter:url(#filter4689)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 64.48,6.6012647 -5.039999,5.0400003 5.039999,5.04 -2.519999,2.52 -5.16,-4.92 -5.04,5.04 -2.52,-2.52 5.04,-5.16 -5.16,-5.0400003 2.52,-2.5200001 5.16,5.04 5.04,-5.04 z" + id="path4176" + style="display:inline;fill:url(#radialGradient4605);fill-opacity:1;stroke-width:1;filter:url(#filter4629)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 87.000001,11.301265 h -8.4 l 3.36,-3.3600004 c -0.84,-0.6 -1.68,-0.84 -2.76,-0.84 -2.64,0 -4.8,2.1600001 -4.8,4.8000004 0,2.64 2.16,4.8 4.8,4.8 1.68,0 3.24,-0.84 4.08,-2.28 l 2.76,1.2 c -1.32,2.4 -3.84,4.08 -6.84,4.08 -4.32,0 -7.8,-3.48 -7.8,-7.8 0,-4.3200004 3.48,-7.8000004 7.8,-7.8000004 1.8,0 3.48,0.6 4.92,1.6800001 l 2.88,-2.8800001 z" + id="path4187" + style="display:inline;fill:url(#radialGradient4525);fill-opacity:1;stroke-width:1;filter:url(#filter4597)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + id="path4209" + d="M 102.59961,2.7011715 93,11.101561 h 2.400391 l 1.242188,-0.03516 -0.04297,0.03516 v 8.400392 h 4.800781 v -6.000001 h 2.40039 v 6.000001 h 4.79884 v -8.400392 l -0.043,-0.03516 1.24415,0.03516 h 2.39843 z" + style="display:inline;fill:url(#radialGradient4529);fill-opacity:1;stroke:none;stroke-width:1;stroke-opacity:1;filter:url(#filter4783)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 133.15407,12.421265 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 V 3.9012646 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.2000004 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z" + id="path4214" + style="display:inline;fill:url(#radialGradient4709);fill-opacity:1;stroke-width:1;filter:url(#filter4721)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 148,19.881265 c -4.8,0 -8.64,-3.84 -8.64,-8.64 0,-4.6800004 3.84,-8.5200004 8.64,-8.5200004 4.8,0 8.64001,3.84 8.64001,8.6400004 0,4.68 -3.84001,8.52 -8.64001,8.52 z m 0,-14.5200003 c -3.36,0 -6,2.6399999 -6,6.0000003 0,3.24 2.64,6 6,6 3.36,0 6.00001,-2.64 6.00001,-6 0,-3.3600004 -2.64001,-6.0000003 -6.00001,-6.0000003 z m -0.36,7.0800003 c -0.48,-0.12 -0.84,-0.6 -0.84,-1.08 V 7.7612646 c 0,-0.72 0.48,-1.2 1.2,-1.2 0.72,0 1.2,0.48 1.2,1.2 v 3.3600004 c 1.32,1.32 2.4,3.84 2.4,3.84 0,0 -2.64,-1.2 -3.96,-2.52 z" + id="path4225" + style="display:inline;fill:url(#radialGradient4729);fill-opacity:1;stroke-width:1;filter:url(#filter4741)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 369.00476,4.7878231 0.94842,1.9083504 0.47422,0.858758 0.94842,0.190835 2.18136,0.3816699 -1.61231,1.7175156 -0.6639,0.667923 0.0948,0.954175 0.37937,2.290022 -1.89685,-0.954178 -0.85358,-0.477086 -0.85358,0.477086 -1.89685,0.954178 0.37938,-2.290022 0.0948,-0.954175 -0.6639,-0.667923 -1.61232,-1.7175156 2.27622,-0.3816699 0.94842,-0.190835 0.37936,-0.858758 0.94843,-1.9083504 m 0,-3.4350309 c -0.28454,0 -0.56906,0.1908348 -0.75874,0.667922 l -1.89683,3.9121193 -4.07821,0.6679227 c -0.94842,0.190835 -1.13812,0.8587576 -0.47421,1.5266802 l 2.94011,3.1487776 -0.66391,4.389208 c -0.0948,0.572504 0.1897,0.954174 0.66391,0.954174 0.18967,0 0.37936,-0.09542 0.56905,-0.190835 l 3.69885,-2.003768 3.69884,2.003768 c 0.18969,0.09543 0.47421,0.190835 0.56906,0.190835 0.4742,0 0.75873,-0.38167 0.6639,-1.049592 l -0.6639,-4.389207 2.9401,-3.1487781 c 0.66391,-0.6679226 0.37938,-1.3358454 -0.4742,-1.5266803 L 371.66031,5.837416 369.76347,1.9252968 C 369.5738,1.543627 369.28926,1.3527922 369.00474,1.3527922 Z" + id="path4355" + style="display:inline;fill:url(#radialGradient5017);fill-opacity:1;stroke-width:0.79274529" /> + <path + d="m 202,17.101265 h -2.4 l 1.2,2.4 h -14.39999 l 1.2,-2.4 h -2.4 c -0.72,0 -1.2,-0.48 -1.2,-1.2 V 9.9012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 h 1.2 V 6.3012647 c 0,-0.7200001 0.48,-1.2000001 1.2,-1.2000001 v -1.2 c 0,-0.72 0.48,-1.2 1.2,-1.2 H 198.4 c 0.72,0 1.2,0.48 1.2,1.2 v 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 2.3999999 h 1.2 c 0.72,0 1.2,0.48 1.2,1.2000001 v 6.0000003 c 0,0.72 -0.48,1.2 -1.2,1.2 z m -14.39999,0 0.6,-1.2 h -0.6 z m 0.6,-6 h -0.6 -0.6 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z M 198.4,5.1012646 c 0,-0.72 -0.48,-1.2 -1.2,-1.2 h -7.19999 c -0.72,0 -1.2,0.48 -1.2,1.2 v 3.6 c 0,0.7200001 0.48,1.2000001 1.2,1.2000001 H 197.2 c 0.72,0 1.2,-0.48 1.2,-1.2000001 z m -1.08,10.8000004 h -7.43999 l -1.08,2.4 H 198.4 Z m 2.28,0 H 199 l 0.6,1.2 z" + id="path4366" + style="display:inline;fill:url(#radialGradient4793);fill-opacity:1;stroke-width:1;filter:url(#filter4805)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + d="m 247,19.501265 h -15.6 c -0.96,0 -1.8,-0.84 -1.8,-1.8 V 4.5012646 c 0,-0.9599999 0.84,-1.8 1.8,-1.8 H 247 c 0.96,0 1.8,0.8400001 1.8,1.8 V 17.701265 c 0,0.96 -0.84,1.8 -1.8,1.8 z M 239.8,3.9012646 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 2.28,0 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.36,0.6 0.6,0.6 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 3.72,0 h -1.2 c -0.36,0 -0.6,0.24 -0.6,0.6 0,0.36 0.24,0.6 0.6,0.6 h 1.2 c 0.36,0 0.6,-0.24 0.6,-0.6 0,-0.36 -0.24,-0.6 -0.6,-0.6 z m 0.6,4.8 c 0,-0.72 -0.48,-1.1999999 -1.2,-1.1999999 h -12 c -0.72,0 -1.2,0.4799999 -1.2,1.1999999 v 7.2000004 c 0,0.72 0.48,1.2 1.2,1.2 h 12 c 0.72,0 1.2,-0.48 1.2,-1.2 z" + id="path4388" + style="display:inline;fill:url(#radialGradient4833);fill-opacity:1;stroke-width:1;filter:url(#filter4853)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <text + transform="scale(0.98484982,1.0153832)" + id="text4409" + y="12.608931" + x="188.06316" + style="font-style:normal;font-weight:normal;font-size:9.51294327px;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;display:inline;fill:url(#radialGradient4841);fill-opacity:1;stroke:none;stroke-width:0.79274535px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:8.55116463px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Bold';text-align:start;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient4841);fill-opacity:1;stroke-width:0.79274535px" + y="12.608931" + x="188.06316" + id="tspan4411">+</tspan></text> + <path + style="display:inline;fill:url(#radialGradient5031);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5049)" + id="path6182" + d="m 467.25784,24.196945 c -0.36562,0 -0.73125,0.24375 -0.975,0.853125 l -2.4375,4.996876 -5.24062,0.853125 c -1.21875,0.24375 -1.4625,1.096875 -0.60938,1.95 l 3.77813,4.021875 -0.85313,5.60625 c -0.12181,0.73125 0.24375,1.21875 0.85313,1.21875 0.24375,0 0.4875,-0.121875 0.73125,-0.24375 l 4.75312,-2.559375 4.75313,2.559375 c 0.24375,0.121875 0.60937,0.24375 0.73125,0.24375 0.60937,0 0.975,-0.4875 0.85312,-1.340625 l -0.85312,-5.60625 3.77812,-4.021875 c 0.85313,-0.853125 0.4875,-1.70625 -0.60937,-1.95 l -5.24063,-0.853125 -2.4375,-4.996876 c -0.24375,-0.4875 -0.60937,-0.73125 -0.975,-0.73125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4813);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4825)" + id="path7318" + d="m 226.73438,15.945016 v 2.437501 c 0,0.673097 -0.54566,1.21875 -1.21875,1.21875 h -18.28124 c -0.67311,0 -1.21875,-0.545653 -1.21875,-1.21875 v -2.437501 c 0,-0.673097 0.54564,-1.21875 1.21875,-1.21875 h -1.04571 c 2.80313,0 2.36053,-3.256168 2.77368,-5.9703239 0.4278,-2.8226251 0.1927,-6.1069689 3.90598,-6.0616014 l 7.47091,0.091277 c 3.73276,0.045605 3.22143,3.1476992 3.65164,5.9703243 0.41438,2.715376 -0.20346,5.970324 2.60942,5.970324 h -1.08468 c 0.67309,0 1.21875,0.545653 1.21875,1.21875 z m -7.92188,-4.874999 h -1.82811 V 9.2418912 c 0,-0.8124995 -1.21875,-0.8124995 -1.21875,0 v 1.8281258 h -1.82814 c -0.8125,0 -0.8125,1.218749 0,1.218749 h 1.82814 v 1.828125 c 0,0.812501 1.21875,0.812501 1.21875,0 v -1.828125 h 1.82811 c 0.8125,0 0.8125,-1.218749 0,-1.218749 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4861);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4873)" + id="path7886" + d="m 269.02823,19.939154 c -0.975,0 -1.82813,-0.24375 -2.80313,-1.584375 -0.975,-1.340625 -2.07187,-3.046875 -2.07187,-3.046875 0,0 -0.85313,-1.096875 -1.34063,-1.95 -0.60937,-0.853125 -1.34062,-0.609375 -1.34062,-0.609375 0,0 -3.53438,-5.7281239 -4.14375,-6.581249 -0.73125,-1.21875 0.73125,-3.290625 0.73125,-3.290625 l 5.3625,8.531249 c 0,0 1.70625,2.315625 2.31562,2.803125 0.60938,0.4875 1.70625,-0.4875 3.4125,1.096875 2.31563,2.19375 1.58438,4.63125 -0.12181,4.63125 z m -0.36563,-3.534375 c -1.09687,-1.21875 -2.07187,-1.096875 -2.31562,-0.73125 -0.24375,0.365625 0,1.4625 0.4875,2.071875 0.4875,0.609375 0.975,0.853125 1.70625,0.853125 0.73125,0.121875 1.34062,-0.853125 0.1218,-2.19375 z m -4.63125,-5.728124 -1.4625,-2.19375 3.53438,-5.60625 c 0,0 1.4625,2.071875 0.73125,3.290625 -0.36563,0.4875001 -1.70625,2.803125 -2.80313,4.509375 z m -5.60625,3.534374 c 0.36563,-0.365625 1.21875,-1.340625 1.70625,-2.071875 l 0.975,1.4625 c -0.4875,0.73125 -1.09687,1.70625 -1.09687,1.70625 0,0 -1.09688,1.70625 -2.07188,3.046875 -0.85312,1.340625 -1.70625,1.584375 -2.80312,1.584375 -1.70625,0 -2.55938,-2.4375 -0.12181,-4.63125 1.70625,-1.4625 2.80312,-0.609375 3.4125,-1.096875 z m -2.925,2.19375 c -1.09687,1.21875 -0.4875,2.19375 0.24375,2.19375 0.73125,0 1.21875,-0.24375 1.70625,-0.853125 0.4875,-0.609375 0.73125,-1.828125 0.4875,-2.071875 -0.36562,-0.365625 -1.34062,-0.4875 -2.4375,0.73125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4881);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4893)" + id="path8454" + d="m 292.00552,19.7566 h -7.3125 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -3.656249 -3.16875 -2.9250003 c 0,-0.73125 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375003 2.4375,2.4375003 0,2.68125 0,8.531249 0,8.531249 0,0.73125 -0.4875,1.21875 -1.21875,1.21875 z m -2.4375,-10.9687493 v 2.4375003 h 2.4375 z m -7.3125,-1.3406249 v 1.3406249 2.3156253 3.778125 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 V 3.9128507 c 0,-0.7312499 0.4875,-1.21875 1.21875,-1.21875 0,0 3.9,0 6.09375,0 0,0 2.4375,2.4375 2.4375,2.4375 0,0.4875 0,0.9750001 0,1.5843751 h -3.04688 c -0.36562,0.121875 -0.60937,0.365625 -0.60937,0.73125 z m 0,-3.5343751 v 2.4375001 h 2.4375 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4901);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4913)" + id="path9022" + d="m 311.86917,19.7566 h -8.53125 c -0.97501,0 -1.82812,-0.853125 -1.82812,-1.828124 V 6.9597255 c 0,-0.9750001 0.85311,-1.8281251 1.82812,-1.8281251 h 1.82813 c 0,0 0,-2.4375 2.4375,-2.4375 2.4375,0 2.4375,2.4375 2.4375,2.4375 h 1.82812 c 0.975,0 1.82813,0.853125 1.82813,1.8281251 V 17.928476 c 0,0.974999 -0.85313,1.828124 -1.82813,1.828124 z m -0.97501,-13.4062496 -1.34061,-0.609375 c 0,0 0,-1.8281249 -1.95,-1.8281249 -1.95,0 -1.95,1.8281249 -1.95,1.8281249 l -1.34063,0.609375 -0.60937,1.2187501 h 3.04687 3.9 0.975 z m 0.12182,2.071875 h -5.72812 l -3.65625,2.0718756 3.4125,5.971875 8.04375,-4.63125 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4921);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4933)" + id="path9590" + d="M 335.29779,14.881601 V 7.5691009 l 3.65625,3.6562501 z m -8.53125,1.21875 h 7.3125 l -3.65625,3.656249 z m 6.09375,-1.21875 h -4.875 c -0.73125,0 -1.21875,-0.4875 -1.21875,-1.21875 v -4.875 c 0,-0.7312501 0.4875,-1.2187501 1.21875,-1.2187501 h 4.875 c 0.73125,0 1.21875,0.4875 1.21875,1.2187501 v 4.875 c 0,0.609375 -0.4875,1.21875 -1.21875,1.21875 z m 0,-3.65625 c 0,-0.73125 -0.4875,-1.21875 -1.21875,-1.21875 h -2.4375 c -0.73125,0 -1.21875,0.4875 -1.21875,1.21875 v 1.21875 c 0,0.73125 0.4875,1.21875 1.21875,1.21875 h 2.4375 c 0.73125,0 1.21875,-0.4875 1.21875,-1.21875 z m -2.4375,-8.5312501 3.65625,3.6562501 h -7.3125 z m -4.875,4.875 v 7.3125001 l -3.65625,-3.65625 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4941);fill-opacity:1;stroke-width:0.96615839" + id="path10158" + d="m 274.15498,8.0293266 h 9.6324 v 1.9381685 h -9.6324 z" /> + <path + style="display:inline;fill:url(#radialGradient4949);fill-opacity:1;stroke-width:0.96615839" + id="path10726" + d="m 301.82263,10.040073 h -3.85298 v 3.876338 h -1.92648 v -3.876338 h -3.85298 V 8.1019059 h 3.85298 V 4.2255681 h 1.92648 v 3.8763378 h 3.85298 z" /> + <path + style="display:inline;fill:url(#radialGradient4957);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4969)" + id="path11294" + d="m 407.09514,12.361211 c -0.12181,0.73125 -0.24375,1.4625 -0.4875,2.071875 -0.4875,1.584375 -1.4625,3.046875 -3.04686,4.021874 0.4875,0.4875 1.58436,1.096875 1.58436,1.096875 0,0 -2.4375,0.365625 -4.99686,0.365625 0,0 -0.12181,-0.121875 -0.12181,-0.121875 v 0.121875 c -1.21875,0 -2.4375,-0.365625 -3.65625,-0.73125 0.85311,-0.73125 1.4625,-1.584374 1.95,-2.559374 0.73125,-1.4625 0.73125,-3.65625 0.73125,-3.65625 0,0 1.09686,1.828125 1.70625,2.559375 1.4625,-0.73125 2.4375,-2.19375 2.55936,-3.65625 0.12181,-1.096875 -0.24375,-2.0718751 -0.73125,-2.8031251 -0.4875,-0.8531251 -1.21875,-1.3406251 -2.07186,-1.7062501 0.24375,-0.4874999 0.60936,-1.0968749 0.975,-1.584375 0.4875,-0.73125 1.09686,-1.21875 1.58436,-1.4625 2.55939,1.340625 4.3875,4.5093751 4.02189,8.0437502 z m -8.53125,-2.4375001 c 0,0 -1.34061,-1.8281251 -1.95,-2.4375001 -1.70625,0.853125 -2.68125,2.4375001 -2.68125,4.1437502 0.12181,1.828125 1.34064,3.290625 2.925,4.021875 -0.36561,0.609375 -0.73125,1.21875 -1.21875,1.70625 -0.4875,0.609375 -1.09686,0.974999 -1.4625,1.340624 -2.80311,-1.706249 -4.50936,-4.874999 -4.02186,-8.287499 0.1218,-0.8531251 0.36561,-1.7062502 0.60936,-2.4375002 0.4875,-1.3406249 1.34064,-2.4375 2.55939,-3.290625 0.1218,-0.121875 0.24375,-0.121875 0.36561,-0.24375 -0.4875,-0.4875 -1.95,-0.975 -1.95,-0.975 0,0 3.04689,-0.975 8.2875,-0.365625 -1.58436,2.315625 -1.4625,6.8250001 -1.4625,6.8250001 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4977);fill-opacity:1;stroke-width:1.21875;filter:url(#filter4989)" + id="path11862" + d="m 429.01283,20.243326 h -1.82812 c -0.4875,0 -0.975,-0.365625 -0.975,-0.975 0,0 0.36562,-4.387501 -3.9,-8.775 -3.04688,-3.6562503 -8.53125,-3.9000003 -8.53125,-3.9000003 -0.60938,0 -0.975,-0.365625 -0.975,-0.8531249 V 4.0339507 c 0,-0.4875 0.36562,-0.853125 0.975,-0.853125 0,0 7.67812,0.4875 11.7,5.4843751 4.02187,3.7781242 4.3875,10.7250002 4.3875,10.7250002 0,0.4875 -0.24375,0.853125 -0.85313,0.853125 z M 413.77846,9.2745758 c 0,0 4.50937,0.609375 7.06875,2.9249992 2.55937,2.4375 3.04687,7.190626 3.04687,7.190626 0,0.4875 -0.12181,0.975 -0.60937,0.975 h -1.82813 c -0.4875,0 -0.73125,-0.365625 -0.73125,-0.975 0,0 0.12181,-2.925001 -2.19375,-5.118751 -1.82812,-1.584375 -4.75312,-1.70625 -4.75312,-1.70625 -0.60938,0 -0.975,-0.365625 -0.975,-0.853125 v -1.584374 c 0,-0.4875002 0.36562,-0.8531252 0.975,-0.8531252 z m 1.4625,6.0937492 c 1.34062,0 2.4375,1.096875 2.4375,2.4375 0,1.340626 -1.09688,2.437501 -2.4375,2.437501 -1.34063,0 -2.4375,-1.096875 -2.4375,-2.437501 0,-1.340625 1.09687,-2.4375 2.4375,-2.4375 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <path + style="display:inline;fill:url(#radialGradient4997);fill-opacity:1;stroke-width:1.21875;filter:url(#filter5009)" + id="path12430" + d="m 451.64901,16.435377 -3.65625,-3.290625 v 2.559375 c 0,0.975 -0.73125,1.70625 -1.58436,1.70625 h -9.01875 c -0.85314,0 -1.58439,-0.73125 -1.58439,-1.70625 V 6.9291285 c 0,-0.9750001 0.73125,-1.7062501 1.58439,-1.7062501 h 9.01875 c 0.85311,0 1.58436,0.73125 1.58436,1.7062501 v 2.437499 l 3.65625,-3.2906241 c 0.36564,-0.365625 0.73125,-0.4875 1.21875,-0.365625 V 16.801002 c -0.36561,0.121875 -0.85311,0 -1.21875,-0.365625 z" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + <g + id="g4779" + style="display:inline" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)"> + <path + style="fill:url(#radialGradient4710);fill-opacity:1;stroke-width:1.265625;filter:url(#filter4729)" + d="M 165.73984,2.6257296 V 20.34448 h 9.42792 0.69708 2.46698 c 1.25518,-0.32709 2.23657,-1.314095 2.53125,-2.53125 v -2.53125 -7.5937504 -2.53125 c -0.29468,-1.2171559 -1.27607,-2.2041601 -2.53125,-2.53125 h -2.07148 -1.09258 z m 7.73958,3.0577697 1.33485,2.2420349 c 0,0 0.36967,0.6174141 0.65753,0.813263 0.26974,0.1834496 0.93438,0.2892151 0.93438,0.2892151 h 2.72901 l -1.89596,3.0800167 c 0,0 -0.27577,0.604831 -0.41281,0.907196 -0.20593,0.452534 0.006,1.243536 0.0742,1.982484 0.10732,1.162403 0.19033,2.286529 0.19033,2.286529 l -2.21484,-1.132141 c 0,0 -0.90763,-0.426918 -1.39416,-0.427644 -0.5721,0 -1.64383,0.496858 -1.64383,0.496858 l -2.2198,1.065398 c 0,0 0.16319,-1.013778 0.33866,-2.128325 0.11606,-0.733074 0.43611,-1.567458 0.17798,-2.071473 -0.13995,-0.274086 -0.42023,-0.820679 -0.42023,-0.820679 L 167.532,9.0996981 h 2.71169 c 0,0 0.88228,-0.06226 1.24339,-0.2892151 0.27408,-0.1711231 0.61056,-0.7539368 0.61056,-0.7539368 z" + id="bookmarks-star-4" /> + <path + style="fill:url(#radialGradient4712);fill-opacity:1;stroke:none;stroke-width:1.265625;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers stroke fill;filter:url(#filter4774)" + d="m 163.20859,2.6257296 c -1.25519,0.3270899 -2.23658,1.3140942 -2.53125,2.53125 v 2.53125 7.5937504 2.53125 c 0.29467,1.217155 1.27606,2.20416 2.53125,2.53125 h 3.16406 v -5.0625 -7.5937504 -5.0625 z" + id="bookmarks-overlay-1" /> + <path + style="opacity:0.66300001;fill:url(#radialGradient4714);fill-opacity:1;stroke:url(#radialGradient4750);stroke-width:0.6328125;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 166.37156,2.6257296 V 20.34448" + id="bookmarks-divider-7" /> + </g> + <path + d="m 133.26971,34.690626 -6.72001,6.6 c -0.24,0.36 -0.72,0.48 -1.2,0.48 -0.48,0 -0.96,-0.12 -1.32,-0.48 l -6.72,-6.6 c -0.6,-0.72 -0.48,-1.32 0.48,-1.32 h 3.96 v -7.200001 c 0,-0.72 0.48,-1.2 1.2,-1.2 h 4.8 c 0.72,0 1.2,0.48 1.2,1.2 v 7.200001 h 3.84 c 0.96001,0 1.20001,0.6 0.48001,1.32 z" + id="path4214-3" + style="display:inline;fill:url(#radialGradient4709-1);fill-opacity:1;stroke-width:1;filter:url(#filter4844)" + transform="matrix(0.79035179,0,0,0.79514606,-0.14216927,3.8570695e-5)" /> + </g> +</svg> diff --git a/application/palemoon/themes/windows/browser.css b/application/palemoon/themes/windows/browser.css index 45f0e066c..f921554df 100644 --- a/application/palemoon/themes/windows/browser.css +++ b/application/palemoon/themes/windows/browser.css @@ -39,9 +39,9 @@ --toolbarbutton-border-radius: 2.5px; --toolbarbutton-border-color: hsla(210,54%,20%,.2); - --toolbarbutton-image: url("chrome://browser/skin/Toolbar.png"); - --toolbarbutton-glass-image: url("chrome://browser/skin/Toolbar-glass.png"); - --toolbarbutton-inverted-image: url("chrome://browser/skin/Toolbar-inverted.png"); + --toolbarbutton-image: url("chrome://browser/skin/Toolbar.svg"); + --toolbarbutton-glass-image: url("chrome://browser/skin/Toolbar-glass.svg"); + --toolbarbutton-inverted-image: url("chrome://browser/skin/Toolbar-inverted.svg"); --tab-background: linear-gradient(transparent, hsla(0,0%,45%,.1) 1px, hsla(0,0%,32%,.2) 80%, hsla(0,0%,0%,.2)); --tab-background-hover: linear-gradient(hsla(0,0%,100%,.3) 1px, hsla(0,0%,75%,.2) 80%, hsla(0,0%,60%,.2)); @@ -2018,6 +2018,90 @@ richlistitem[type~="action"][actiontype="switchtab"] > .ac-url-box > .ac-action- list-style-image: url("chrome://global/skin/icons/close-inverted.svg"); } +/* Tab sound indicator */ +.tab-icon-sound { + -moz-margin-start: 4px; + width: 16px; + height: 16px; + padding: 0; +} + +.allTabs-endimage[soundplaying], +.tab-icon-sound[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio"); +} + +.allTabs-endimage[muted], +.tab-icon-sound[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-muted"); +} + +.allTabs-endimage[blocked], +.tab-icon-sound[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-sound[soundplaying], +#TabsToolbar[brighttext] .tab-icon-sound[blocked], +#TabsToolbar[brighttext] .tab-icon-sound[muted] { + filter: invert(1); +} + +.tab-icon-sound[soundplaying-scheduledremoval]:not([muted]):not(:hover), +.tab-icon-overlay[soundplaying-scheduledremoval]:not([muted]):not(:hover) { + transition: opacity .3s linear var(--soundplaying-removal-delay); + opacity: 0; +} + +/* Tab icon overlay */ +.tab-icon-overlay { + width: 16px; + height: 16px; + margin-top: -8px; + margin-inline-start: -15px; + margin-inline-end: -1px; + position: relative; +} + +.tab-icon-overlay[soundplaying], +.tab-icon-overlay[muted]:not([crashed]), +.tab-icon-overlay[blocked]:not([crashed]) { + border-radius: 10px; +} + +.tab-icon-overlay[soundplaying]:hover, +.tab-icon-overlay[muted]:not([crashed]):hover, +.tab-icon-overlay[blocked]:not([crashed]):hover { + background-color: white; +} + +.tab-icon-overlay[soundplaying] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio"); +} + +.tab-icon-overlay[muted] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-muted"); +} + +.tab-icon-overlay[blocked] { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-blocked"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[soundplaying]:not([selected]):not(:hover), +.tab-icon-overlay[soundplaying][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[muted]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[muted][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-muted"); +} + +#TabsToolbar[brighttext] .tab-icon-overlay[blocked]:not([crashed]):not([selected]):not(:hover), +.tab-icon-overlay[blocked][selected]:-moz-lwtheme-brighttext:not(:hover) { + list-style-image: url("chrome://browser/skin/tabbrowser/tab-audio-small.svg#tab-audio-white-blocked"); +} + /* Tab scrollbox arrow, tabstrip new tab and all-tabs buttons */ .tabbrowser-arrowscrollbox > .scrollbutton-up, diff --git a/application/palemoon/themes/windows/downloads/downloads.css b/application/palemoon/themes/windows/downloads/downloads.css index 91ea652ed..f16989655 100644 --- a/application/palemoon/themes/windows/downloads/downloads.css +++ b/application/palemoon/themes/windows/downloads/downloads.css @@ -326,6 +326,11 @@ toolbar[brighttext] #downloads-indicator-icon { 0, 108, 18, 90) center no-repeat; } +#downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon { + background: -moz-image-rect(var(--toolbarbutton-image), + 19, 108, 36, 90) center no-repeat; +} + @media (-moz-windows-compositor) { :-moz-any(#toolbar-menubar, #nav-bar[tabsontop=false]) #downloads-indicator-icon:not(:-moz-lwtheme), #TabsToolbar[tabsontop=true] #downloads-indicator-icon:not(:-moz-lwtheme), @@ -333,10 +338,12 @@ toolbar[brighttext] #downloads-indicator-icon { background: -moz-image-rect(var(--toolbarbutton-glass-image), 0, 108, 18, 90) center no-repeat; } + #downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon { + background: -moz-image-rect(var(--toolbarbutton-glass-image), + 19, 108, 36, 90) center no-repeat; } -#downloads-indicator[attention] > #downloads-indicator-anchor > #downloads-indicator-icon { - background-image: url("chrome://browser/skin/downloads/download-glow.png"); + } /* In the next few rules, we use :not([counter]) as a shortcut that is @@ -360,10 +367,10 @@ toolbar[brighttext] #downloads-indicator:not([counter]) > #downloads-indicator-a background: -moz-image-rect(var(--toolbarbutton-glass-image), 0, 108, 18, 90) center no-repeat; } -} - -#downloads-indicator:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { - background-image: url("chrome://browser/skin/downloads/download-glow.png"); + #downloads-indicator:not([counter])[attention] > #downloads-indicator-anchor > #downloads-indicator-progress-area > #downloads-indicator-counter { + background: -moz-image-rect(var(--toolbarbutton-glass-image), + 19, 108, 36, 90) center no-repeat; + } } /*** Download notifications ***/ diff --git a/application/palemoon/themes/windows/jar.mn b/application/palemoon/themes/windows/jar.mn index 0a4342d40..724bac689 100644 --- a/application/palemoon/themes/windows/jar.mn +++ b/application/palemoon/themes/windows/jar.mn @@ -60,9 +60,9 @@ browser.jar: skin/classic/browser/Secure24.png skin/classic/browser/setDesktopBackground.css skin/classic/browser/slowStartup-16.png - skin/classic/browser/Toolbar.png - skin/classic/browser/Toolbar-glass.png - skin/classic/browser/Toolbar-inverted.png + skin/classic/browser/Toolbar.svg + skin/classic/browser/Toolbar-glass.svg + skin/classic/browser/Toolbar-inverted.svg skin/classic/browser/toolbarbutton-dropdown-arrow.png skin/classic/browser/toolbarbutton-dropdown-arrow-inverted.png skin/classic/browser/urlbar-arrow.png @@ -79,7 +79,6 @@ browser.jar: skin/classic/browser/webRTC-sharingDevice-16.png #endif skin/classic/browser/downloads/buttons.png (downloads/buttons.png) - skin/classic/browser/downloads/download-glow.png (downloads/download-glow.png) skin/classic/browser/downloads/download-notification-finish.png (downloads/download-notification-finish.png) skin/classic/browser/downloads/download-notification-start.png (downloads/download-notification-start.png) skin/classic/browser/downloads/download-summary.png (downloads/download-summary.png) @@ -151,6 +150,8 @@ browser.jar: skin/classic/browser/tabbrowser/tab-arrow-left-inverted.png (tabbrowser/tab-arrow-left-inverted.png) skin/classic/browser/tabbrowser/tab-overflow-border.png (tabbrowser/tab-overflow-border.png) skin/classic/browser/tabbrowser/tabDragIndicator.png (tabbrowser/tabDragIndicator.png) + skin/classic/browser/tabbrowser/tab-audio.svg (../shared/tabbrowser/tab-audio.svg) + skin/classic/browser/tabbrowser/tab-audio-small.svg (../shared/tabbrowser/tab-audio-small.svg) #ifdef MOZ_SERVICES_SYNC skin/classic/browser/sync-throbber.png skin/classic/browser/sync-16.png diff --git a/build/moz.configure/old.configure b/build/moz.configure/old.configure index 20bde1eee..e6eaa8228 100644 --- a/build/moz.configure/old.configure +++ b/build/moz.configure/old.configure @@ -243,6 +243,7 @@ def old_configure_options(*options): '--enable-universalchardet', '--enable-updater', '--enable-url-classifier', + '--enable-userinfo', '--enable-valgrind', '--enable-verify-mar', '--enable-webrtc', diff --git a/caps/nsPrincipal.cpp b/caps/nsPrincipal.cpp index f89061043..129cdf9a0 100644 --- a/caps/nsPrincipal.cpp +++ b/caps/nsPrincipal.cpp @@ -161,6 +161,19 @@ nsPrincipal::GetOriginForURI(nsIURI* aURI, nsACString& aOrigin) (NS_SUCCEEDED(origin->SchemeIs("indexeddb", &isBehaved)) && isBehaved)) { rv = origin->GetAsciiSpec(aOrigin); NS_ENSURE_SUCCESS(rv, rv); + + // Remove query or ref part from about: origin + int32_t pos = aOrigin.FindChar('?'); + int32_t hashPos = aOrigin.FindChar('#'); + + if (hashPos != kNotFound && (pos == kNotFound || hashPos < pos)) { + pos = hashPos; + } + + if (pos != kNotFound) { + aOrigin.Truncate(pos); + } + // These URIs could technically contain a '^', but they never should. if (NS_WARN_IF(aOrigin.FindChar('^', 0) != -1)) { aOrigin.Truncate(); diff --git a/config/external/nss/nss.symbols b/config/external/nss/nss.symbols index 3239d3119..7a968b6c8 100644 --- a/config/external/nss/nss.symbols +++ b/config/external/nss/nss.symbols @@ -165,7 +165,6 @@ DER_GeneralizedTimeToTime DER_GeneralizedTimeToTime_Util DER_GetInteger DER_GetInteger_Util -DER_Lengths DER_SetUInteger DER_UTCTimeToTime_Util DSAU_DecodeDerSigToLen diff --git a/config/milestone.txt b/config/milestone.txt index 03c9bebfc..752d23fca 100644 --- a/config/milestone.txt +++ b/config/milestone.txt @@ -10,4 +10,4 @@ # hardcoded milestones in the tree from these two files. #-------------------------------------------------------- -4.1.6 +4.1.7 diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index 79b36a314..3760dc43f 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -145,7 +145,6 @@ #include "mozilla/dom/KeyframeEffectBinding.h" #include "mozilla/dom/WindowBinding.h" #include "mozilla/dom/ElementBinding.h" -#include "mozilla/dom/VRDisplay.h" #include "mozilla/IntegerPrintfMacros.h" #include "mozilla/Preferences.h" #include "nsComputedDOMStyle.h" diff --git a/dom/base/Navigator.cpp b/dom/base/Navigator.cpp index 1bc4f82f4..286cd0e79 100644 --- a/dom/base/Navigator.cpp +++ b/dom/base/Navigator.cpp @@ -44,7 +44,6 @@ #include "mozilla/dom/ServiceWorkerContainer.h" #include "mozilla/dom/StorageManager.h" #include "mozilla/dom/TCPSocket.h" -#include "mozilla/dom/VRDisplay.h" #include "mozilla/dom/workers/RuntimeService.h" #include "mozilla/Hal.h" #include "nsISiteSpecificUserAgent.h" @@ -1471,83 +1470,6 @@ Navigator::RequestGamepadServiceTest() } #endif -already_AddRefed<Promise> -Navigator::GetVRDisplays(ErrorResult& aRv) -{ - if (!mWindow || !mWindow->GetDocShell()) { - aRv.Throw(NS_ERROR_UNEXPECTED); - return nullptr; - } - - nsGlobalWindow* win = nsGlobalWindow::Cast(mWindow); - win->NotifyVREventListenerAdded(); - - nsCOMPtr<nsIGlobalObject> go = do_QueryInterface(mWindow); - RefPtr<Promise> p = Promise::Create(go, aRv); - if (aRv.Failed()) { - return nullptr; - } - - // We pass mWindow's id to RefreshVRDisplays, so NotifyVRDisplaysUpdated will - // be called asynchronously, resolving the promises in mVRGetDisplaysPromises. - if (!VRDisplay::RefreshVRDisplays(win->WindowID())) { - p->MaybeReject(NS_ERROR_FAILURE); - return p.forget(); - } - - mVRGetDisplaysPromises.AppendElement(p); - return p.forget(); -} - -void -Navigator::GetActiveVRDisplays(nsTArray<RefPtr<VRDisplay>>& aDisplays) const -{ - /** - * Get only the active VR displays. - * Callers do not wish to VRDisplay::RefreshVRDisplays, as the enumeration may - * activate hardware that is not yet intended to be used. - */ - if (!mWindow || !mWindow->GetDocShell()) { - return; - } - nsGlobalWindow* win = nsGlobalWindow::Cast(mWindow); - win->NotifyVREventListenerAdded(); - nsTArray<RefPtr<VRDisplay>> displays; - if (win->UpdateVRDisplays(displays)) { - for (auto display : displays) { - if (display->IsPresenting()) { - aDisplays.AppendElement(display); - } - } - } -} - -void -Navigator::NotifyVRDisplaysUpdated() -{ - // Synchronize the VR devices and resolve the promises in - // mVRGetDisplaysPromises - nsGlobalWindow* win = nsGlobalWindow::Cast(mWindow); - - nsTArray<RefPtr<VRDisplay>> vrDisplays; - if (win->UpdateVRDisplays(vrDisplays)) { - for (auto p : mVRGetDisplaysPromises) { - p->MaybeResolve(vrDisplays); - } - } else { - for (auto p : mVRGetDisplaysPromises) { - p->MaybeReject(NS_ERROR_FAILURE); - } - } - mVRGetDisplaysPromises.Clear(); -} - -void -Navigator::NotifyActiveVRDisplaysChanged() -{ - NavigatorBinding::ClearCachedActiveVRDisplaysValue(this); -} - //***************************************************************************** // Navigator::nsIMozNavigatorNetwork //***************************************************************************** diff --git a/dom/base/Navigator.h b/dom/base/Navigator.h index d47a80bc1..91b7fc15c 100644 --- a/dom/base/Navigator.h +++ b/dom/base/Navigator.h @@ -76,7 +76,6 @@ class Connection; class PowerManager; class Presentation; class LegacyMozTCPSocket; -class VRDisplay; class StorageManager; namespace time { @@ -204,8 +203,6 @@ public: void GetGamepads(nsTArray<RefPtr<Gamepad> >& aGamepads, ErrorResult& aRv); GamepadServiceTest* RequestGamepadServiceTest(); #endif // MOZ_GAMEPAD - already_AddRefed<Promise> GetVRDisplays(ErrorResult& aRv); - void GetActiveVRDisplays(nsTArray<RefPtr<VRDisplay>>& aDisplays) const; #ifdef MOZ_TIME_MANAGER time::TimeManager* GetMozTime(ErrorResult& aRv); #endif // MOZ_TIME_MANAGER @@ -269,10 +266,6 @@ private: RefPtr<MediaKeySystemAccessManager> mMediaKeySystemAccessManager; #endif -public: - void NotifyVRDisplaysUpdated(); - void NotifyActiveVRDisplaysChanged(); - private: virtual ~Navigator(); diff --git a/dom/base/nsCCUncollectableMarker.cpp b/dom/base/nsCCUncollectableMarker.cpp index 861cda521..db4d0d351 100644 --- a/dom/base/nsCCUncollectableMarker.cpp +++ b/dom/base/nsCCUncollectableMarker.cpp @@ -188,23 +188,20 @@ MarkMessageManagers() } void -MarkContentViewer(nsIContentViewer* aViewer, bool aCleanupJS, - bool aPrepareForCC) +MarkDocument(nsIDocument* aDoc, bool aCleanupJS, bool aPrepareForCC) { - if (!aViewer) { + if (!aDoc) { return; } - nsIDocument *doc = aViewer->GetDocument(); - if (doc && - doc->GetMarkedCCGeneration() != nsCCUncollectableMarker::sGeneration) { - doc->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); + if (aDoc->GetMarkedCCGeneration() != nsCCUncollectableMarker::sGeneration) { + aDoc->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); if (aCleanupJS) { - EventListenerManager* elm = doc->GetExistingListenerManager(); + EventListenerManager* elm = aDoc->GetExistingListenerManager(); if (elm) { elm->MarkForCC(); } - nsCOMPtr<EventTarget> win = do_QueryInterface(doc->GetInnerWindow()); + nsCOMPtr<EventTarget> win = do_QueryInterface(aDoc->GetInnerWindow()); if (win) { elm = win->GetExistingListenerManager(); if (elm) { @@ -215,18 +212,27 @@ MarkContentViewer(nsIContentViewer* aViewer, bool aCleanupJS, } else if (aPrepareForCC) { // Unfortunately we need to still mark user data just before running CC so // that it has the right generation. - doc->PropertyTable(DOM_USER_DATA)-> + aDoc->PropertyTable(DOM_USER_DATA)-> EnumerateAll(MarkUserData, &nsCCUncollectableMarker::sGeneration); } } - if (doc) { - if (nsPIDOMWindowInner* inner = doc->GetInnerWindow()) { - inner->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); - } - if (nsPIDOMWindowOuter* outer = doc->GetWindow()) { - outer->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); - } + if (nsPIDOMWindowInner* inner = aDoc->GetInnerWindow()) { + inner->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); + } + if (nsPIDOMWindowOuter* outer = aDoc->GetWindow()) { + outer->MarkUncollectableForCCGeneration(nsCCUncollectableMarker::sGeneration); + } +} + +void +MarkContentViewer(nsIContentViewer* aViewer, bool aCleanupJS, + bool aPrepareForCC) +{ + if (!aViewer) { + return; } + + MarkDocument(aViewer->GetDocument(), aCleanupJS, aPrepareForCC); } void MarkDocShell(nsIDocShellTreeItem* aNode, bool aCleanupJS, diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index 88cebe42b..677e1a0ea 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -202,9 +202,6 @@ #include "mozilla/dom/GamepadManager.h" #endif -#include "mozilla/dom/VRDisplay.h" -#include "mozilla/dom/VREventObserver.h" - #include "nsRefreshDriver.h" #include "Layers.h" @@ -1532,7 +1529,6 @@ nsGlobalWindow::nsGlobalWindow(nsGlobalWindow *aOuterWindow) mShowFocusRingForContent(false), mFocusByKeyOccurred(false), mHasGamepad(false), - mHasVREvents(false), #ifdef MOZ_GAMEPAD mHasSeenGamepadInput(false), #endif @@ -1967,12 +1963,9 @@ nsGlobalWindow::CleanUp() if (IsInnerWindow()) { DisableGamepadUpdates(); mHasGamepad = false; - DisableVRUpdates(); - mHasVREvents = false; DisableIdleCallbackRequests(); } else { MOZ_ASSERT(!mHasGamepad); - MOZ_ASSERT(!mHasVREvents); } if (mCleanMessageManager) { @@ -2023,7 +2016,7 @@ nsGlobalWindow::ClearControllers() } void -nsGlobalWindow::FreeInnerObjects() +nsGlobalWindow::FreeInnerObjects(bool aForDocumentOpen) { NS_ASSERTION(IsInnerWindow(), "Don't free inner objects on an outer window"); @@ -2082,8 +2075,10 @@ nsGlobalWindow::FreeInnerObjects() mDocumentURI = mDoc->GetDocumentURI(); mDocBaseURI = mDoc->GetDocBaseURI(); - while (mDoc->EventHandlingSuppressed()) { - mDoc->UnsuppressEventHandlingAndFireEvents(nsIDocument::eEvents, false); + if (!aForDocumentOpen) { + while (mDoc->EventHandlingSuppressed()) { + mDoc->UnsuppressEventHandlingAndFireEvents(nsIDocument::eEvents, false); + } } // Note: we don't have to worry about eAnimationsOnly suppressions because @@ -2116,9 +2111,6 @@ nsGlobalWindow::FreeInnerObjects() mHasGamepad = false; mGamepads.Clear(); #endif - DisableVRUpdates(); - mHasVREvents = false; - mVRDisplays.Clear(); } //***************************************************************************** @@ -2273,7 +2265,6 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsGlobalWindow) #endif NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mCacheStorage) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mVRDisplays) // Traverse stuff from nsPIDOMWindow NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mChromeEventHandler) @@ -2350,7 +2341,6 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsGlobalWindow) #endif NS_IMPL_CYCLE_COLLECTION_UNLINK(mCacheStorage) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mVRDisplays) // Unlink stuff from nsPIDOMWindow NS_IMPL_CYCLE_COLLECTION_UNLINK(mChromeEventHandler) @@ -3000,6 +2990,8 @@ nsGlobalWindow::SetNewDocument(nsIDocument* aDocument, nsCOMPtr<WindowStateHolder> wsh = do_QueryInterface(aState); NS_ASSERTION(!aState || wsh, "What kind of weird state are you giving me here?"); + bool handleDocumentOpen = false; + JS::Rooted<JSObject*> newInnerGlobal(cx); if (reUseInnerWindow) { // We're reusing the current inner window. @@ -3091,6 +3083,7 @@ nsGlobalWindow::SetNewDocument(nsIDocument* aDocument, if (currentInner && currentInner->GetWrapperPreserveColor()) { if (oldDoc == aDocument) { + handleDocumentOpen = true; // Move the navigator from the old inner window to the new one since // this is a document.write. This is safe from a same-origin point of // view because document.write can only be used by the same origin. @@ -3115,7 +3108,7 @@ nsGlobalWindow::SetNewDocument(nsIDocument* aDocument, // Don't free objects on our current inner window if it's going to be // held in the bfcache. if (!currentInner->IsFrozen()) { - currentInner->FreeInnerObjects(); + currentInner->FreeInnerObjects(handleDocumentOpen); } } @@ -10503,24 +10496,6 @@ nsGlobalWindow::DisableGamepadUpdates() } void -nsGlobalWindow::EnableVRUpdates() -{ - MOZ_ASSERT(IsInnerWindow()); - - if (mHasVREvents && !mVREventObserver) { - mVREventObserver = new VREventObserver(this); - } -} - -void -nsGlobalWindow::DisableVRUpdates() -{ - MOZ_ASSERT(IsInnerWindow()); - - mVREventObserver = nullptr; -} - -void nsGlobalWindow::SetChromeEventHandler(EventTarget* aChromeEventHandler) { MOZ_ASSERT(IsOuterWindow()); @@ -12205,7 +12180,6 @@ nsGlobalWindow::Suspend() ac->RemoveWindowListener(mEnabledSensors[i], this); } DisableGamepadUpdates(); - DisableVRUpdates(); mozilla::dom::workers::SuspendWorkersForWindow(AsInner()); @@ -12269,7 +12243,6 @@ nsGlobalWindow::Resume() ac->AddWindowListener(mEnabledSensors[i], this); } EnableGamepadUpdates(); - EnableVRUpdates(); // Resume all of the AudioContexts for this window for (uint32_t i = 0; i < mAudioContexts.Length(); ++i) { @@ -14025,19 +13998,6 @@ nsGlobalWindow::SetHasGamepadEventListener(bool aHasGamepad/* = true*/) void nsGlobalWindow::EventListenerAdded(nsIAtom* aType) { - if (aType == nsGkAtoms::onvrdisplayconnect || - aType == nsGkAtoms::onvrdisplaydisconnect || - aType == nsGkAtoms::onvrdisplaypresentchange) { - NotifyVREventListenerAdded(); - } -} - -void -nsGlobalWindow::NotifyVREventListenerAdded() -{ - MOZ_ASSERT(IsInnerWindow()); - mHasVREvents = true; - EnableVRUpdates(); } void @@ -14182,27 +14142,6 @@ nsGlobalWindow::SyncGamepadState() } #endif // MOZ_GAMEPAD -bool -nsGlobalWindow::UpdateVRDisplays(nsTArray<RefPtr<mozilla::dom::VRDisplay>>& aDevices) -{ - FORWARD_TO_INNER(UpdateVRDisplays, (aDevices), false); - - VRDisplay::UpdateVRDisplays(mVRDisplays, AsInner()); - aDevices = mVRDisplays; - return true; -} - -void -nsGlobalWindow::NotifyActiveVRDisplaysChanged() -{ - MOZ_ASSERT(IsInnerWindow()); - - if (mNavigator) { - mNavigator->NotifyActiveVRDisplaysChanged(); - } -} - - // nsGlobalChromeWindow implementation NS_IMPL_CYCLE_COLLECTION_CLASS(nsGlobalChromeWindow) diff --git a/dom/base/nsGlobalWindow.h b/dom/base/nsGlobalWindow.h index 467bc6796..1cb825a77 100644 --- a/dom/base/nsGlobalWindow.h +++ b/dom/base/nsGlobalWindow.h @@ -135,8 +135,6 @@ class SpeechSynthesis; class TabGroup; class Timeout; class U2F; -class VRDisplay; -class VREventObserver; class WakeLock; #if defined(MOZ_WIDGET_ANDROID) class WindowOrientationObserver; @@ -745,18 +743,6 @@ public: void EnableGamepadUpdates(); void DisableGamepadUpdates(); - // Inner windows only. - // Enable/disable updates for VR - void EnableVRUpdates(); - void DisableVRUpdates(); - - // Update the VR displays for this window - bool UpdateVRDisplays(nsTArray<RefPtr<mozilla::dom::VRDisplay>>& aDisplays); - - // Inner windows only. - // Called to inform that the set of active VR displays has changed. - void NotifyActiveVRDisplaysChanged(); - #define EVENT(name_, id_, type_, struct_) \ mozilla::dom::EventHandlerNonNull* GetOn##name_() \ { \ @@ -1380,7 +1366,7 @@ protected: } } - void FreeInnerObjects(); + void FreeInnerObjects(bool aForDocumentOpen = false); nsGlobalWindow *CallerInnerWindow(); // Only to be called on an inner window. @@ -1832,9 +1818,6 @@ protected: // Indicates whether this window wants gamepad input events bool mHasGamepad : 1; - // Inner windows only. - // Indicates whether this window wants VR events - bool mHasVREvents : 1; #ifdef MOZ_GAMEPAD nsCheapSet<nsUint32HashKey> mGamepadIndexSet; nsRefPtrHashtable<nsUint32HashKey, mozilla::dom::Gamepad> mGamepads; @@ -1989,11 +1972,6 @@ protected: // This is the CC generation the last time we called CanSkip. uint32_t mCanSkipCCGeneration; - // The VR Displays for this window - nsTArray<RefPtr<mozilla::dom::VRDisplay>> mVRDisplays; - - nsAutoPtr<mozilla::dom::VREventObserver> mVREventObserver; - friend class nsDOMScriptableHelper; friend class nsDOMWindowUtils; friend class mozilla::dom::PostMessageEvent; diff --git a/dom/base/nsScriptLoader.cpp b/dom/base/nsScriptLoader.cpp index a6d20e363..0eb5bbf31 100644 --- a/dom/base/nsScriptLoader.cpp +++ b/dom/base/nsScriptLoader.cpp @@ -81,11 +81,19 @@ ImplCycleCollectionTraverse(nsCycleCollectionTraversalCallback& aCallback, NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(nsScriptLoadRequest) NS_INTERFACE_MAP_END -NS_IMPL_CYCLE_COLLECTION_0(nsScriptLoadRequest) - NS_IMPL_CYCLE_COLLECTING_ADDREF(nsScriptLoadRequest) NS_IMPL_CYCLE_COLLECTING_RELEASE(nsScriptLoadRequest) +NS_IMPL_CYCLE_COLLECTION_CLASS(nsScriptLoadRequest) + +NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsScriptLoadRequest) + NS_IMPL_CYCLE_COLLECTION_UNLINK(mElement) +NS_IMPL_CYCLE_COLLECTION_UNLINK_END + +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(nsScriptLoadRequest) + NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mElement) +NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END + nsScriptLoadRequest::~nsScriptLoadRequest() { js_free(mScriptTextBuf); diff --git a/dom/canvas/WebGLContext.cpp b/dom/canvas/WebGLContext.cpp index 14bc7e3e3..e2e05e5fd 100644 --- a/dom/canvas/WebGLContext.cpp +++ b/dom/canvas/WebGLContext.cpp @@ -47,7 +47,6 @@ #include "nsSVGEffects.h" #include "prenv.h" #include "ScopedGLHelpers.h" -#include "VRManagerChild.h" #include "mozilla/layers/TextureClientSharedSurface.h" // Local @@ -2239,84 +2238,6 @@ WebGLContext::GetUnpackSize(bool isFunc3D, uint32_t width, uint32_t height, return totalBytes; } -already_AddRefed<layers::SharedSurfaceTextureClient> -WebGLContext::GetVRFrame() -{ - if (!mLayerIsMirror) { - /** - * Do not allow VR frame submission until a mirroring canvas layer has - * been returned by GetCanvasLayer - */ - return nullptr; - } - - VRManagerChild* vrmc = VRManagerChild::Get(); - if (!vrmc) { - return nullptr; - } - - /** - * Swap buffers as though composition has occurred. - * We will then share the resulting front buffer to be submitted to the VR - * compositor. - */ - BeginComposition(); - EndComposition(); - - gl::GLScreenBuffer* screen = gl->Screen(); - if (!screen) { - return nullptr; - } - - RefPtr<SharedSurfaceTextureClient> sharedSurface = screen->Front(); - if (!sharedSurface) { - return nullptr; - } - - if (sharedSurface && sharedSurface->GetAllocator() != vrmc) { - RefPtr<SharedSurfaceTextureClient> dest = - screen->Factory()->NewTexClient(sharedSurface->GetSize()); - if (!dest) { - return nullptr; - } - gl::SharedSurface* destSurf = dest->Surf(); - destSurf->ProducerAcquire(); - SharedSurface::ProdCopy(sharedSurface->Surf(), dest->Surf(), - screen->Factory()); - destSurf->ProducerRelease(); - - return dest.forget(); - } - - return sharedSurface.forget(); -} - -bool -WebGLContext::StartVRPresentation() -{ - VRManagerChild* vrmc = VRManagerChild::Get(); - if (!vrmc) { - return false; - } - gl::GLScreenBuffer* screen = gl->Screen(); - if (!screen) { - return false; - } - gl::SurfaceCaps caps = screen->mCaps; - - UniquePtr<gl::SurfaceFactory> factory = - gl::GLScreenBuffer::CreateFactory(gl, - caps, - vrmc, - vrmc->GetBackendType(), - TextureFlags::ORIGIN_BOTTOM_LEFT); - - if (factory) { - screen->Morph(Move(factory)); - } - return true; -} - //////////////////////////////////////////////////////////////////////////////// static inline size_t diff --git a/dom/canvas/WebGLContext.h b/dom/canvas/WebGLContext.h index b4d416a33..3ec307b00 100644 --- a/dom/canvas/WebGLContext.h +++ b/dom/canvas/WebGLContext.h @@ -656,9 +656,6 @@ public: void PixelStorei(GLenum pname, GLint param); void PolygonOffset(GLfloat factor, GLfloat units); - already_AddRefed<layers::SharedSurfaceTextureClient> GetVRFrame(); - bool StartVRPresentation(); - //// webgl::PackingInfo diff --git a/dom/gamepad/GamepadManager.cpp b/dom/gamepad/GamepadManager.cpp index dde71dd0a..e17829652 100644 --- a/dom/gamepad/GamepadManager.cpp +++ b/dom/gamepad/GamepadManager.cpp @@ -28,7 +28,6 @@ #include "nsIObserverService.h" #include "nsIServiceManager.h" #include "nsThreadUtils.h" -#include "VRManagerChild.h" #include "mozilla/Services.h" #include "mozilla/Unused.h" @@ -110,11 +109,6 @@ GamepadManager::StopMonitoring() } mChannelChildren.Clear(); mGamepads.Clear(); - -#if defined(XP_WIN) || defined(XP_MACOSX) || defined(XP_LINUX) - mVRChannelChild = gfx::VRManagerChild::Get(); - mVRChannelChild->SendControllerListenerRemoved(); -#endif } void @@ -211,11 +205,6 @@ uint32_t GamepadManager::GetGamepadIndexWithServiceType(uint32_t aIndex, newIndex = aIndex; break; } - case GamepadServiceType::VR: - { - newIndex = aIndex + VR_GAMEPAD_IDX_OFFSET; - break; - } default: MOZ_ASSERT(false); break; @@ -679,13 +668,6 @@ GamepadManager::ActorCreated(PBackgroundChild *aActor) MOZ_ASSERT(initedChild == child); child->SendGamepadListenerAdded(); mChannelChildren.AppendElement(child); - -#if defined(XP_WIN) || defined(XP_MACOSX) || defined(XP_LINUX) - // Construct VRManagerChannel and ask adding the connected - // VR controllers to GamepadManager - mVRChannelChild = gfx::VRManagerChild::Get(); - mVRChannelChild->SendControllerListenerAdded(); -#endif } //Override nsIIPCBackgroundChildCreateCallback diff --git a/dom/gamepad/GamepadManager.h b/dom/gamepad/GamepadManager.h index 1bb437d8f..a772221ca 100644 --- a/dom/gamepad/GamepadManager.h +++ b/dom/gamepad/GamepadManager.h @@ -16,9 +16,6 @@ class nsGlobalWindow; namespace mozilla { -namespace gfx { -class VRManagerChild; -} // namespace gfx namespace dom { class EventTarget; @@ -123,7 +120,6 @@ class GamepadManager final : public nsIObserver, // will be destroyed during the IPDL shutdown chain, so we // don't need to refcount it here. nsTArray<GamepadEventChannelChild *> mChannelChildren; - gfx::VRManagerChild* mVRChannelChild; private: @@ -138,8 +134,6 @@ class GamepadManager final : public nsIObserver, // Indicate that a window has received data from a gamepad. void SetWindowHasSeenGamepad(nsGlobalWindow* aWindow, uint32_t aIndex, bool aHasSeen = true); - // Our gamepad index has VR_GAMEPAD_IDX_OFFSET while GamepadChannelType - // is from VRManager. uint32_t GetGamepadIndexWithServiceType(uint32_t aIndex, GamepadServiceType aServiceType); // Gamepads connected to the system. Copies of these are handed out diff --git a/dom/gamepad/ipc/GamepadServiceType.h b/dom/gamepad/ipc/GamepadServiceType.h index acc0967d1..6200cdfa9 100644 --- a/dom/gamepad/ipc/GamepadServiceType.h +++ b/dom/gamepad/ipc/GamepadServiceType.h @@ -6,11 +6,9 @@ namespace mozilla{ namespace dom{ // Standard channel is used for managing gamepads that -// are from GamepadPlatformService. VR channel -// is for gamepads that are from VRManagerChild. +// are from GamepadPlatformService. enum class GamepadServiceType : uint16_t { Standard, - VR, NumGamepadServiceType }; diff --git a/dom/html/HTMLCanvasElement.cpp b/dom/html/HTMLCanvasElement.cpp index 88b41bce0..527135a80 100644 --- a/dom/html/HTMLCanvasElement.cpp +++ b/dom/html/HTMLCanvasElement.cpp @@ -42,7 +42,6 @@ #include "nsRefreshDriver.h" #include "nsStreamUtils.h" #include "ActiveLayerTracker.h" -#include "VRManagerChild.h" #include "WebGL1Context.h" #include "WebGL2Context.h" @@ -358,7 +357,6 @@ NS_IMPL_ISUPPORTS(HTMLCanvasElementObserver, nsIObserver) HTMLCanvasElement::HTMLCanvasElement(already_AddRefed<mozilla::dom::NodeInfo>& aNodeInfo) : nsGenericHTMLElement(aNodeInfo), mResetLayer(true) , - mVRPresentationActive(false), mWriteOnly(false) {} @@ -1111,7 +1109,7 @@ HTMLCanvasElement::GetCanvasLayer(nsDisplayListBuilder* aBuilder, static uint8_t sOffscreenCanvasLayerUserDataDummy = 0; if (mCurrentContext) { - return mCurrentContext->GetCanvasLayer(aBuilder, aOldLayer, aManager, mVRPresentationActive); + return mCurrentContext->GetCanvasLayer(aBuilder, aOldLayer, aManager); } if (mOffscreenCanvas) { @@ -1441,42 +1439,5 @@ HTMLCanvasElement::InvalidateFromAsyncCanvasRenderer(AsyncCanvasRenderer *aRende element->InvalidateCanvasContent(nullptr); } -void -HTMLCanvasElement::StartVRPresentation() -{ - WebGLContext* webgl = static_cast<WebGLContext*>(GetContextAtIndex(0)); - if (!webgl) { - return; - } - - if (!webgl->StartVRPresentation()) { - return; - } - - mVRPresentationActive = true; -} - -void -HTMLCanvasElement::StopVRPresentation() -{ - mVRPresentationActive = false; -} - -already_AddRefed<layers::SharedSurfaceTextureClient> -HTMLCanvasElement::GetVRFrame() -{ - if (GetCurrentContextType() != CanvasContextType::WebGL1 && - GetCurrentContextType() != CanvasContextType::WebGL2) { - return nullptr; - } - - WebGLContext* webgl = static_cast<WebGLContext*>(GetContextAtIndex(0)); - if (!webgl) { - return nullptr; - } - - return webgl->GetVRFrame(); -} - } // namespace dom } // namespace mozilla diff --git a/dom/html/HTMLCanvasElement.h b/dom/html/HTMLCanvasElement.h index 81c141d3c..746fab198 100644 --- a/dom/html/HTMLCanvasElement.h +++ b/dom/html/HTMLCanvasElement.h @@ -350,10 +350,6 @@ public: static void SetAttrFromAsyncCanvasRenderer(AsyncCanvasRenderer *aRenderer); static void InvalidateFromAsyncCanvasRenderer(AsyncCanvasRenderer *aRenderer); - void StartVRPresentation(); - void StopVRPresentation(); - already_AddRefed<layers::SharedSurfaceTextureClient> GetVRFrame(); - protected: virtual ~HTMLCanvasElement(); diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index a3dc710ed..58c113058 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -23,6 +23,7 @@ #include "mozilla/AppProcessChecker.h" #include "mozilla/AutoRestore.h" #include "mozilla/Casting.h" +#include "mozilla/CheckedInt.h" #include "mozilla/EndianUtils.h" #include "mozilla/ErrorNames.h" #include "mozilla/LazyIdleThread.h" @@ -782,29 +783,25 @@ MakeCompressedIndexDataValues( MOZ_ASSERT(!keyBuffer.IsEmpty()); - // Don't let |infoLength| overflow. - if (NS_WARN_IF(UINT32_MAX - keyBuffer.Length() < - CompressedByteCountForIndexId(info.mIndexId) + - CompressedByteCountForNumber(keyBufferLength) + - CompressedByteCountForNumber(sortKeyBufferLength))) { - IDB_REPORT_INTERNAL_ERR(); - return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; - } - - const uint32_t infoLength = - CompressedByteCountForIndexId(info.mIndexId) + + const CheckedUint32 infoLength = + CheckedUint32(CompressedByteCountForIndexId(info.mIndexId)) + CompressedByteCountForNumber(keyBufferLength) + CompressedByteCountForNumber(sortKeyBufferLength) + keyBufferLength + sortKeyBufferLength; + // Don't let |infoLength| overflow. + if (NS_WARN_IF(!infoLength.isValid())) { + IDB_REPORT_INTERNAL_ERR(); + return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; + } // Don't let |blobDataLength| overflow. - if (NS_WARN_IF(UINT32_MAX - infoLength < blobDataLength)) { + if (NS_WARN_IF(UINT32_MAX - infoLength.value() < blobDataLength)) { IDB_REPORT_INTERNAL_ERR(); return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; } - blobDataLength += infoLength; + blobDataLength += infoLength.value(); } UniqueFreePtr<uint8_t> blobData( diff --git a/dom/indexedDB/KeyPath.cpp b/dom/indexedDB/KeyPath.cpp index dc8d10668..30edd8cd7 100644 --- a/dom/indexedDB/KeyPath.cpp +++ b/dom/indexedDB/KeyPath.cpp @@ -14,6 +14,7 @@ #include "xpcpublic.h" #include "mozilla/dom/BindingDeclarations.h" +#include "mozilla/dom/BlobBinding.h" #include "mozilla/dom/IDBObjectStoreBinding.h" namespace mozilla { @@ -100,7 +101,6 @@ GetJSValFromKeyPathString(JSContext* aCx, const char16_t* keyPathChars = token.BeginReading(); const size_t keyPathLen = token.Length(); - bool hasProp; if (!targetObject) { // We're still walking the chain of existing objects // http://w3c.github.io/IndexedDB/#dfn-evaluate-a-key-path-on-a-value @@ -116,16 +116,77 @@ GetJSValFromKeyPathString(JSContext* aCx, } obj = ¤tVal.toObject(); - bool ok = JS_HasUCProperty(aCx, obj, keyPathChars, keyPathLen, - &hasProp); + // We call JS_GetOwnUCPropertyDescriptor on purpose (as opposed to + // JS_GetUCPropertyDescriptor) to avoid searching the prototype chain. + JS::Rooted<JS::PropertyDescriptor> desc(aCx); + bool ok = JS_GetOwnUCPropertyDescriptor(aCx, obj, keyPathChars, + keyPathLen, &desc); IDB_ENSURE_TRUE(ok, NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR); - if (hasProp) { - // Get if the property exists... - JS::Rooted<JS::Value> intermediate(aCx); - bool ok = JS_GetUCProperty(aCx, obj, keyPathChars, keyPathLen, &intermediate); - IDB_ENSURE_TRUE(ok, NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR); + JS::Rooted<JS::Value> intermediate(aCx); + bool hasProp = false; + + if (desc.object()) { + intermediate = desc.value(); + hasProp = true; + } else { + // If we get here it means the object doesn't have the property or the + // property is available throuch a getter. We don't want to call any + // getters to avoid potential re-entrancy. + // The blob object is special since its properties are available + // only through getters but we still want to support them for key + // extraction. So they need to be handled manually. + Blob* blob; + if (NS_SUCCEEDED(UNWRAP_OBJECT(Blob, &obj, blob))) { + if (token.EqualsLiteral("size")) { + ErrorResult rv; + uint64_t size = blob->GetSize(rv); + MOZ_ALWAYS_TRUE(!rv.Failed()); + + intermediate = JS_NumberValue(size); + hasProp = true; + } else if (token.EqualsLiteral("type")) { + nsString type; + blob->GetType(type); + + JSString* string = + JS_NewUCStringCopyN(aCx, type.get(), type.Length()); + + intermediate = JS::StringValue(string); + hasProp = true; + } else { + RefPtr<File> file = blob->ToFile(); + if (file) { + if (token.EqualsLiteral("name")) { + nsString name; + file->GetName(name); + + JSString* string = + JS_NewUCStringCopyN(aCx, name.get(), name.Length()); + + intermediate = JS::StringValue(string); + hasProp = true; + } else if (token.EqualsLiteral("lastModified")) { + ErrorResult rv; + int64_t lastModifiedDate = file->GetLastModified(rv); + MOZ_ALWAYS_TRUE(!rv.Failed()); + + intermediate = JS_NumberValue(lastModifiedDate); + hasProp = true; + } else if (token.EqualsLiteral("lastModifiedDate")) { + ErrorResult rv; + Date lastModifiedDate = file->GetLastModifiedDate(rv); + MOZ_ALWAYS_TRUE(!rv.Failed()); + + lastModifiedDate.ToDateObject(aCx, &intermediate); + hasProp = true; + } + } + } + } + } + if (hasProp) { // Treat explicitly undefined as an error. if (intermediate.isUndefined()) { return NS_ERROR_DOM_INDEXEDDB_DATA_ERR; diff --git a/dom/ipc/ContentChild.cpp b/dom/ipc/ContentChild.cpp index fc288e2c5..fdf0fcf3e 100644 --- a/dom/ipc/ContentChild.cpp +++ b/dom/ipc/ContentChild.cpp @@ -171,7 +171,6 @@ #include "GMPServiceChild.h" #include "gfxPlatform.h" #include "nscore.h" // for NS_FREE_PERMANENT_DATA -#include "VRManagerChild.h" using namespace mozilla; using namespace mozilla::docshell; @@ -1148,7 +1147,6 @@ ContentChild::RecvGMPsChanged(nsTArray<GMPCapabilityData>&& capabilities) bool ContentChild::RecvInitRendering(Endpoint<PCompositorBridgeChild>&& aCompositor, Endpoint<PImageBridgeChild>&& aImageBridge, - Endpoint<PVRManagerChild>&& aVRBridge, Endpoint<PVideoDecoderManagerChild>&& aVideoManager) { if (!CompositorBridgeChild::InitForContent(Move(aCompositor))) { @@ -1157,9 +1155,6 @@ ContentChild::RecvInitRendering(Endpoint<PCompositorBridgeChild>&& aCompositor, if (!ImageBridgeChild::InitForContent(Move(aImageBridge))) { return false; } - if (!gfx::VRManagerChild::InitForContent(Move(aVRBridge))) { - return false; - } VideoDecoderManagerChild::InitForContent(Move(aVideoManager)); return true; } @@ -1167,7 +1162,6 @@ ContentChild::RecvInitRendering(Endpoint<PCompositorBridgeChild>&& aCompositor, bool ContentChild::RecvReinitRendering(Endpoint<PCompositorBridgeChild>&& aCompositor, Endpoint<PImageBridgeChild>&& aImageBridge, - Endpoint<PVRManagerChild>&& aVRBridge, Endpoint<PVideoDecoderManagerChild>&& aVideoManager) { nsTArray<RefPtr<TabChild>> tabs = TabChild::GetAll(); @@ -1186,9 +1180,6 @@ ContentChild::RecvReinitRendering(Endpoint<PCompositorBridgeChild>&& aCompositor if (!ImageBridgeChild::ReinitForContent(Move(aImageBridge))) { return false; } - if (!gfx::VRManagerChild::ReinitForContent(Move(aVRBridge))) { - return false; - } // Establish new PLayerTransactions. for (const auto& tabChild : tabs) { diff --git a/dom/ipc/ContentChild.h b/dom/ipc/ContentChild.h index ba590b58e..f29d17e7f 100644 --- a/dom/ipc/ContentChild.h +++ b/dom/ipc/ContentChild.h @@ -152,15 +152,13 @@ public: RecvInitRendering( Endpoint<PCompositorBridgeChild>&& aCompositor, Endpoint<PImageBridgeChild>&& aImageBridge, - Endpoint<PVRManagerChild>&& aVRBridge, - Endpoint<PVideoDecoderManagerChild>&& aVideoManager) override; + Endpoint<PVideoDecoderManagerChild>&& aVideoManager); bool RecvReinitRendering( Endpoint<PCompositorBridgeChild>&& aCompositor, Endpoint<PImageBridgeChild>&& aImageBridge, - Endpoint<PVRManagerChild>&& aVRBridge, - Endpoint<PVideoDecoderManagerChild>&& aVideoManager) override; + Endpoint<PVideoDecoderManagerChild>&& aVideoManager); PProcessHangMonitorChild* AllocPProcessHangMonitorChild(Transport* aTransport, diff --git a/dom/ipc/ContentParent.cpp b/dom/ipc/ContentParent.cpp index 5c6aadb77..417420ecb 100644 --- a/dom/ipc/ContentParent.cpp +++ b/dom/ipc/ContentParent.cpp @@ -2073,21 +2073,18 @@ ContentParent::InitInternal(ProcessPriority aInitialPriority, Endpoint<PCompositorBridgeChild> compositor; Endpoint<PImageBridgeChild> imageBridge; - Endpoint<PVRManagerChild> vrBridge; Endpoint<PVideoDecoderManagerChild> videoManager; DebugOnly<bool> opened = gpm->CreateContentBridges( OtherPid(), &compositor, &imageBridge, - &vrBridge, &videoManager); MOZ_ASSERT(opened); Unused << SendInitRendering( Move(compositor), Move(imageBridge), - Move(vrBridge), Move(videoManager)); gpm->AddListener(this); @@ -2201,21 +2198,18 @@ ContentParent::OnCompositorUnexpectedShutdown() Endpoint<PCompositorBridgeChild> compositor; Endpoint<PImageBridgeChild> imageBridge; - Endpoint<PVRManagerChild> vrBridge; Endpoint<PVideoDecoderManagerChild> videoManager; DebugOnly<bool> opened = gpm->CreateContentBridges( OtherPid(), &compositor, &imageBridge, - &vrBridge, &videoManager); MOZ_ASSERT(opened); Unused << SendReinitRendering( Move(compositor), Move(imageBridge), - Move(vrBridge), Move(videoManager)); } diff --git a/dom/ipc/PContent.ipdl b/dom/ipc/PContent.ipdl index c01ad59c1..9298f9d02 100644 --- a/dom/ipc/PContent.ipdl +++ b/dom/ipc/PContent.ipdl @@ -44,7 +44,6 @@ include protocol PRemoteSpellcheckEngine; include protocol PWebBrowserPersistDocument; include protocol PWebrtcGlobal; include protocol PPresentation; -include protocol PVRManager; include protocol PVideoDecoderManager; include protocol PFlyWebPublishedServer; include DOMTypes; @@ -311,7 +310,6 @@ child: async InitRendering( Endpoint<PCompositorBridgeChild> compositor, Endpoint<PImageBridgeChild> imageBridge, - Endpoint<PVRManagerChild> vr, Endpoint<PVideoDecoderManagerChild> video); // Re-create the rendering stack using the given endpoints. This is sent @@ -320,7 +318,6 @@ child: async ReinitRendering( Endpoint<PCompositorBridgeChild> compositor, Endpoint<PImageBridgeChild> bridge, - Endpoint<PVRManagerChild> vr, Endpoint<PVideoDecoderManagerChild> video); /** diff --git a/dom/ipc/TabChild.cpp b/dom/ipc/TabChild.cpp index 244fa9969..3fe94001e 100644 --- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -107,7 +107,6 @@ #include "nsDeviceContext.h" #include "nsSandboxFlags.h" #include "FrameLayerBuilder.h" -#include "VRManagerChild.h" #include "nsICommandParams.h" #include "nsISHistory.h" #include "nsQueryObject.h" @@ -2565,7 +2564,6 @@ TabChild::InitRenderingState(const TextureFactoryIdentifier& aTextureFactoryIden lf->SetShadowManager(shadowManager); lf->IdentifyTextureHost(mTextureFactoryIdentifier); ImageBridgeChild::IdentifyCompositorTextureHost(mTextureFactoryIdentifier); - gfx::VRManagerChild::IdentifyTextureHost(mTextureFactoryIdentifier); } mRemoteFrame = remoteFrame; diff --git a/dom/media/MediaPrefs.h b/dom/media/MediaPrefs.h index e67796edd..c67a89989 100644 --- a/dom/media/MediaPrefs.h +++ b/dom/media/MediaPrefs.h @@ -105,9 +105,6 @@ private: DECL_MEDIA_PREF("media.eme.enabled", EMEEnabled, bool, false); DECL_MEDIA_PREF("media.use-blank-decoder", PDMUseBlankDecoder, bool, false); DECL_MEDIA_PREF("media.gpu-process-decoder", PDMUseGPUDecoder, bool, false); -#ifdef MOZ_GONK_MEDIACODEC - DECL_MEDIA_PREF("media.gonk.enabled", PDMGonkDecoderEnabled, bool, true); -#endif #ifdef MOZ_WIDGET_ANDROID DECL_MEDIA_PREF("media.android-media-codec.enabled", PDMAndroidMediaCodecEnabled, bool, false); DECL_MEDIA_PREF("media.android-media-codec.preferred", PDMAndroidMediaCodecPreferred, bool, false); diff --git a/dom/media/directshow/DirectShowReader.h b/dom/media/directshow/DirectShowReader.h index e1326d416..881b27c28 100644 --- a/dom/media/directshow/DirectShowReader.h +++ b/dom/media/directshow/DirectShowReader.h @@ -14,7 +14,7 @@ #include "MP3FrameParser.h" // Add the graph to the Running Object Table so that we can connect -// to this graph with GraphEdit/GraphStudio. Note: on Vista and up you must +// to this graph with GraphEdit/GraphStudio. Note: you must // also regsvr32 proppage.dll from the Windows SDK. // See: http://msdn.microsoft.com/en-us/library/ms787252(VS.85).aspx // #define DIRECTSHOW_REGISTER_GRAPH diff --git a/dom/media/fmp4/MP4Decoder.cpp b/dom/media/fmp4/MP4Decoder.cpp index fdd6f2c7e..6954e9757 100644 --- a/dom/media/fmp4/MP4Decoder.cpp +++ b/dom/media/fmp4/MP4Decoder.cpp @@ -83,10 +83,6 @@ MP4Decoder::CanHandleMediaType(const MediaContentType& aType, const bool isMP4Audio = aType.GetMIMEType().EqualsASCII("audio/mp4") || aType.GetMIMEType().EqualsASCII("audio/x-m4a"); const bool isMP4Video = - // On B2G, treat 3GPP as MP4 when Gonk PDM is available. -#ifdef MOZ_GONK_MEDIACODEC - aType.GetMIMEType().EqualsASCII(VIDEO_3GPP) || -#endif aType.GetMIMEType().EqualsASCII("video/mp4") || aType.GetMIMEType().EqualsASCII("video/quicktime") || aType.GetMIMEType().EqualsASCII("video/x-m4v"); @@ -139,6 +135,14 @@ MP4Decoder::CanHandleMediaType(const MediaContentType& aType, NS_LITERAL_CSTRING("audio/flac"), aType)); continue; } +#ifdef MOZ_AV1 + if (IsAV1CodecString(codec)) { + trackInfos.AppendElement( + CreateTrackInfoWithMIMETypeAndContentTypeExtraParameters( + NS_LITERAL_CSTRING("video/av1"), aType)); + continue; + } +#endif // Note: Only accept H.264 in a video content type, not in an audio // content type. if (IsWhitelistedH264Codec(codec) && isMP4Video) { diff --git a/dom/media/fmp4/moz.build b/dom/media/fmp4/moz.build index 6a249ae3e..a79fb0229 100644 --- a/dom/media/fmp4/moz.build +++ b/dom/media/fmp4/moz.build @@ -20,6 +20,3 @@ SOURCES += [ ] FINAL_LIBRARY = 'xul' - -if CONFIG['MOZ_GONK_MEDIACODEC']: - DEFINES['MOZ_GONK_MEDIACODEC'] = True diff --git a/dom/media/gmp/GMPParent.cpp b/dom/media/gmp/GMPParent.cpp index 40c3e5141..418f14736 100644 --- a/dom/media/gmp/GMPParent.cpp +++ b/dom/media/gmp/GMPParent.cpp @@ -516,8 +516,7 @@ GMPCapability::Supports(const nsTArray<GMPCapability>& aCapabilities, #ifdef XP_WIN // Clearkey on Windows advertises that it can decode in its GMP info // file, but uses Windows Media Foundation to decode. That's not present - // on Windows XP, and on some Vista, Windows N, and KN variants without - // certain services packs. + // on Windows N and KN variants without certain services packs. if (tag.Equals(kEMEKeySystemClearkey)) { if (capabilities.mAPIName.EqualsLiteral(GMP_API_VIDEO_DECODER)) { if (!WMFDecoderModule::HasH264()) { diff --git a/dom/media/mediasource/MediaSource.cpp b/dom/media/mediasource/MediaSource.cpp index af541bbbb..152c0085a 100644 --- a/dom/media/mediasource/MediaSource.cpp +++ b/dom/media/mediasource/MediaSource.cpp @@ -62,8 +62,6 @@ namespace mozilla { // Returns true if we should enable MSE webm regardless of preferences. // 1. If MP4/H264 isn't supported: -// * Windows XP -// * Windows Vista and Server 2008 without the optional "Platform Update Supplement" // * N/KN editions (Europe and Korea) of Windows 7/8/8.1/10 without the // optional "Windows Media Feature Pack" // 2. If H264 hardware acceleration is not available. diff --git a/dom/media/mediasource/moz.build b/dom/media/mediasource/moz.build index 6ded1875d..a1689c216 100644 --- a/dom/media/mediasource/moz.build +++ b/dom/media/mediasource/moz.build @@ -38,9 +38,6 @@ TEST_DIRS += [ 'gtest', ] -if CONFIG['MOZ_GONK_MEDIACODEC']: - DEFINES['MOZ_GONK_MEDIACODEC'] = True - include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' diff --git a/dom/media/platforms/PDMFactory.cpp b/dom/media/platforms/PDMFactory.cpp index c1e58fdc2..5bfdcffb7 100644 --- a/dom/media/platforms/PDMFactory.cpp +++ b/dom/media/platforms/PDMFactory.cpp @@ -19,9 +19,6 @@ #ifdef MOZ_APPLEMEDIA #include "AppleDecoderModule.h" #endif -#ifdef MOZ_GONK_MEDIACODEC -#include "GonkDecoderModule.h" -#endif #ifdef MOZ_WIDGET_ANDROID #include "AndroidDecoderModule.h" #endif @@ -390,12 +387,6 @@ PDMFactory::CreatePDMs() m = new AppleDecoderModule(); StartupPDM(m); #endif -#ifdef MOZ_GONK_MEDIACODEC - if (MediaPrefs::PDMGonkDecoderEnabled()) { - m = new GonkDecoderModule(); - StartupPDM(m); - } -#endif #ifdef MOZ_WIDGET_ANDROID if(MediaPrefs::PDMAndroidMediaCodecEnabled()){ m = new AndroidDecoderModule(); diff --git a/dom/media/platforms/omx/OmxPlatformLayer.cpp b/dom/media/platforms/omx/OmxPlatformLayer.cpp index 039b4a22f..15b3062a4 100644 --- a/dom/media/platforms/omx/OmxPlatformLayer.cpp +++ b/dom/media/platforms/omx/OmxPlatformLayer.cpp @@ -282,26 +282,7 @@ OmxPlatformLayer::CompressionFormat() } } -// Implementations for different platforms will be defined in their own files. -#ifdef OMX_PLATFORM_GONK - -bool -OmxPlatformLayer::SupportsMimeType(const nsACString& aMimeType) -{ - return GonkOmxPlatformLayer::FindComponents(aMimeType); -} - -OmxPlatformLayer* -OmxPlatformLayer::Create(OmxDataDecoder* aDataDecoder, - OmxPromiseLayer* aPromiseLayer, - TaskQueue* aTaskQueue, - layers::ImageContainer* aImageContainer) -{ - return new GonkOmxPlatformLayer(aDataDecoder, aPromiseLayer, aTaskQueue, aImageContainer); -} - -#else // For platforms without OMX IL support. - +// For platforms without OMX IL support. bool OmxPlatformLayer::SupportsMimeType(const nsACString& aMimeType) { @@ -317,6 +298,4 @@ OmxPlatformLayer::Create(OmxDataDecoder* aDataDecoder, return nullptr; } -#endif - } diff --git a/dom/media/platforms/wmf/WMFDecoderModule.h b/dom/media/platforms/wmf/WMFDecoderModule.h index cd7b8c660..6582f8056 100644 --- a/dom/media/platforms/wmf/WMFDecoderModule.h +++ b/dom/media/platforms/wmf/WMFDecoderModule.h @@ -40,10 +40,8 @@ public: static int GetNumDecoderThreads(); // Accessors that report whether we have the required MFTs available - // on the system to play various codecs. Windows Vista doesn't have the - // H.264/AAC decoders if the "Platform Update Supplement for Windows Vista" - // is not installed, and Window N and KN variants also require a "Media - // Feature Pack" to be installed. Windows XP doesn't have WMF. + // on the system to play various codecs. Windows N and KN variants + // require a "Media Feature Pack" to be installed. static bool HasAAC(); static bool HasH264(); diff --git a/dom/moz.build b/dom/moz.build index 358fc6411..54dc0510e 100644 --- a/dom/moz.build +++ b/dom/moz.build @@ -94,7 +94,6 @@ DIRS += [ 'xslt', 'xul', 'manifest', - 'vr', 'u2f', 'console', 'performance', diff --git a/dom/vr/VRDisplay.cpp b/dom/vr/VRDisplay.cpp deleted file mode 100644 index 80922422f..000000000 --- a/dom/vr/VRDisplay.cpp +++ /dev/null @@ -1,802 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "nsWrapperCache.h" - -#include "mozilla/dom/Element.h" -#include "mozilla/dom/ElementBinding.h" -#include "mozilla/dom/Promise.h" -#include "mozilla/dom/VRDisplay.h" -#include "mozilla/HoldDropJSObjects.h" -#include "mozilla/dom/VRDisplayBinding.h" -#include "Navigator.h" -#include "gfxVR.h" -#include "VRDisplayClient.h" -#include "VRManagerChild.h" -#include "VRDisplayPresentation.h" -#include "nsIObserverService.h" -#include "nsIFrame.h" -#include "nsISupportsPrimitives.h" - -using namespace mozilla::gfx; - -namespace mozilla { -namespace dom { - -VRFieldOfView::VRFieldOfView(nsISupports* aParent, - double aUpDegrees, double aRightDegrees, - double aDownDegrees, double aLeftDegrees) - : mParent(aParent) - , mUpDegrees(aUpDegrees) - , mRightDegrees(aRightDegrees) - , mDownDegrees(aDownDegrees) - , mLeftDegrees(aLeftDegrees) -{ -} - -VRFieldOfView::VRFieldOfView(nsISupports* aParent, const gfx::VRFieldOfView& aSrc) - : mParent(aParent) - , mUpDegrees(aSrc.upDegrees) - , mRightDegrees(aSrc.rightDegrees) - , mDownDegrees(aSrc.downDegrees) - , mLeftDegrees(aSrc.leftDegrees) -{ -} - -bool -VRDisplayCapabilities::HasPosition() const -{ - return bool(mFlags & gfx::VRDisplayCapabilityFlags::Cap_Position); -} - -bool -VRDisplayCapabilities::HasOrientation() const -{ - return bool(mFlags & gfx::VRDisplayCapabilityFlags::Cap_Orientation); -} - -bool -VRDisplayCapabilities::HasExternalDisplay() const -{ - return bool(mFlags & gfx::VRDisplayCapabilityFlags::Cap_External); -} - -bool -VRDisplayCapabilities::CanPresent() const -{ - return bool(mFlags & gfx::VRDisplayCapabilityFlags::Cap_Present); -} - -uint32_t -VRDisplayCapabilities::MaxLayers() const -{ - return CanPresent() ? 1 : 0; -} - -/*static*/ bool -VRDisplay::RefreshVRDisplays(uint64_t aWindowId) -{ - gfx::VRManagerChild* vm = gfx::VRManagerChild::Get(); - return vm && vm->RefreshVRDisplaysWithCallback(aWindowId); -} - -/*static*/ void -VRDisplay::UpdateVRDisplays(nsTArray<RefPtr<VRDisplay>>& aDisplays, nsPIDOMWindowInner* aWindow) -{ - nsTArray<RefPtr<VRDisplay>> displays; - - gfx::VRManagerChild* vm = gfx::VRManagerChild::Get(); - nsTArray<RefPtr<gfx::VRDisplayClient>> updatedDisplays; - if (vm && vm->GetVRDisplays(updatedDisplays)) { - for (size_t i = 0; i < updatedDisplays.Length(); i++) { - RefPtr<gfx::VRDisplayClient> display = updatedDisplays[i]; - bool isNewDisplay = true; - for (size_t j = 0; j < aDisplays.Length(); j++) { - if (aDisplays[j]->GetClient()->GetDisplayInfo() == display->GetDisplayInfo()) { - displays.AppendElement(aDisplays[j]); - isNewDisplay = false; - } - } - - if (isNewDisplay) { - displays.AppendElement(new VRDisplay(aWindow, display)); - } - } - } - - aDisplays = displays; -} - -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(VRFieldOfView, mParent) -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(VRFieldOfView, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(VRFieldOfView, Release) - - -JSObject* -VRFieldOfView::WrapObject(JSContext* aCx, - JS::Handle<JSObject*> aGivenProto) -{ - return VRFieldOfViewBinding::Wrap(aCx, this, aGivenProto); -} - -NS_IMPL_CYCLE_COLLECTION_CLASS(VREyeParameters) - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(VREyeParameters) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mParent, mFOV) - NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER - tmp->mOffset = nullptr; -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(VREyeParameters) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mParent, mFOV) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(VREyeParameters) - NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mOffset) -NS_IMPL_CYCLE_COLLECTION_TRACE_END - -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(VREyeParameters, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(VREyeParameters, Release) - -VREyeParameters::VREyeParameters(nsISupports* aParent, - const gfx::Point3D& aEyeTranslation, - const gfx::VRFieldOfView& aFOV, - const gfx::IntSize& aRenderSize) - : mParent(aParent) - , mEyeTranslation(aEyeTranslation) - , mRenderSize(aRenderSize) -{ - mFOV = new VRFieldOfView(aParent, aFOV); - mozilla::HoldJSObjects(this); -} - -VREyeParameters::~VREyeParameters() -{ - mozilla::DropJSObjects(this); -} - -VRFieldOfView* -VREyeParameters::FieldOfView() -{ - return mFOV; -} - -void -VREyeParameters::GetOffset(JSContext* aCx, JS::MutableHandle<JSObject*> aRetval, ErrorResult& aRv) -{ - if (!mOffset) { - // Lazily create the Float32Array - mOffset = dom::Float32Array::Create(aCx, this, 3, mEyeTranslation.components); - if (!mOffset) { - aRv.NoteJSContextException(aCx); - return; - } - } - aRetval.set(mOffset); -} - -JSObject* -VREyeParameters::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) -{ - return VREyeParametersBinding::Wrap(aCx, this, aGivenProto); -} - -VRStageParameters::VRStageParameters(nsISupports* aParent, - const gfx::Matrix4x4& aSittingToStandingTransform, - const gfx::Size& aSize) - : mParent(aParent) - , mSittingToStandingTransform(aSittingToStandingTransform) - , mSittingToStandingTransformArray(nullptr) - , mSize(aSize) -{ - mozilla::HoldJSObjects(this); -} - -VRStageParameters::~VRStageParameters() -{ - mozilla::DropJSObjects(this); -} - -JSObject* -VRStageParameters::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) -{ - return VRStageParametersBinding::Wrap(aCx, this, aGivenProto); -} - -NS_IMPL_CYCLE_COLLECTION_CLASS(VRStageParameters) - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(VRStageParameters) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mParent) - NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER - tmp->mSittingToStandingTransformArray = nullptr; -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(VRStageParameters) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mParent) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(VRStageParameters) - NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mSittingToStandingTransformArray) -NS_IMPL_CYCLE_COLLECTION_TRACE_END - -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(VRStageParameters, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(VRStageParameters, Release) - -void -VRStageParameters::GetSittingToStandingTransform(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - if (!mSittingToStandingTransformArray) { - // Lazily create the Float32Array - mSittingToStandingTransformArray = dom::Float32Array::Create(aCx, this, 16, - mSittingToStandingTransform.components); - if (!mSittingToStandingTransformArray) { - aRv.NoteJSContextException(aCx); - return; - } - } - aRetval.set(mSittingToStandingTransformArray); -} - -NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(VRDisplayCapabilities, mParent) -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(VRDisplayCapabilities, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(VRDisplayCapabilities, Release) - -JSObject* -VRDisplayCapabilities::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) -{ - return VRDisplayCapabilitiesBinding::Wrap(aCx, this, aGivenProto); -} - -VRPose::VRPose(nsISupports* aParent, const gfx::VRHMDSensorState& aState) - : Pose(aParent) - , mVRState(aState) -{ - mFrameId = aState.inputFrameID; - mozilla::HoldJSObjects(this); -} - -VRPose::VRPose(nsISupports* aParent) - : Pose(aParent) -{ - mFrameId = 0; - mVRState.Clear(); - mozilla::HoldJSObjects(this); -} - -VRPose::~VRPose() -{ - mozilla::DropJSObjects(this); -} - -void -VRPose::GetPosition(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mPosition, mVRState.position, 3, - !mPosition && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Position), - aRv); -} - -void -VRPose::GetLinearVelocity(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mLinearVelocity, mVRState.linearVelocity, 3, - !mLinearVelocity && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Position), - aRv); -} - -void -VRPose::GetLinearAcceleration(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mLinearAcceleration, mVRState.linearAcceleration, 3, - !mLinearAcceleration && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_LinearAcceleration), - aRv); - -} - -void -VRPose::GetOrientation(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mOrientation, mVRState.orientation, 4, - !mOrientation && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Orientation), - aRv); -} - -void -VRPose::GetAngularVelocity(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mAngularVelocity, mVRState.angularVelocity, 3, - !mAngularVelocity && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Orientation), - aRv); -} - -void -VRPose::GetAngularAcceleration(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - SetFloat32Array(aCx, aRetval, mAngularAcceleration, mVRState.angularAcceleration, 3, - !mAngularAcceleration && bool(mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_AngularAcceleration), - aRv); -} - -JSObject* -VRPose::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) -{ - return VRPoseBinding::Wrap(aCx, this, aGivenProto); -} - -/* virtual */ JSObject* -VRDisplay::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) -{ - return VRDisplayBinding::Wrap(aCx, this, aGivenProto); -} - -VRDisplay::VRDisplay(nsPIDOMWindowInner* aWindow, gfx::VRDisplayClient* aClient) - : DOMEventTargetHelper(aWindow) - , mClient(aClient) - , mDepthNear(0.01f) // Default value from WebVR Spec - , mDepthFar(10000.0f) // Default value from WebVR Spec -{ - const gfx::VRDisplayInfo& info = aClient->GetDisplayInfo(); - mDisplayId = info.GetDisplayID(); - mDisplayName = NS_ConvertASCIItoUTF16(info.GetDisplayName()); - mCapabilities = new VRDisplayCapabilities(aWindow, info.GetCapabilities()); - if (info.GetCapabilities() & gfx::VRDisplayCapabilityFlags::Cap_StageParameters) { - mStageParameters = new VRStageParameters(aWindow, - info.GetSittingToStandingTransform(), - info.GetStageSize()); - } - mozilla::HoldJSObjects(this); -} - -VRDisplay::~VRDisplay() -{ - ExitPresentInternal(); - mozilla::DropJSObjects(this); -} - -void -VRDisplay::LastRelease() -{ - // We don't want to wait for the CC to free up the presentation - // for use in other documents, so we do this in LastRelease(). - ExitPresentInternal(); -} - -already_AddRefed<VREyeParameters> -VRDisplay::GetEyeParameters(VREye aEye) -{ - gfx::VRDisplayInfo::Eye eye = aEye == VREye::Left ? gfx::VRDisplayInfo::Eye_Left : gfx::VRDisplayInfo::Eye_Right; - RefPtr<VREyeParameters> params = - new VREyeParameters(GetParentObject(), - mClient->GetDisplayInfo().GetEyeTranslation(eye), - mClient->GetDisplayInfo().GetEyeFOV(eye), - mClient->GetDisplayInfo().SuggestedEyeResolution()); - return params.forget(); -} - -VRDisplayCapabilities* -VRDisplay::Capabilities() -{ - return mCapabilities; -} - -VRStageParameters* -VRDisplay::GetStageParameters() -{ - return mStageParameters; -} - -void -VRDisplay::UpdateFrameInfo() -{ - /** - * The WebVR 1.1 spec Requires that VRDisplay.getPose and VRDisplay.getFrameData - * must return the same values until the next VRDisplay.submitFrame. - * - * mFrameInfo is marked dirty at the end of the frame or start of a new - * composition and lazily created here in order to receive mid-frame - * pose-prediction updates while still ensuring conformance to the WebVR spec - * requirements. - * - * If we are not presenting WebVR content, the frame will never end and we should - * return the latest frame data always. - */ - if (mFrameInfo.IsDirty() || !mPresentation) { - gfx::VRHMDSensorState state = mClient->GetSensorState(); - const gfx::VRDisplayInfo& info = mClient->GetDisplayInfo(); - mFrameInfo.Update(info, state, mDepthNear, mDepthFar); - } -} - -bool -VRDisplay::GetFrameData(VRFrameData& aFrameData) -{ - UpdateFrameInfo(); - aFrameData.Update(mFrameInfo); - return true; -} - -already_AddRefed<VRPose> -VRDisplay::GetPose() -{ - UpdateFrameInfo(); - RefPtr<VRPose> obj = new VRPose(GetParentObject(), mFrameInfo.mVRState); - - return obj.forget(); -} - -void -VRDisplay::ResetPose() -{ - mClient->ZeroSensor(); -} - -already_AddRefed<Promise> -VRDisplay::RequestPresent(const nsTArray<VRLayer>& aLayers, ErrorResult& aRv) -{ - nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(GetParentObject()); - if (!global) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - RefPtr<Promise> promise = Promise::Create(global, aRv); - NS_ENSURE_TRUE(!aRv.Failed(), nullptr); - - nsCOMPtr<nsIObserverService> obs = services::GetObserverService(); - NS_ENSURE_TRUE(obs, nullptr); - - if (mClient->GetIsPresenting()) { - // Only one presentation allowed per VRDisplay - // on a first-come-first-serve basis. - promise->MaybeRejectWithUndefined(); - } else { - mPresentation = mClient->BeginPresentation(aLayers); - mFrameInfo.Clear(); - - nsresult rv = obs->AddObserver(this, "inner-window-destroyed", false); - if (NS_WARN_IF(NS_FAILED(rv))) { - mPresentation = nullptr; - promise->MaybeRejectWithUndefined(); - } else { - promise->MaybeResolve(JS::UndefinedHandleValue); - } - } - return promise.forget(); -} - -NS_IMETHODIMP -VRDisplay::Observe(nsISupports* aSubject, const char* aTopic, - const char16_t* aData) -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (strcmp(aTopic, "inner-window-destroyed") == 0) { - nsCOMPtr<nsISupportsPRUint64> wrapper = do_QueryInterface(aSubject); - NS_ENSURE_TRUE(wrapper, NS_ERROR_FAILURE); - - uint64_t innerID; - nsresult rv = wrapper->GetData(&innerID); - NS_ENSURE_SUCCESS(rv, rv); - - if (!GetOwner() || GetOwner()->WindowID() == innerID) { - ExitPresentInternal(); - } - - return NS_OK; - } - - // This should not happen. - return NS_ERROR_FAILURE; -} - -already_AddRefed<Promise> -VRDisplay::ExitPresent(ErrorResult& aRv) -{ - nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(GetParentObject()); - if (!global) { - aRv.Throw(NS_ERROR_FAILURE); - return nullptr; - } - - - RefPtr<Promise> promise = Promise::Create(global, aRv); - NS_ENSURE_TRUE(!aRv.Failed(), nullptr); - - if (!IsPresenting()) { - // We can not exit a presentation outside of the context that - // started the presentation. - promise->MaybeRejectWithUndefined(); - } else { - promise->MaybeResolve(JS::UndefinedHandleValue); - ExitPresentInternal(); - } - - return promise.forget(); -} - -void -VRDisplay::ExitPresentInternal() -{ - mPresentation = nullptr; -} - -void -VRDisplay::GetLayers(nsTArray<VRLayer>& result) -{ - if (mPresentation) { - mPresentation->GetDOMLayers(result); - } else { - result = nsTArray<VRLayer>(); - } -} - -void -VRDisplay::SubmitFrame() -{ - if (mPresentation) { - mPresentation->SubmitFrame(); - } - mFrameInfo.Clear(); -} - -int32_t -VRDisplay::RequestAnimationFrame(FrameRequestCallback& aCallback, -ErrorResult& aError) -{ - gfx::VRManagerChild* vm = gfx::VRManagerChild::Get(); - - int32_t handle; - aError = vm->ScheduleFrameRequestCallback(aCallback, &handle); - return handle; -} - -void -VRDisplay::CancelAnimationFrame(int32_t aHandle, ErrorResult& aError) -{ - gfx::VRManagerChild* vm = gfx::VRManagerChild::Get(); - vm->CancelFrameRequestCallback(aHandle); -} - - -bool -VRDisplay::IsPresenting() const -{ - // IsPresenting returns true only if this Javascript context is presenting - // and will return false if another context is presenting. - return mPresentation != nullptr; -} - -bool -VRDisplay::IsConnected() const -{ - return mClient->GetIsConnected(); -} - -NS_IMPL_CYCLE_COLLECTION_INHERITED(VRDisplay, DOMEventTargetHelper, mCapabilities, mStageParameters) - -NS_IMPL_ADDREF_INHERITED(VRDisplay, DOMEventTargetHelper) -NS_IMPL_RELEASE_INHERITED(VRDisplay, DOMEventTargetHelper) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED(VRDisplay) -NS_INTERFACE_MAP_ENTRY(nsIObserver) -NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, DOMEventTargetHelper) -NS_INTERFACE_MAP_END_INHERITING(DOMEventTargetHelper) - -NS_IMPL_CYCLE_COLLECTION_CLASS(VRFrameData) - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(VRFrameData) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mParent, mPose) - NS_IMPL_CYCLE_COLLECTION_UNLINK_PRESERVED_WRAPPER - tmp->mLeftProjectionMatrix = nullptr; - tmp->mLeftViewMatrix = nullptr; - tmp->mRightProjectionMatrix = nullptr; - tmp->mRightViewMatrix = nullptr; -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN(VRFrameData) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mParent, mPose) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_TRACE_BEGIN(VRFrameData) - NS_IMPL_CYCLE_COLLECTION_TRACE_PRESERVED_WRAPPER - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mLeftProjectionMatrix) - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mLeftViewMatrix) - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mRightProjectionMatrix) - NS_IMPL_CYCLE_COLLECTION_TRACE_JS_MEMBER_CALLBACK(mRightViewMatrix) -NS_IMPL_CYCLE_COLLECTION_TRACE_END - -NS_IMPL_CYCLE_COLLECTION_ROOT_NATIVE(VRFrameData, AddRef) -NS_IMPL_CYCLE_COLLECTION_UNROOT_NATIVE(VRFrameData, Release) - -VRFrameData::VRFrameData(nsISupports* aParent) - : mParent(aParent) - , mLeftProjectionMatrix(nullptr) - , mLeftViewMatrix(nullptr) - , mRightProjectionMatrix(nullptr) - , mRightViewMatrix(nullptr) -{ - mozilla::HoldJSObjects(this); - mPose = new VRPose(aParent); -} - -VRFrameData::~VRFrameData() -{ - mozilla::DropJSObjects(this); -} - -/* static */ already_AddRefed<VRFrameData> -VRFrameData::Constructor(const GlobalObject& aGlobal, ErrorResult& aRv) -{ - RefPtr<VRFrameData> obj = new VRFrameData(aGlobal.GetAsSupports()); - return obj.forget(); -} - -JSObject* -VRFrameData::WrapObject(JSContext* aCx, - JS::Handle<JSObject*> aGivenProto) -{ - return VRFrameDataBinding::Wrap(aCx, this, aGivenProto); -} - -VRPose* -VRFrameData::Pose() -{ - return mPose; -} - -void -VRFrameData::LazyCreateMatrix(JS::Heap<JSObject*>& aArray, gfx::Matrix4x4& aMat, JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, ErrorResult& aRv) -{ - if (!aArray) { - // Lazily create the Float32Array - aArray = dom::Float32Array::Create(aCx, this, 16, aMat.components); - if (!aArray) { - aRv.NoteJSContextException(aCx); - return; - } - } - if (aArray) { - JS::ExposeObjectToActiveJS(aArray); - } - aRetval.set(aArray); -} - -double -VRFrameData::Timestamp() const -{ - // Converting from seconds to milliseconds - return mFrameInfo.mVRState.timestamp * 1000.0f; -} - -void -VRFrameData::GetLeftProjectionMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - LazyCreateMatrix(mLeftProjectionMatrix, mFrameInfo.mLeftProjection, aCx, - aRetval, aRv); -} - -void -VRFrameData::GetLeftViewMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - LazyCreateMatrix(mLeftViewMatrix, mFrameInfo.mLeftView, aCx, aRetval, aRv); -} - -void -VRFrameData::GetRightProjectionMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - LazyCreateMatrix(mRightProjectionMatrix, mFrameInfo.mRightProjection, aCx, - aRetval, aRv); -} - -void -VRFrameData::GetRightViewMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) -{ - LazyCreateMatrix(mRightViewMatrix, mFrameInfo.mRightView, aCx, aRetval, aRv); -} - -void -VRFrameData::Update(const VRFrameInfo& aFrameInfo) -{ - mFrameInfo = aFrameInfo; - - mLeftProjectionMatrix = nullptr; - mLeftViewMatrix = nullptr; - mRightProjectionMatrix = nullptr; - mRightViewMatrix = nullptr; - - mPose = new VRPose(GetParentObject(), mFrameInfo.mVRState); -} - -void -VRFrameInfo::Update(const gfx::VRDisplayInfo& aInfo, - const gfx::VRHMDSensorState& aState, - float aDepthNear, - float aDepthFar) -{ - mVRState = aState; - - gfx::Quaternion qt; - if (mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Orientation) { - qt.x = mVRState.orientation[0]; - qt.y = mVRState.orientation[1]; - qt.z = mVRState.orientation[2]; - qt.w = mVRState.orientation[3]; - } - gfx::Point3D pos; - if (mVRState.flags & gfx::VRDisplayCapabilityFlags::Cap_Position) { - pos.x = -mVRState.position[0]; - pos.y = -mVRState.position[1]; - pos.z = -mVRState.position[2]; - } - gfx::Matrix4x4 matHead; - matHead.SetRotationFromQuaternion(qt); - matHead.PreTranslate(pos); - - mLeftView = matHead; - mLeftView.PostTranslate(-aInfo.mEyeTranslation[gfx::VRDisplayInfo::Eye_Left]); - - mRightView = matHead; - mRightView.PostTranslate(-aInfo.mEyeTranslation[gfx::VRDisplayInfo::Eye_Right]); - - // Avoid division by zero within ConstructProjectionMatrix - const float kEpsilon = 0.00001f; - if (fabs(aDepthFar - aDepthNear) < kEpsilon) { - aDepthFar = aDepthNear + kEpsilon; - } - - const gfx::VRFieldOfView leftFOV = aInfo.mEyeFOV[gfx::VRDisplayInfo::Eye_Left]; - mLeftProjection = leftFOV.ConstructProjectionMatrix(aDepthNear, aDepthFar, true); - const gfx::VRFieldOfView rightFOV = aInfo.mEyeFOV[gfx::VRDisplayInfo::Eye_Right]; - mRightProjection = rightFOV.ConstructProjectionMatrix(aDepthNear, aDepthFar, true); -} - -VRFrameInfo::VRFrameInfo() -{ - mVRState.Clear(); -} - -bool -VRFrameInfo::IsDirty() -{ - return mVRState.timestamp == 0; -} - -void -VRFrameInfo::Clear() -{ - mVRState.Clear(); -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/vr/VRDisplay.h b/dom/vr/VRDisplay.h deleted file mode 100644 index d40d3d8ac..000000000 --- a/dom/vr/VRDisplay.h +++ /dev/null @@ -1,362 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_VRDisplay_h_ -#define mozilla_dom_VRDisplay_h_ - -#include <stdint.h> - -#include "mozilla/ErrorResult.h" -#include "mozilla/dom/TypedArray.h" -#include "mozilla/dom/VRDisplayBinding.h" -#include "mozilla/DOMEventTargetHelper.h" -#include "mozilla/dom/DOMPoint.h" -#include "mozilla/dom/DOMRect.h" -#include "mozilla/dom/Pose.h" - -#include "nsCOMPtr.h" -#include "nsString.h" -#include "nsTArray.h" - -#include "gfxVR.h" - -namespace mozilla { -namespace gfx { -class VRDisplayClient; -class VRDisplayPresentation; -struct VRFieldOfView; -enum class VRDisplayCapabilityFlags : uint16_t; -struct VRHMDSensorState; -} -namespace dom { -class Navigator; - -class VRFieldOfView final : public nsWrapperCache -{ -public: - VRFieldOfView(nsISupports* aParent, - double aUpDegrees, double aRightDegrees, - double aDownDegrees, double aLeftDegrees); - VRFieldOfView(nsISupports* aParent, const gfx::VRFieldOfView& aSrc); - - NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VRFieldOfView) - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VRFieldOfView) - - double UpDegrees() const { return mUpDegrees; } - double RightDegrees() const { return mRightDegrees; } - double DownDegrees() const { return mDownDegrees; } - double LeftDegrees() const { return mLeftDegrees; } - - nsISupports* GetParentObject() const { return mParent; } - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - -protected: - virtual ~VRFieldOfView() {} - - nsCOMPtr<nsISupports> mParent; - - double mUpDegrees; - double mRightDegrees; - double mDownDegrees; - double mLeftDegrees; -}; - -class VRDisplayCapabilities final : public nsWrapperCache -{ -public: - VRDisplayCapabilities(nsISupports* aParent, const gfx::VRDisplayCapabilityFlags& aFlags) - : mParent(aParent) - , mFlags(aFlags) - { - } - - NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VRDisplayCapabilities) - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VRDisplayCapabilities) - - nsISupports* GetParentObject() const - { - return mParent; - } - - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - - bool HasPosition() const; - bool HasOrientation() const; - bool HasExternalDisplay() const; - bool CanPresent() const; - uint32_t MaxLayers() const; - -protected: - ~VRDisplayCapabilities() {} - nsCOMPtr<nsISupports> mParent; - gfx::VRDisplayCapabilityFlags mFlags; -}; - -class VRPose final : public Pose -{ - -public: - VRPose(nsISupports* aParent, const gfx::VRHMDSensorState& aState); - explicit VRPose(nsISupports* aParent); - - uint32_t FrameID() const { return mFrameId; } - - virtual void GetPosition(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - virtual void GetLinearVelocity(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - virtual void GetLinearAcceleration(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - virtual void GetOrientation(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - virtual void GetAngularVelocity(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - virtual void GetAngularAcceleration(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv) override; - - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - -protected: - ~VRPose(); - - uint32_t mFrameId; - gfx::VRHMDSensorState mVRState; -}; - -struct VRFrameInfo -{ - VRFrameInfo(); - - void Update(const gfx::VRDisplayInfo& aInfo, - const gfx::VRHMDSensorState& aState, - float aDepthNear, - float aDepthFar); - - void Clear(); - bool IsDirty(); - - gfx::VRHMDSensorState mVRState; - gfx::Matrix4x4 mLeftProjection; - gfx::Matrix4x4 mLeftView; - gfx::Matrix4x4 mRightProjection; - gfx::Matrix4x4 mRightView; - -}; - -class VRFrameData final : public nsWrapperCache -{ -public: - NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VRFrameData) - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VRFrameData) - - explicit VRFrameData(nsISupports* aParent); - static already_AddRefed<VRFrameData> Constructor(const GlobalObject& aGlobal, - ErrorResult& aRv); - - void Update(const VRFrameInfo& aFrameInfo); - - // WebIDL Members - double Timestamp() const; - void GetLeftProjectionMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); - void GetLeftViewMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); - void GetRightProjectionMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); - void GetRightViewMatrix(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); - - VRPose* Pose(); - - // WebIDL Boilerplate - nsISupports* GetParentObject() const { return mParent; } - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - -protected: - ~VRFrameData(); - nsCOMPtr<nsISupports> mParent; - - VRFrameInfo mFrameInfo; - RefPtr<VRPose> mPose; - JS::Heap<JSObject*> mLeftProjectionMatrix; - JS::Heap<JSObject*> mLeftViewMatrix; - JS::Heap<JSObject*> mRightProjectionMatrix; - JS::Heap<JSObject*> mRightViewMatrix; - - void LazyCreateMatrix(JS::Heap<JSObject*>& aArray, gfx::Matrix4x4& aMat, - JSContext* aCx, JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); -}; - -class VRStageParameters final : public nsWrapperCache -{ -public: - VRStageParameters(nsISupports* aParent, - const gfx::Matrix4x4& aSittingToStandingTransform, - const gfx::Size& aSize); - - NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VRStageParameters) - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VRStageParameters) - - void GetSittingToStandingTransform(JSContext* aCx, - JS::MutableHandle<JSObject*> aRetval, - ErrorResult& aRv); - float SizeX() const { return mSize.width; } - float SizeZ() const { return mSize.height; } - - nsISupports* GetParentObject() const { return mParent; } - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - -protected: - ~VRStageParameters(); - - nsCOMPtr<nsISupports> mParent; - - gfx::Matrix4x4 mSittingToStandingTransform; - JS::Heap<JSObject*> mSittingToStandingTransformArray; - gfx::Size mSize; -}; - -class VREyeParameters final : public nsWrapperCache -{ -public: - VREyeParameters(nsISupports* aParent, - const gfx::Point3D& aEyeTranslation, - const gfx::VRFieldOfView& aFOV, - const gfx::IntSize& aRenderSize); - - NS_INLINE_DECL_CYCLE_COLLECTING_NATIVE_REFCOUNTING(VREyeParameters) - NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_NATIVE_CLASS(VREyeParameters) - - void GetOffset(JSContext* aCx, JS::MutableHandle<JSObject*> aRetVal, - ErrorResult& aRv); - - VRFieldOfView* FieldOfView(); - - uint32_t RenderWidth() const { return mRenderSize.width; } - uint32_t RenderHeight() const { return mRenderSize.height; } - - nsISupports* GetParentObject() const { return mParent; } - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; -protected: - ~VREyeParameters(); - - nsCOMPtr<nsISupports> mParent; - - - gfx::Point3D mEyeTranslation; - gfx::IntSize mRenderSize; - JS::Heap<JSObject*> mOffset; - RefPtr<VRFieldOfView> mFOV; -}; - -class VRDisplay final : public DOMEventTargetHelper - , public nsIObserver -{ -public: - NS_DECL_ISUPPORTS_INHERITED - NS_DECL_NSIOBSERVER - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(VRDisplay, DOMEventTargetHelper) - - virtual JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override; - - bool IsPresenting() const; - bool IsConnected() const; - - VRDisplayCapabilities* Capabilities(); - VRStageParameters* GetStageParameters(); - - uint32_t DisplayId() const { return mDisplayId; } - void GetDisplayName(nsAString& aDisplayName) const { aDisplayName = mDisplayName; } - - static bool RefreshVRDisplays(uint64_t aWindowId); - static void UpdateVRDisplays(nsTArray<RefPtr<VRDisplay> >& aDisplays, - nsPIDOMWindowInner* aWindow); - - gfx::VRDisplayClient *GetClient() { - return mClient; - } - - virtual already_AddRefed<VREyeParameters> GetEyeParameters(VREye aEye); - - bool GetFrameData(VRFrameData& aFrameData); - already_AddRefed<VRPose> GetPose(); - void ResetPose(); - - double DepthNear() { - return mDepthNear; - } - - double DepthFar() { - return mDepthFar; - } - - void SetDepthNear(double aDepthNear) { - // XXX When we start sending depth buffers to VRLayer's we will want - // to communicate this with the VRDisplayHost - mDepthNear = aDepthNear; - } - - void SetDepthFar(double aDepthFar) { - // XXX When we start sending depth buffers to VRLayer's we will want - // to communicate this with the VRDisplayHost - mDepthFar = aDepthFar; - } - - already_AddRefed<Promise> RequestPresent(const nsTArray<VRLayer>& aLayers, ErrorResult& aRv); - already_AddRefed<Promise> ExitPresent(ErrorResult& aRv); - void GetLayers(nsTArray<VRLayer>& result); - void SubmitFrame(); - - int32_t RequestAnimationFrame(mozilla::dom::FrameRequestCallback& aCallback, - mozilla::ErrorResult& aError); - void CancelAnimationFrame(int32_t aHandle, mozilla::ErrorResult& aError); - -protected: - VRDisplay(nsPIDOMWindowInner* aWindow, gfx::VRDisplayClient* aClient); - virtual ~VRDisplay(); - virtual void LastRelease() override; - - void ExitPresentInternal(); - void UpdateFrameInfo(); - - RefPtr<gfx::VRDisplayClient> mClient; - - uint32_t mDisplayId; - nsString mDisplayName; - - RefPtr<VRDisplayCapabilities> mCapabilities; - RefPtr<VRStageParameters> mStageParameters; - - double mDepthNear; - double mDepthFar; - - RefPtr<gfx::VRDisplayPresentation> mPresentation; - - /** - * The WebVR 1.1 spec Requires that VRDisplay.getPose and VRDisplay.getFrameData - * must return the same values until the next VRDisplay.submitFrame. - * mFrameInfo is updated only on the first call to either function within one - * frame. Subsequent calls before the next SubmitFrame or ExitPresent call - * will use these cached values. - */ - VRFrameInfo mFrameInfo; -}; - -} // namespace dom -} // namespace mozilla - -#endif diff --git a/dom/vr/VREventObserver.cpp b/dom/vr/VREventObserver.cpp deleted file mode 100644 index 1b6d1b978..000000000 --- a/dom/vr/VREventObserver.cpp +++ /dev/null @@ -1,79 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VREventObserver.h" - -#include "nsContentUtils.h" -#include "nsGlobalWindow.h" -#include "VRManagerChild.h" - -namespace mozilla { -namespace dom { - -using namespace gfx; - -/** - * This class is used by nsGlobalWindow to implement window.onvrdisplayconnected, - * window.onvrdisplaydisconnected, and window.onvrdisplaypresentchange. - */ -VREventObserver::VREventObserver(nsGlobalWindow* aGlobalWindow) - : mWindow(aGlobalWindow) -{ - MOZ_ASSERT(aGlobalWindow && aGlobalWindow->IsInnerWindow()); - - VRManagerChild* vmc = VRManagerChild::Get(); - if (vmc) { - vmc->AddListener(this); - } -} - -VREventObserver::~VREventObserver() -{ - VRManagerChild* vmc = VRManagerChild::Get(); - if (vmc) { - vmc->RemoveListener(this); - } -} - -void -VREventObserver::NotifyVRDisplayConnect() -{ - /** - * We do not call nsGlobalWindow::NotifyActiveVRDisplaysChanged here, as we - * can assume that a newly enumerated display is not presenting WebVR - * content. - */ - if (mWindow->AsInner()->IsCurrentInnerWindow()) { - MOZ_ASSERT(nsContentUtils::IsSafeToRunScript()); - mWindow->GetOuterWindow()->DispatchCustomEvent( - NS_LITERAL_STRING("vrdisplayconnected")); - } -} - -void -VREventObserver::NotifyVRDisplayDisconnect() -{ - if (mWindow->AsInner()->IsCurrentInnerWindow()) { - mWindow->NotifyActiveVRDisplaysChanged(); - MOZ_ASSERT(nsContentUtils::IsSafeToRunScript()); - mWindow->GetOuterWindow()->DispatchCustomEvent( - NS_LITERAL_STRING("vrdisplaydisconnected")); - } -} - -void -VREventObserver::NotifyVRDisplayPresentChange() -{ - if (mWindow->AsInner()->IsCurrentInnerWindow()) { - mWindow->NotifyActiveVRDisplaysChanged(); - MOZ_ASSERT(nsContentUtils::IsSafeToRunScript()); - mWindow->GetOuterWindow()->DispatchCustomEvent( - NS_LITERAL_STRING("vrdisplaypresentchange")); - } -} - -} // namespace dom -} // namespace mozilla diff --git a/dom/vr/VREventObserver.h b/dom/vr/VREventObserver.h deleted file mode 100644 index a30bb5960..000000000 --- a/dom/vr/VREventObserver.h +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this file, -* You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_VREventObserver_h -#define mozilla_dom_VREventObserver_h - -class nsGlobalWindow; - -namespace mozilla { -namespace dom { - -class VREventObserver final -{ -public: - ~VREventObserver(); - explicit VREventObserver(nsGlobalWindow* aGlobalWindow); - - void NotifyVRDisplayConnect(); - void NotifyVRDisplayDisconnect(); - void NotifyVRDisplayPresentChange(); - -private: - // Weak pointer, instance is owned by mWindow. - nsGlobalWindow* MOZ_NON_OWNING_REF mWindow; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_VREventObserver_h diff --git a/dom/vr/moz.build b/dom/vr/moz.build deleted file mode 100644 index a4aa8d69b..000000000 --- a/dom/vr/moz.build +++ /dev/null @@ -1,22 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -EXPORTS.mozilla.dom += [ - 'VRDisplay.h', - 'VREventObserver.h', - ] - -UNIFIED_SOURCES = [ - 'VRDisplay.cpp', - 'VREventObserver.cpp', - ] - -include('/ipc/chromium/chromium-config.mozbuild') - -FINAL_LIBRARY = 'xul' -LOCAL_INCLUDES += [ - '/dom/base' -] diff --git a/dom/webidl/Navigator.webidl b/dom/webidl/Navigator.webidl index 5452f3247..c353e8be7 100644 --- a/dom/webidl/Navigator.webidl +++ b/dom/webidl/Navigator.webidl @@ -268,14 +268,6 @@ partial interface Navigator { }; #endif // MOZ_GAMEPAD -partial interface Navigator { - [Throws, Pref="dom.vr.enabled"] - Promise<sequence<VRDisplay>> getVRDisplays(); - // TODO: Use FrozenArray once available. (Bug 1236777) - [Frozen, Cached, Pure, Pref="dom.vr.enabled"] - readonly attribute sequence<VRDisplay> activeVRDisplays; -}; - #ifdef MOZ_TIME_MANAGER // nsIDOMMozNavigatorTime partial interface Navigator { diff --git a/dom/webidl/VRDisplay.webidl b/dom/webidl/VRDisplay.webidl deleted file mode 100644 index 63ebd1205..000000000 --- a/dom/webidl/VRDisplay.webidl +++ /dev/null @@ -1,286 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -enum VREye { - "left", - "right" -}; - -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRFieldOfView { - readonly attribute double upDegrees; - readonly attribute double rightDegrees; - readonly attribute double downDegrees; - readonly attribute double leftDegrees; -}; - -typedef (HTMLCanvasElement or OffscreenCanvas) VRSource; - -dictionary VRLayer { - /** - * XXX - When WebVR in WebWorkers is implemented, HTMLCanvasElement below - * should be replaced with VRSource. - */ - HTMLCanvasElement? source = null; - - /** - * The left and right viewports contain 4 values defining the viewport - * rectangles within the canvas to present to the eye in UV space. - * [0] left offset of the viewport (0.0 - 1.0) - * [1] top offset of the viewport (0.0 - 1.0) - * [2] width of the viewport (0.0 - 1.0) - * [3] height of the viewport (0.0 - 1.0) - * - * When no values are passed, they will be processed as though the left - * and right sides of the viewport were passed: - * - * leftBounds: [0.0, 0.0, 0.5, 1.0] - * rightBounds: [0.5, 0.0, 0.5, 1.0] - */ - sequence<float> leftBounds = []; - sequence<float> rightBounds = []; -}; - -/** - * Values describing the capabilities of a VRDisplay. - * These are expected to be static per-device/per-user. - */ -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRDisplayCapabilities { - /** - * hasPosition is true if the VRDisplay is capable of tracking its position. - */ - readonly attribute boolean hasPosition; - - /** - * hasOrientation is true if the VRDisplay is capable of tracking its orientation. - */ - readonly attribute boolean hasOrientation; - - /** - * Whether the VRDisplay is separate from the device’s - * primary display. If presenting VR content will obscure - * other content on the device, this should be false. When - * false, the application should not attempt to mirror VR content - * or update non-VR UI because that content will not be visible. - */ - readonly attribute boolean hasExternalDisplay; - - /** - * Whether the VRDisplay is capable of presenting content to an HMD or similar device. - * Can be used to indicate “magic window” devices that are capable of 6DoF tracking but for - * which requestPresent is not meaningful. If false then calls to requestPresent should - * always fail, and getEyeParameters should return null. - */ - readonly attribute boolean canPresent; - - /** - * Indicates the maximum length of the array that requestPresent() will accept. MUST be 1 if - canPresent is true, 0 otherwise. - */ - readonly attribute unsigned long maxLayers; -}; - -/** - * Values describing the the stage / play area for devices - * that support room-scale experiences. - */ -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRStageParameters { - /** - * A 16-element array containing the components of a column-major 4x4 - * affine transform matrix. This matrix transforms the sitting-space position - * returned by get{Immediate}Pose() to a standing-space position. - */ - [Throws] readonly attribute Float32Array sittingToStandingTransform; - - /** - * Dimensions of the play-area bounds. The bounds are defined - * as an axis-aligned rectangle on the floor. - * The center of the rectangle is at (0,0,0) in standing-space - * coordinates. - * These bounds are defined for safety purposes. - * Content should not require the user to move beyond these - * bounds; however, it is possible for the user to ignore - * the bounds resulting in position values outside of - * this rectangle. - */ - readonly attribute float sizeX; - readonly attribute float sizeZ; -}; - -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRPose -{ - /** - * position, linearVelocity, and linearAcceleration are 3-component vectors. - * position is relative to a sitting space. Transforming this point with - * VRStageParameters.sittingToStandingTransform converts this to standing space. - */ - [Constant, Throws] readonly attribute Float32Array? position; - [Constant, Throws] readonly attribute Float32Array? linearVelocity; - [Constant, Throws] readonly attribute Float32Array? linearAcceleration; - - /* orientation is a 4-entry array representing the components of a quaternion. */ - [Constant, Throws] readonly attribute Float32Array? orientation; - /* angularVelocity and angularAcceleration are the components of 3-dimensional vectors. */ - [Constant, Throws] readonly attribute Float32Array? angularVelocity; - [Constant, Throws] readonly attribute Float32Array? angularAcceleration; -}; - -[Constructor, - Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRFrameData { - readonly attribute DOMHighResTimeStamp timestamp; - - [Throws, Pure] readonly attribute Float32Array leftProjectionMatrix; - [Throws, Pure] readonly attribute Float32Array leftViewMatrix; - - [Throws, Pure] readonly attribute Float32Array rightProjectionMatrix; - [Throws, Pure] readonly attribute Float32Array rightViewMatrix; - - [Pure] readonly attribute VRPose pose; -}; - -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VREyeParameters { - /** - * offset is a 3-component vector representing an offset to - * translate the eye. This value may vary from frame - * to frame if the user adjusts their headset ipd. - */ - [Constant, Throws] readonly attribute Float32Array offset; - - /* These values may vary as the user adjusts their headset ipd. */ - [Constant] readonly attribute VRFieldOfView fieldOfView; - - /** - * renderWidth and renderHeight specify the recommended render target - * size of each eye viewport, in pixels. If multiple eyes are rendered - * in a single render target, then the render target should be made large - * enough to fit both viewports. - */ - [Constant] readonly attribute unsigned long renderWidth; - [Constant] readonly attribute unsigned long renderHeight; -}; - -[Pref="dom.vr.enabled", - HeaderFile="mozilla/dom/VRDisplay.h"] -interface VRDisplay : EventTarget { - readonly attribute boolean isConnected; - readonly attribute boolean isPresenting; - - /** - * Dictionary of capabilities describing the VRDisplay. - */ - [Constant] readonly attribute VRDisplayCapabilities capabilities; - - /** - * If this VRDisplay supports room-scale experiences, the optional - * stage attribute contains details on the room-scale parameters. - */ - readonly attribute VRStageParameters? stageParameters; - - /* Return the current VREyeParameters for the given eye. */ - VREyeParameters getEyeParameters(VREye whichEye); - - /** - * An identifier for this distinct VRDisplay. Used as an - * association point in the Gamepad API. - */ - [Constant] readonly attribute unsigned long displayId; - - /** - * A display name, a user-readable name identifying it. - */ - [Constant] readonly attribute DOMString displayName; - - /** - * Populates the passed VRFrameData with the information required to render - * the current frame. - */ - boolean getFrameData(VRFrameData frameData); - - /** - * Return a VRPose containing the future predicted pose of the VRDisplay - * when the current frame will be presented. Subsequent calls to getPose() - * MUST return a VRPose with the same values until the next call to - * submitFrame(). - * - * The VRPose will contain the position, orientation, velocity, - * and acceleration of each of these properties. - */ - [NewObject] VRPose getPose(); - - /** - * Reset the pose for this display, treating its current position and - * orientation as the "origin/zero" values. VRPose.position, - * VRPose.orientation, and VRStageParameters.sittingToStandingTransform may be - * updated when calling resetPose(). This should be called in only - * sitting-space experiences. - */ - void resetPose(); - - /** - * z-depth defining the near plane of the eye view frustum - * enables mapping of values in the render target depth - * attachment to scene coordinates. Initially set to 0.01. - */ - attribute double depthNear; - - /** - * z-depth defining the far plane of the eye view frustum - * enables mapping of values in the render target depth - * attachment to scene coordinates. Initially set to 10000.0. - */ - attribute double depthFar; - - /** - * The callback passed to `requestAnimationFrame` will be called - * any time a new frame should be rendered. When the VRDisplay is - * presenting the callback will be called at the native refresh - * rate of the HMD. When not presenting this function acts - * identically to how window.requestAnimationFrame acts. Content should - * make no assumptions of frame rate or vsync behavior as the HMD runs - * asynchronously from other displays and at differing refresh rates. - */ - [Throws] long requestAnimationFrame(FrameRequestCallback callback); - - /** - * Passing the value returned by `requestAnimationFrame` to - * `cancelAnimationFrame` will unregister the callback. - */ - [Throws] void cancelAnimationFrame(long handle); - - /** - * Begin presenting to the VRDisplay. Must be called in response to a user gesture. - * Repeat calls while already presenting will update the VRLayers being displayed. - */ - [Throws] Promise<void> requestPresent(sequence<VRLayer> layers); - - /** - * Stops presenting to the VRDisplay. - */ - [Throws] Promise<void> exitPresent(); - - /** - * Get the layers currently being presented. - */ - sequence<VRLayer> getLayers(); - - /** - * The VRLayer provided to the VRDisplay will be captured and presented - * in the HMD. Calling this function has the same effect on the source - * canvas as any other operation that uses its source image, and canvases - * created without preserveDrawingBuffer set to true will be cleared. - */ - void submitFrame(); -}; diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index 4c2567a1c..06fea2f20 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -555,7 +555,6 @@ WEBIDL_FILES = [ 'VideoStreamTrack.webidl', 'VideoTrack.webidl', 'VideoTrackList.webidl', - 'VRDisplay.webidl', 'VTTCue.webidl', 'VTTRegion.webidl', 'WaveShaperNode.webidl', diff --git a/dom/xbl/nsXBLBinding.cpp b/dom/xbl/nsXBLBinding.cpp index d9a2aacc5..b8174f6c2 100644 --- a/dom/xbl/nsXBLBinding.cpp +++ b/dom/xbl/nsXBLBinding.cpp @@ -1049,7 +1049,8 @@ nsXBLBinding::DoInitJSClass(JSContext *cx, // to create and define it. JS::Rooted<JSObject*> proto(cx); JS::Rooted<JS::PropertyDescriptor> desc(cx); - if (!JS_GetOwnUCPropertyDescriptor(cx, holder, aClassName.get(), &desc)) { + if (!JS_GetOwnUCPropertyDescriptor(cx, holder, aClassName.get(), + aClassName.Length(), &desc)) { return NS_ERROR_OUT_OF_MEMORY; } *aNew = !desc.object(); diff --git a/dom/xbl/nsXBLProtoImpl.cpp b/dom/xbl/nsXBLProtoImpl.cpp index 4db9cabf0..5efcb71e0 100644 --- a/dom/xbl/nsXBLProtoImpl.cpp +++ b/dom/xbl/nsXBLProtoImpl.cpp @@ -100,11 +100,15 @@ nsXBLProtoImpl::InstallImplementation(nsXBLPrototypeBinding* aPrototypeBinding, // end up with a different content prototype, but we'll already have a property // holder called |foo| in the XBL scope. Check for that to avoid wasteful and // weird property holder duplication. - const char16_t* className = aPrototypeBinding->ClassName().get(); + const nsString& className = aPrototypeBinding->ClassName(); + const char16_t* classNameChars = className.get(); + const size_t classNameLen = className.Length(); + JS::Rooted<JSObject*> propertyHolder(cx); JS::Rooted<JS::PropertyDescriptor> existingHolder(cx); if (scopeObject != globalObject && - !JS_GetOwnUCPropertyDescriptor(cx, scopeObject, className, &existingHolder)) { + !JS_GetOwnUCPropertyDescriptor(cx, scopeObject, classNameChars, + classNameLen, &existingHolder)) { return NS_ERROR_FAILURE; } bool propertyHolderIsNew = !existingHolder.object() || !existingHolder.value().isObject(); @@ -119,8 +123,8 @@ nsXBLProtoImpl::InstallImplementation(nsXBLPrototypeBinding* aPrototypeBinding, // Define it as a property on the scopeObject, using the same name used on // the content side. - bool ok = JS_DefineUCProperty(cx, scopeObject, className, -1, propertyHolder, - JSPROP_PERMANENT | JSPROP_READONLY, + bool ok = JS_DefineUCProperty(cx, scopeObject, classNameChars, classNameLen, + propertyHolder, JSPROP_PERMANENT | JSPROP_READONLY, JS_STUBGETTER, JS_STUBSETTER); NS_ENSURE_TRUE(ok, NS_ERROR_UNEXPECTED); } else { diff --git a/extensions/spellcheck/src/mozEnglishWordUtils.cpp b/extensions/spellcheck/src/mozEnglishWordUtils.cpp index 5033b247b..671b22c16 100644 --- a/extensions/spellcheck/src/mozEnglishWordUtils.cpp +++ b/extensions/spellcheck/src/mozEnglishWordUtils.cpp @@ -165,7 +165,7 @@ NS_IMETHODIMP mozEnglishWordUtils::FindNextWord(const char16_t *word, uint32_t l // before we spend more time looking to see if the word is a url, look for a url identifer // and make sure that identifer isn't the last character in the word fragment. - if ( (*p == ':' || *p == '@' || *p == '.') && p < endbuf - 1) { + if ( (p < endbuf - 1) && (*p == ':' || *p == '@' || *p == '.') ) { // ok, we have a possible url...do more research to find out if we really have one // and determine the length of the url so we can skip over it. diff --git a/gfx/ipc/GPUParent.cpp b/gfx/ipc/GPUParent.cpp index b693f4728..9ff6cba9e 100644 --- a/gfx/ipc/GPUParent.cpp +++ b/gfx/ipc/GPUParent.cpp @@ -28,8 +28,6 @@ #include "nsThreadManager.h" #include "prenv.h" #include "ProcessUtils.h" -#include "VRManager.h" -#include "VRManagerParent.h" #include "VsyncBridgeParent.h" #if defined(XP_WIN) # include "DeviceManagerD3D9.h" @@ -100,7 +98,6 @@ GPUParent::Init(base::ProcessId aParentPid, CompositorThreadHolder::Start(); APZThreadUtils::SetControllerThread(CompositorThreadHolder::Loop()); APZCTreeManager::InitializeGlobalState(); - VRManager::ManagerInit(); LayerTreeOwnerTracker::Initialize(); mozilla::ipc::SetThisProcessName("GPU Process"); #ifdef XP_WIN @@ -203,13 +200,6 @@ GPUParent::RecvInitImageBridge(Endpoint<PImageBridgeParent>&& aEndpoint) } bool -GPUParent::RecvInitVRManager(Endpoint<PVRManagerParent>&& aEndpoint) -{ - VRManagerParent::CreateForGPUProcess(Move(aEndpoint)); - return true; -} - -bool GPUParent::RecvUpdatePref(const GfxPrefSetting& setting) { gfxPrefs::Pref* pref = gfxPrefs::all()[setting.index()]; @@ -302,12 +292,6 @@ GPUParent::RecvNewContentImageBridge(Endpoint<PImageBridgeParent>&& aEndpoint) } bool -GPUParent::RecvNewContentVRManager(Endpoint<PVRManagerParent>&& aEndpoint) -{ - return VRManagerParent::CreateForContent(Move(aEndpoint)); -} - -bool GPUParent::RecvNewContentVideoDecoderManager(Endpoint<PVideoDecoderManagerParent>&& aEndpoint) { return dom::VideoDecoderManagerParent::CreateForContent(Move(aEndpoint)); diff --git a/gfx/ipc/GPUParent.h b/gfx/ipc/GPUParent.h index 126efce50..3c0494bd4 100644 --- a/gfx/ipc/GPUParent.h +++ b/gfx/ipc/GPUParent.h @@ -32,7 +32,6 @@ public: const DevicePrefs& devicePrefs) override; bool RecvInitVsyncBridge(Endpoint<PVsyncBridgeParent>&& aVsyncEndpoint) override; bool RecvInitImageBridge(Endpoint<PImageBridgeParent>&& aEndpoint) override; - bool RecvInitVRManager(Endpoint<PVRManagerParent>&& aEndpoint) override; bool RecvUpdatePref(const GfxPrefSetting& pref) override; bool RecvUpdateVar(const GfxVarUpdate& pref) override; bool RecvNewWidgetCompositor( @@ -43,7 +42,6 @@ public: const IntSize& aSurfaceSize) override; bool RecvNewContentCompositorBridge(Endpoint<PCompositorBridgeParent>&& aEndpoint) override; bool RecvNewContentImageBridge(Endpoint<PImageBridgeParent>&& aEndpoint) override; - bool RecvNewContentVRManager(Endpoint<PVRManagerParent>&& aEndpoint) override; bool RecvNewContentVideoDecoderManager(Endpoint<PVideoDecoderManagerParent>&& aEndpoint) override; bool RecvGetDeviceStatus(GPUDeviceData* aOutStatus) override; bool RecvAddLayerTreeIdMapping(nsTArray<LayerTreeIdMapping>&& aMappings) override; diff --git a/gfx/ipc/GPUProcessManager.cpp b/gfx/ipc/GPUProcessManager.cpp index 0b55cd9b7..8aaf0f1d0 100644 --- a/gfx/ipc/GPUProcessManager.cpp +++ b/gfx/ipc/GPUProcessManager.cpp @@ -22,8 +22,6 @@ #endif #include "nsBaseWidget.h" #include "nsContentUtils.h" -#include "VRManagerChild.h" -#include "VRManagerParent.h" #include "VsyncBridgeChild.h" #include "VsyncIOThreadHolder.h" #include "VsyncSource.h" @@ -197,36 +195,6 @@ GPUProcessManager::EnsureImageBridgeChild() } void -GPUProcessManager::EnsureVRManager() -{ - if (VRManagerChild::IsCreated()) { - return; - } - - EnsureGPUReady(); - - if (!mGPUChild) { - VRManagerChild::InitSameProcess(); - return; - } - - ipc::Endpoint<PVRManagerParent> parentPipe; - ipc::Endpoint<PVRManagerChild> childPipe; - nsresult rv = PVRManager::CreateEndpoints( - mGPUChild->OtherPid(), - base::GetCurrentProcId(), - &parentPipe, - &childPipe); - if (NS_FAILED(rv)) { - DisableGPUProcess("Failed to create PVRManager endpoints"); - return; - } - - mGPUChild->SendInitVRManager(Move(parentPipe)); - VRManagerChild::InitWithGPUProcess(Move(childPipe)); -} - -void GPUProcessManager::OnProcessLaunchComplete(GPUProcessHost* aHost) { MOZ_ASSERT(mProcess && mProcess == aHost); @@ -488,7 +456,6 @@ GPUProcessManager::CreateTopLevelCompositor(nsBaseWidget* aWidget, EnsureGPUReady(); EnsureImageBridgeChild(); - EnsureVRManager(); if (mGPUChild) { RefPtr<CompositorSession> session = CreateRemoteSession( @@ -599,12 +566,10 @@ bool GPUProcessManager::CreateContentBridges(base::ProcessId aOtherProcess, ipc::Endpoint<PCompositorBridgeChild>* aOutCompositor, ipc::Endpoint<PImageBridgeChild>* aOutImageBridge, - ipc::Endpoint<PVRManagerChild>* aOutVRBridge, ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutVideoManager) { if (!CreateContentCompositorBridge(aOtherProcess, aOutCompositor) || - !CreateContentImageBridge(aOtherProcess, aOutImageBridge) || - !CreateContentVRManager(aOtherProcess, aOutVRBridge)) + !CreateContentImageBridge(aOtherProcess, aOutImageBridge)) { return false; } @@ -692,40 +657,6 @@ GPUProcessManager::GPUProcessPid() return gpuPid; } -bool -GPUProcessManager::CreateContentVRManager(base::ProcessId aOtherProcess, - ipc::Endpoint<PVRManagerChild>* aOutEndpoint) -{ - EnsureVRManager(); - - base::ProcessId gpuPid = mGPUChild - ? mGPUChild->OtherPid() - : base::GetCurrentProcId(); - - ipc::Endpoint<PVRManagerParent> parentPipe; - ipc::Endpoint<PVRManagerChild> childPipe; - nsresult rv = PVRManager::CreateEndpoints( - gpuPid, - aOtherProcess, - &parentPipe, - &childPipe); - if (NS_FAILED(rv)) { - gfxCriticalNote << "Could not create content compositor bridge: " << hexa(int(rv)); - return false; - } - - if (mGPUChild) { - mGPUChild->SendNewContentVRManager(Move(parentPipe)); - } else { - if (!VRManagerParent::CreateForContent(Move(parentPipe))) { - return false; - } - } - - *aOutEndpoint = Move(childPipe); - return true; -} - void GPUProcessManager::CreateContentVideoDecoderManager(base::ProcessId aOtherProcess, ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutEndpoint) diff --git a/gfx/ipc/GPUProcessManager.h b/gfx/ipc/GPUProcessManager.h index 84ed03609..5d4279094 100644 --- a/gfx/ipc/GPUProcessManager.h +++ b/gfx/ipc/GPUProcessManager.h @@ -45,7 +45,6 @@ namespace gfx { class GPUChild; class GPUProcessListener; -class PVRManagerChild; class VsyncBridgeChild; class VsyncIOThreadHolder; @@ -91,7 +90,6 @@ public: base::ProcessId aOtherProcess, ipc::Endpoint<PCompositorBridgeChild>* aOutCompositor, ipc::Endpoint<PImageBridgeChild>* aOutImageBridge, - ipc::Endpoint<PVRManagerChild>* aOutVRBridge, ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutVideoManager); // This returns a reference to the APZCTreeManager to which @@ -156,8 +154,6 @@ private: ipc::Endpoint<PCompositorBridgeChild>* aOutEndpoint); bool CreateContentImageBridge(base::ProcessId aOtherProcess, ipc::Endpoint<PImageBridgeChild>* aOutEndpoint); - bool CreateContentVRManager(base::ProcessId aOtherProcess, - ipc::Endpoint<PVRManagerChild>* aOutEndpoint); void CreateContentVideoDecoderManager(base::ProcessId aOtherProcess, ipc::Endpoint<dom::PVideoDecoderManagerChild>* aOutEndPoint); @@ -182,7 +178,6 @@ private: void ShutdownVsyncIOThread(); void EnsureImageBridgeChild(); - void EnsureVRManager(); RefPtr<CompositorSession> CreateRemoteSession( nsBaseWidget* aWidget, diff --git a/gfx/ipc/PGPU.ipdl b/gfx/ipc/PGPU.ipdl index d36c51394..a2c035c75 100644 --- a/gfx/ipc/PGPU.ipdl +++ b/gfx/ipc/PGPU.ipdl @@ -6,7 +6,6 @@ include GraphicsMessages; include protocol PCompositorBridge; include protocol PImageBridge; -include protocol PVRManager; include protocol PVsyncBridge; include protocol PVideoDecoderManager; @@ -47,7 +46,6 @@ parent: async InitVsyncBridge(Endpoint<PVsyncBridgeParent> endpoint); async InitImageBridge(Endpoint<PImageBridgeParent> endpoint); - async InitVRManager(Endpoint<PVRManagerParent> endpoint); // Called to update a gfx preference or variable. async UpdatePref(GfxPrefSetting pref); @@ -63,7 +61,6 @@ parent: // Create a new content-process compositor bridge. async NewContentCompositorBridge(Endpoint<PCompositorBridgeParent> endpoint); async NewContentImageBridge(Endpoint<PImageBridgeParent> endpoint); - async NewContentVRManager(Endpoint<PVRManagerParent> endpoint); async NewContentVideoDecoderManager(Endpoint<PVideoDecoderManagerParent> endpoint); // Called to notify the GPU process of who owns a layersId. diff --git a/gfx/layers/d3d11/TextureD3D11.cpp b/gfx/layers/d3d11/TextureD3D11.cpp index 954242585..628ca1288 100644 --- a/gfx/layers/d3d11/TextureD3D11.cpp +++ b/gfx/layers/d3d11/TextureD3D11.cpp @@ -1160,8 +1160,7 @@ CompositingRenderTargetD3D11::CompositingRenderTargetD3D11(ID3D11Texture2D* aTex mFormatOverride = aFormatOverride; // If we happen to have a typeless underlying DXGI surface, we need to be explicit - // about the format here. (Such a surface could come from an external source, such - // as the Oculus compositor) + // about the format here. (Such a surface could come from an external source) CD3D11_RENDER_TARGET_VIEW_DESC rtvDesc(D3D11_RTV_DIMENSION_TEXTURE2D, mFormatOverride); D3D11_RENDER_TARGET_VIEW_DESC *desc = aFormatOverride == DXGI_FORMAT_UNKNOWN ? nullptr : &rtvDesc; diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp index 00602fab5..87a19f5c0 100644 --- a/gfx/layers/ipc/CompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CompositorBridgeParent.cpp @@ -30,7 +30,6 @@ #include "mozilla/gfx/2D.h" // for DrawTarget #include "mozilla/gfx/Point.h" // for IntSize #include "mozilla/gfx/Rect.h" // for IntSize -#include "VRManager.h" // for VRManager #include "mozilla/ipc/Transport.h" // for Transport #include "mozilla/layers/APZCTreeManager.h" // for APZCTreeManager #include "mozilla/layers/APZCTreeManagerParent.h" // for APZCTreeManagerParent @@ -475,7 +474,6 @@ CompositorVsyncScheduler::Composite(TimeStamp aVsyncTimestamp) } DispatchTouchEvents(aVsyncTimestamp); - DispatchVREvents(aVsyncTimestamp); if (mNeedsComposite || mAsapScheduling) { mNeedsComposite = 0; @@ -542,15 +540,6 @@ CompositorVsyncScheduler::DispatchTouchEvents(TimeStamp aVsyncTimestamp) } void -CompositorVsyncScheduler::DispatchVREvents(TimeStamp aVsyncTimestamp) -{ - MOZ_ASSERT(CompositorThreadHolder::IsInCompositorThread()); - - VRManager* vm = VRManager::Get(); - vm->NotifyVsync(aVsyncTimestamp); -} - -void CompositorVsyncScheduler::ScheduleTask(already_AddRefed<CancelableRunnable> aTask, int aTime) { diff --git a/gfx/layers/ipc/CompositorThread.cpp b/gfx/layers/ipc/CompositorThread.cpp index 789a5d5d3..3f75832b6 100644 --- a/gfx/layers/ipc/CompositorThread.cpp +++ b/gfx/layers/ipc/CompositorThread.cpp @@ -12,11 +12,6 @@ namespace mozilla { -namespace gfx { -// See VRManagerChild.cpp -void ReleaseVRManagerParentSingleton(); -} // namespace gfx - namespace layers { static StaticRefPtr<CompositorThreadHolder> sCompositorThreadHolder; @@ -130,7 +125,6 @@ CompositorThreadHolder::Shutdown() MOZ_ASSERT(sCompositorThreadHolder, "The compositor thread has already been shut down!"); ReleaseImageBridgeParentSingleton(); - gfx::ReleaseVRManagerParentSingleton(); MediaSystemResourceService::Shutdown(); sCompositorThreadHolder = nullptr; diff --git a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp index c3ea33149..8bb5cf2d5 100644 --- a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp +++ b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp @@ -30,7 +30,6 @@ #include "mozilla/gfx/2D.h" // for DrawTarget #include "mozilla/gfx/Point.h" // for IntSize #include "mozilla/gfx/Rect.h" // for IntSize -#include "VRManager.h" // for VRManager #include "mozilla/ipc/Transport.h" // for Transport #include "mozilla/layers/APZCTreeManager.h" // for APZCTreeManager #include "mozilla/layers/APZCTreeManagerParent.h" // for APZCTreeManagerParent diff --git a/gfx/layers/ipc/PTexture.ipdl b/gfx/layers/ipc/PTexture.ipdl index bccff8627..7c1979bf0 100644 --- a/gfx/layers/ipc/PTexture.ipdl +++ b/gfx/layers/ipc/PTexture.ipdl @@ -9,7 +9,6 @@ include LayersSurfaces; include protocol PLayerTransaction; include protocol PCompositorBridge; include protocol PImageBridge; -include protocol PVRManager; include protocol PVideoBridge; include "mozilla/GfxMessageUtils.h"; @@ -23,7 +22,7 @@ namespace layers { * PTexture is the IPDL glue between a TextureClient and a TextureHost. */ sync protocol PTexture { - manager PImageBridge or PCompositorBridge or PVRManager or PVideoBridge; + manager PImageBridge or PCompositorBridge or PVideoBridge; child: async __delete__(); diff --git a/gfx/moz.build b/gfx/moz.build index 250919891..428285a0a 100644 --- a/gfx/moz.build +++ b/gfx/moz.build @@ -20,7 +20,6 @@ DIRS += [ 'ots/src', 'thebes', 'ipc', - 'vr', 'config', ] diff --git a/gfx/skia/skia/src/core/SkGeometry.cpp b/gfx/skia/skia/src/core/SkGeometry.cpp index 58b45140e..9af6eb774 100644 --- a/gfx/skia/skia/src/core/SkGeometry.cpp +++ b/gfx/skia/skia/src/core/SkGeometry.cpp @@ -62,6 +62,15 @@ static int valid_unit_divide(SkScalar numer, SkScalar denom, SkScalar* ratio) { return 1; } +// Just returns its argument, but makes it easy to set a break-point to know when +// SkFindUnitQuadRoots is going to return 0 (an error). +static int return_check_zero(int value) { + if (value == 0) { + return 0; + } + return value; +} + /** From Numerical Recipes in C. Q = -1/2 (B + sign(B) sqrt[B*B - 4*A*C]) @@ -72,22 +81,21 @@ int SkFindUnitQuadRoots(SkScalar A, SkScalar B, SkScalar C, SkScalar roots[2]) { SkASSERT(roots); if (A == 0) { - return valid_unit_divide(-C, B, roots); + return return_check_zero(valid_unit_divide(-C, B, roots)); } SkScalar* r = roots; - SkScalar R = B*B - 4*A*C; - if (R < 0 || !SkScalarIsFinite(R)) { // complex roots - // if R is infinite, it's possible that it may still produce - // useful results if the operation was repeated in doubles - // the flipside is determining if the more precise answer - // isn't useful because surrounding machinery (e.g., subtracting - // the axis offset from C) already discards the extra precision - // more investigation and unit tests required... - return 0; + // use doubles so we don't overflow temporarily trying to compute R + double dr = (double)B * B - 4 * (double)A * C; + if (dr < 0) { + return return_check_zero(0); + } + dr = sqrt(dr); + SkScalar R = SkDoubleToScalar(dr); + if (!SkScalarIsFinite(R)) { + return return_check_zero(0); } - R = SkScalarSqrt(R); SkScalar Q = (B < 0) ? -(B-R)/2 : -(B+R)/2; r += valid_unit_divide(Q, A, r); @@ -98,7 +106,7 @@ int SkFindUnitQuadRoots(SkScalar A, SkScalar B, SkScalar C, SkScalar roots[2]) { else if (roots[0] == roots[1]) // nearly-equal? r -= 1; // skip the double root } - return (int)(r - roots); + return return_check_zero((int)(r - roots)); } /////////////////////////////////////////////////////////////////////////////// diff --git a/gfx/skia/skia/src/core/SkPath.cpp b/gfx/skia/skia/src/core/SkPath.cpp index a2ef54620..8f93c9c18 100644 --- a/gfx/skia/skia/src/core/SkPath.cpp +++ b/gfx/skia/skia/src/core/SkPath.cpp @@ -14,6 +14,7 @@ #include "SkPathPriv.h" #include "SkPathRef.h" #include "SkRRect.h" +#include "SkTLazy.h" //////////////////////////////////////////////////////////////////////////// @@ -1491,10 +1492,17 @@ void SkPath::addPath(const SkPath& path, SkScalar dx, SkScalar dy, AddPathMode m this->addPath(path, matrix, mode); } -void SkPath::addPath(const SkPath& path, const SkMatrix& matrix, AddPathMode mode) { - SkPathRef::Editor(&fPathRef, path.countVerbs(), path.countPoints()); +void SkPath::addPath(const SkPath& srcPath, const SkMatrix& matrix, AddPathMode mode) { + // Detect if we're trying to add ourself + const SkPath* src = &srcPath; + SkTLazy<SkPath> tmp; + if (this == src) { + src = tmp.set(srcPath); + } + + SkPathRef::Editor(&fPathRef, src->countVerbs(), src->countPoints()); - RawIter iter(path); + RawIter iter(*src); SkPoint pts[4]; Verb verb; @@ -1602,14 +1610,21 @@ void SkPath::reversePathTo(const SkPath& path) { } } -void SkPath::reverseAddPath(const SkPath& src) { - SkPathRef::Editor ed(&fPathRef, src.fPathRef->countPoints(), src.fPathRef->countVerbs()); +void SkPath::reverseAddPath(const SkPath& srcPath) { + // Detect if we're trying to add ourself + const SkPath* src = &srcPath; + SkTLazy<SkPath> tmp; + if (this == src) { + src = tmp.set(srcPath); + } + + SkPathRef::Editor ed(&fPathRef, src->fPathRef->countPoints(), src->fPathRef->countVerbs()); - const SkPoint* pts = src.fPathRef->pointsEnd(); + const SkPoint* pts = src->fPathRef->pointsEnd(); // we will iterator through src's verbs backwards - const uint8_t* verbs = src.fPathRef->verbsMemBegin(); // points at the last verb - const uint8_t* verbsEnd = src.fPathRef->verbs(); // points just past the first verb - const SkScalar* conicWeights = src.fPathRef->conicWeightsEnd(); + const uint8_t* verbs = src->fPathRef->verbsMemBegin(); // points at the last verb + const uint8_t* verbsEnd = src->fPathRef->verbs(); // points just past the first verb + const SkScalar* conicWeights = src->fPathRef->conicWeightsEnd(); bool needMove = true; bool needClose = false; diff --git a/gfx/skia/skia/src/core/SkRRect.cpp b/gfx/skia/skia/src/core/SkRRect.cpp index 1188989cd..f4308debe 100644 --- a/gfx/skia/skia/src/core/SkRRect.cpp +++ b/gfx/skia/skia/src/core/SkRRect.cpp @@ -161,6 +161,19 @@ void SkRRect::setRectRadii(const SkRect& rect, const SkVector radii[4]) { this->scaleRadii(); } +// If we can't distinguish one of the radii relative to the other, force it to zero so it +// doesn't confuse us later. See crbug.com/850350 +// +static void flush_to_zero(SkScalar& a, SkScalar& b) { + SkASSERT(a >= 0); + SkASSERT(b >= 0); + if (a + b == a) { + b = 0; + } else if (a + b == b) { + a = 0; + } +} + void SkRRect::scaleRadii() { // Proportionally scale down all radii to fit. Find the minimum ratio @@ -183,6 +196,11 @@ void SkRRect::scaleRadii() { scale = compute_min_scale(fRadii[2].fX, fRadii[3].fX, width, scale); scale = compute_min_scale(fRadii[3].fY, fRadii[0].fY, height, scale); + flush_to_zero(fRadii[0].fX, fRadii[1].fX); + flush_to_zero(fRadii[1].fY, fRadii[2].fY); + flush_to_zero(fRadii[2].fX, fRadii[3].fX); + flush_to_zero(fRadii[3].fY, fRadii[0].fY); + if (scale < 1.0) { SkScaleToSides::AdjustRadii(width, scale, &fRadii[0].fX, &fRadii[1].fX); SkScaleToSides::AdjustRadii(height, scale, &fRadii[1].fY, &fRadii[2].fY); diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp index 65227a8a7..70ba2fe6a 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -131,8 +131,6 @@ class mozilla::gl::SkiaGLGlue : public GenericAtomicRefCounted { #include "SoftwareVsyncSource.h" #include "nscore.h" // for NS_FREE_PERMANENT_DATA #include "mozilla/dom/ContentChild.h" -#include "gfxVR.h" -#include "VRManagerChild.h" #include "mozilla/gfx/GPUParent.h" #include "prsystem.h" @@ -492,8 +490,6 @@ gfxPlatform::gfxPlatform() contentMask, BackendType::CAIRO); mTotalSystemMemory = PR_GetPhysicalMemorySize(); - - VRManager::ManagerInit(); } gfxPlatform* @@ -900,14 +896,12 @@ gfxPlatform::ShutdownLayersIPC() sLayersIPCIsUp = false; if (XRE_IsContentProcess()) { - gfx::VRManagerChild::ShutDown(); // cf bug 1215265. if (gfxPrefs::ChildProcessShutdown()) { layers::CompositorBridgeChild::ShutDown(); layers::ImageBridgeChild::ShutDown(); } } else if (XRE_IsParentProcess()) { - gfx::VRManagerChild::ShutDown(); layers::CompositorBridgeChild::ShutDown(); layers::ImageBridgeChild::ShutDown(); diff --git a/gfx/vr/VRDisplayClient.cpp b/gfx/vr/VRDisplayClient.cpp deleted file mode 100644 index 2f258e987..000000000 --- a/gfx/vr/VRDisplayClient.cpp +++ /dev/null @@ -1,143 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <math.h> - -#include "prlink.h" -#include "prmem.h" -#include "prenv.h" -#include "gfxPrefs.h" -#include "nsString.h" -#include "mozilla/Preferences.h" -#include "mozilla/Unused.h" -#include "nsServiceManagerUtils.h" -#include "nsIScreenManager.h" - -#ifdef XP_WIN -#include "../layers/d3d11/CompositorD3D11.h" -#endif - -#include "VRDisplayClient.h" -#include "VRDisplayPresentation.h" -#include "VRManagerChild.h" -#include "VRLayerChild.h" - -using namespace mozilla; -using namespace mozilla::gfx; - -VRDisplayClient::VRDisplayClient(const VRDisplayInfo& aDisplayInfo) - : mDisplayInfo(aDisplayInfo) - , bLastEventWasPresenting(false) - , mPresentationCount(0) -{ - MOZ_COUNT_CTOR(VRDisplayClient); -} - -VRDisplayClient::~VRDisplayClient() { - MOZ_COUNT_DTOR(VRDisplayClient); -} - -void -VRDisplayClient::UpdateDisplayInfo(const VRDisplayInfo& aDisplayInfo) -{ - mDisplayInfo = aDisplayInfo; -} - -already_AddRefed<VRDisplayPresentation> -VRDisplayClient::BeginPresentation(const nsTArray<mozilla::dom::VRLayer>& aLayers) -{ - ++mPresentationCount; - RefPtr<VRDisplayPresentation> presentation = new VRDisplayPresentation(this, aLayers); - return presentation.forget(); -} - -void -VRDisplayClient::PresentationDestroyed() -{ - --mPresentationCount; -} - -void -VRDisplayClient::ZeroSensor() -{ - VRManagerChild *vm = VRManagerChild::Get(); - vm->SendResetSensor(mDisplayInfo.mDisplayID); -} - -VRHMDSensorState -VRDisplayClient::GetSensorState() -{ - VRHMDSensorState sensorState; - VRManagerChild *vm = VRManagerChild::Get(); - Unused << vm->SendGetSensorState(mDisplayInfo.mDisplayID, &sensorState); - return sensorState; -} - -VRHMDSensorState -VRDisplayClient::GetImmediateSensorState() -{ - VRHMDSensorState sensorState; - - VRManagerChild *vm = VRManagerChild::Get(); - Unused << vm->SendGetImmediateSensorState(mDisplayInfo.mDisplayID, &sensorState); - return sensorState; -} - -const double kVRDisplayRAFMaxDuration = 32; // milliseconds - -void -VRDisplayClient::NotifyVsync() -{ - VRManagerChild *vm = VRManagerChild::Get(); - - bool isPresenting = GetIsPresenting(); - - bool bShouldCallback = !isPresenting; - if (mLastVSyncTime.IsNull()) { - bShouldCallback = true; - } else { - TimeDuration duration = TimeStamp::Now() - mLastVSyncTime; - if (duration.ToMilliseconds() > kVRDisplayRAFMaxDuration) { - bShouldCallback = true; - } - } - - if (bShouldCallback) { - vm->RunFrameRequestCallbacks(); - mLastVSyncTime = TimeStamp::Now(); - } - - // Check if we need to trigger onVRDisplayPresentChange event - if (bLastEventWasPresenting != isPresenting) { - bLastEventWasPresenting = isPresenting; - vm->FireDOMVRDisplayPresentChangeEvent(); - } -} - -void -VRDisplayClient::NotifyVRVsync() -{ - VRManagerChild *vm = VRManagerChild::Get(); - vm->RunFrameRequestCallbacks(); - mLastVSyncTime = TimeStamp::Now(); -} - -bool -VRDisplayClient::GetIsConnected() const -{ - return mDisplayInfo.GetIsConnected(); -} - -bool -VRDisplayClient::GetIsPresenting() const -{ - return mDisplayInfo.GetIsPresenting(); -} - -void -VRDisplayClient::NotifyDisconnected() -{ - mDisplayInfo.mIsConnected = false; -} diff --git a/gfx/vr/VRDisplayClient.h b/gfx/vr/VRDisplayClient.h deleted file mode 100644 index 0cdd24682..000000000 --- a/gfx/vr/VRDisplayClient.h +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_DISPLAY_CLIENT_H -#define GFX_VR_DISPLAY_CLIENT_H - -#include "nsIScreen.h" -#include "nsCOMPtr.h" -#include "mozilla/RefPtr.h" -#include "mozilla/dom/VRDisplayBinding.h" - -#include "gfxVR.h" - -namespace mozilla { -namespace gfx { -class VRDisplayPresentation; -class VRManagerChild; - -class VRDisplayClient -{ -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRDisplayClient) - - explicit VRDisplayClient(const VRDisplayInfo& aDisplayInfo); - - void UpdateDisplayInfo(const VRDisplayInfo& aDisplayInfo); - - const VRDisplayInfo& GetDisplayInfo() const { return mDisplayInfo; } - virtual VRHMDSensorState GetSensorState(); - virtual VRHMDSensorState GetImmediateSensorState(); - - virtual void ZeroSensor(); - - already_AddRefed<VRDisplayPresentation> BeginPresentation(const nsTArray<dom::VRLayer>& aLayers); - void PresentationDestroyed(); - - void NotifyVsync(); - void NotifyVRVsync(); - - bool GetIsConnected() const; - bool GetIsPresenting() const; - - void NotifyDisconnected(); - -protected: - virtual ~VRDisplayClient(); - - VRDisplayInfo mDisplayInfo; - - bool bLastEventWasPresenting; - - TimeStamp mLastVSyncTime; - int mPresentationCount; -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_DISPLAY_CLIENT_H */ diff --git a/gfx/vr/VRDisplayHost.cpp b/gfx/vr/VRDisplayHost.cpp deleted file mode 100644 index fd2fd6d6a..000000000 --- a/gfx/vr/VRDisplayHost.cpp +++ /dev/null @@ -1,201 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- -* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VRDisplayHost.h" -#include "gfxVR.h" - -#if defined(XP_WIN) - -#include <d3d11.h> -#include "gfxWindowsPlatform.h" -#include "../layers/d3d11/CompositorD3D11.h" -#include "mozilla/layers/TextureD3D11.h" - -#endif - -using namespace mozilla; -using namespace mozilla::gfx; -using namespace mozilla::layers; - -VRDisplayHost::VRDisplayHost(VRDeviceType aType) - : mInputFrameID(0) -{ - MOZ_COUNT_CTOR(VRDisplayHost); - mDisplayInfo.mType = aType; - mDisplayInfo.mDisplayID = VRDisplayManager::AllocateDisplayID(); - mDisplayInfo.mIsPresenting = false; - - for (int i = 0; i < kMaxLatencyFrames; i++) { - mLastSensorState[i].Clear(); - } -} - -VRDisplayHost::~VRDisplayHost() -{ - MOZ_COUNT_DTOR(VRDisplayHost); -} - -void -VRDisplayHost::AddLayer(VRLayerParent *aLayer) -{ - mLayers.AppendElement(aLayer); - if (mLayers.Length() == 1) { - StartPresentation(); - } - mDisplayInfo.mIsPresenting = mLayers.Length() > 0; - - // Ensure that the content process receives the change immediately - VRManager* vm = VRManager::Get(); - vm->RefreshVRDisplays(); -} - -void -VRDisplayHost::RemoveLayer(VRLayerParent *aLayer) -{ - mLayers.RemoveElement(aLayer); - if (mLayers.Length() == 0) { - StopPresentation(); - } - mDisplayInfo.mIsPresenting = mLayers.Length() > 0; - - // Ensure that the content process receives the change immediately - VRManager* vm = VRManager::Get(); - vm->RefreshVRDisplays(); -} - -#if defined(XP_WIN) - -void -VRDisplayHost::SubmitFrame(VRLayerParent* aLayer, const int32_t& aInputFrameID, - PTextureParent* aTexture, const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - // aInputFrameID is no longer controlled by content with the WebVR 1.1 API - // update; however, we will later use this code to enable asynchronous - // submission of multiple layers to be composited. This will enable - // us to build browser UX that remains responsive even when content does - // not consistently submit frames. - - int32_t inputFrameID = aInputFrameID; - if (inputFrameID == 0) { - inputFrameID = mInputFrameID; - } - if (inputFrameID < 0) { - // Sanity check to prevent invalid memory access on builds with assertions - // disabled. - inputFrameID = 0; - } - - VRHMDSensorState sensorState = mLastSensorState[inputFrameID % kMaxLatencyFrames]; - // It is possible to get a cache miss on mLastSensorState if latency is - // longer than kMaxLatencyFrames. An optimization would be to find a frame - // that is closer than the one selected with the modulus. - // If we hit this; however, latency is already so high that the site is - // un-viewable and a more accurate pose prediction is not likely to - // compensate. - - TextureHost* th = TextureHost::AsTextureHost(aTexture); - // WebVR doesn't use the compositor to compose the frame, so use - // AutoLockTextureHostWithoutCompositor here. - AutoLockTextureHostWithoutCompositor autoLock(th); - if (autoLock.Failed()) { - NS_WARNING("Failed to lock the VR layer texture"); - return; - } - - CompositableTextureSourceRef source; - if (!th->BindTextureSource(source)) { - NS_WARNING("The TextureHost was successfully locked but can't provide a TextureSource"); - return; - } - MOZ_ASSERT(source); - - IntSize texSize = source->GetSize(); - - TextureSourceD3D11* sourceD3D11 = source->AsSourceD3D11(); - if (!sourceD3D11) { - NS_WARNING("WebVR support currently only implemented for D3D11"); - return; - } - - SubmitFrame(sourceD3D11, texSize, sensorState, aLeftEyeRect, aRightEyeRect); -} - -#else - -void -VRDisplayHost::SubmitFrame(VRLayerParent* aLayer, const int32_t& aInputFrameID, - PTextureParent* aTexture, const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - NS_WARNING("WebVR only supported in Windows."); -} - -#endif - -bool -VRDisplayHost::CheckClearDisplayInfoDirty() -{ - if (mDisplayInfo == mLastUpdateDisplayInfo) { - return false; - } - mLastUpdateDisplayInfo = mDisplayInfo; - return true; -} - -VRControllerHost::VRControllerHost(VRDeviceType aType) -{ - MOZ_COUNT_CTOR(VRControllerHost); - mControllerInfo.mType = aType; - mControllerInfo.mControllerID = VRDisplayManager::AllocateDisplayID(); -} - -VRControllerHost::~VRControllerHost() -{ - MOZ_COUNT_DTOR(VRControllerHost); -} - -const VRControllerInfo& -VRControllerHost::GetControllerInfo() const -{ - return mControllerInfo; -} - -void -VRControllerHost::SetIndex(uint32_t aIndex) -{ - mIndex = aIndex; -} - -uint32_t -VRControllerHost::GetIndex() -{ - return mIndex; -} - -void -VRControllerHost::SetButtonPressed(uint64_t aBit) -{ - mButtonPressed = aBit; -} - -uint64_t -VRControllerHost::GetButtonPressed() -{ - return mButtonPressed; -} - -void -VRControllerHost::SetPose(const dom::GamepadPoseState& aPose) -{ - mPose = aPose; -} - -const dom::GamepadPoseState& -VRControllerHost::GetPose() -{ - return mPose; -} - diff --git a/gfx/vr/VRDisplayHost.h b/gfx/vr/VRDisplayHost.h deleted file mode 100644 index 0e04e4fd2..000000000 --- a/gfx/vr/VRDisplayHost.h +++ /dev/null @@ -1,114 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- -* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_DISPLAY_HOST_H -#define GFX_VR_DISPLAY_HOST_H - -#include "gfxVR.h" -#include "nsTArray.h" -#include "nsString.h" -#include "nsCOMPtr.h" -#include "mozilla/RefPtr.h" -#include "mozilla/gfx/2D.h" -#include "mozilla/Atomics.h" -#include "mozilla/EnumeratedArray.h" -#include "mozilla/TimeStamp.h" -#include "mozilla/TypedEnumBits.h" -#include "mozilla/dom/GamepadPoseState.h" - -namespace mozilla { -namespace layers { -class PTextureParent; -#if defined(XP_WIN) -class TextureSourceD3D11; -#endif -} // namespace layers -namespace gfx { -class VRLayerParent; - -class VRDisplayHost { -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRDisplayHost) - - const VRDisplayInfo& GetDisplayInfo() const { return mDisplayInfo; } - - void AddLayer(VRLayerParent* aLayer); - void RemoveLayer(VRLayerParent* aLayer); - - virtual VRHMDSensorState GetSensorState() = 0; - virtual VRHMDSensorState GetImmediateSensorState() = 0; - virtual void ZeroSensor() = 0; - virtual void StartPresentation() = 0; - virtual void StopPresentation() = 0; - virtual void NotifyVSync() { }; - - void SubmitFrame(VRLayerParent* aLayer, - const int32_t& aInputFrameID, - mozilla::layers::PTextureParent* aTexture, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect); - - bool CheckClearDisplayInfoDirty(); - -protected: - explicit VRDisplayHost(VRDeviceType aType); - virtual ~VRDisplayHost(); - -#if defined(XP_WIN) - virtual void SubmitFrame(mozilla::layers::TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) = 0; -#endif - - VRDisplayInfo mDisplayInfo; - - nsTArray<RefPtr<VRLayerParent>> mLayers; - // Weak reference to mLayers entries are cleared in VRLayerParent destructor - - // The maximum number of frames of latency that we would expect before we - // should give up applying pose prediction. - // If latency is greater than one second, then the experience is not likely - // to be corrected by pose prediction. Setting this value too - // high may result in unnecessary memory allocation. - // As the current fastest refresh rate is 90hz, 100 is selected as a - // conservative value. - static const int kMaxLatencyFrames = 100; - VRHMDSensorState mLastSensorState[kMaxLatencyFrames]; - int32_t mInputFrameID; - -private: - VRDisplayInfo mLastUpdateDisplayInfo; -}; - -class VRControllerHost { -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRControllerHost) - - const VRControllerInfo& GetControllerInfo() const; - void SetIndex(uint32_t aIndex); - uint32_t GetIndex(); - void SetButtonPressed(uint64_t aBit); - uint64_t GetButtonPressed(); - void SetPose(const dom::GamepadPoseState& aPose); - const dom::GamepadPoseState& GetPose(); - -protected: - explicit VRControllerHost(VRDeviceType aType); - virtual ~VRControllerHost(); - - VRControllerInfo mControllerInfo; - // The controller index in VRControllerManager. - uint32_t mIndex; - // The current button pressed bit of button mask. - uint64_t mButtonPressed; - dom::GamepadPoseState mPose; -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_DISPLAY_HOST_H */ diff --git a/gfx/vr/VRDisplayPresentation.cpp b/gfx/vr/VRDisplayPresentation.cpp deleted file mode 100644 index ba528ae7c..000000000 --- a/gfx/vr/VRDisplayPresentation.cpp +++ /dev/null @@ -1,112 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- -* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VRDisplayPresentation.h" - -#include "mozilla/Unused.h" -#include "VRDisplayClient.h" -#include "VRLayerChild.h" - -using namespace mozilla; -using namespace mozilla::gfx; - -VRDisplayPresentation::VRDisplayPresentation(VRDisplayClient *aDisplayClient, - const nsTArray<mozilla::dom::VRLayer>& aLayers) - : mDisplayClient(aDisplayClient) - , mDOMLayers(aLayers) -{ - CreateLayers(); -} - -void -VRDisplayPresentation::CreateLayers() -{ - if (mLayers.Length()) { - return; - } - - for (dom::VRLayer& layer : mDOMLayers) { - dom::HTMLCanvasElement* canvasElement = layer.mSource; - if (!canvasElement) { - /// XXX In the future we will support WebVR in WebWorkers here - continue; - } - - Rect leftBounds(0.0, 0.0, 0.5, 1.0); - if (layer.mLeftBounds.Length() == 4) { - leftBounds.x = layer.mLeftBounds[0]; - leftBounds.y = layer.mLeftBounds[1]; - leftBounds.width = layer.mLeftBounds[2]; - leftBounds.height = layer.mLeftBounds[3]; - } else if (layer.mLeftBounds.Length() != 0) { - /** - * We ignore layers with an incorrect number of values. - * In the future, VRDisplay.requestPresent may throw in - * this case. See https://github.com/w3c/webvr/issues/71 - */ - continue; - } - - Rect rightBounds(0.5, 0.0, 0.5, 1.0); - if (layer.mRightBounds.Length() == 4) { - rightBounds.x = layer.mRightBounds[0]; - rightBounds.y = layer.mRightBounds[1]; - rightBounds.width = layer.mRightBounds[2]; - rightBounds.height = layer.mRightBounds[3]; - } else if (layer.mRightBounds.Length() != 0) { - /** - * We ignore layers with an incorrect number of values. - * In the future, VRDisplay.requestPresent may throw in - * this case. See https://github.com/w3c/webvr/issues/71 - */ - continue; - } - - VRManagerChild *manager = VRManagerChild::Get(); - if (!manager) { - NS_WARNING("VRManagerChild::Get returned null!"); - continue; - } - - RefPtr<VRLayerChild> vrLayer = static_cast<VRLayerChild*>(manager->CreateVRLayer(mDisplayClient->GetDisplayInfo().GetDisplayID(), leftBounds, rightBounds)); - if (!vrLayer) { - NS_WARNING("CreateVRLayer returned null!"); - continue; - } - - vrLayer->Initialize(canvasElement); - - mLayers.AppendElement(vrLayer); - } -} - -void -VRDisplayPresentation::DestroyLayers() -{ - for (VRLayerChild* layer : mLayers) { - Unused << layer->SendDestroy(); - } - mLayers.Clear(); -} - -void -VRDisplayPresentation::GetDOMLayers(nsTArray<dom::VRLayer>& result) -{ - result = mDOMLayers; -} - -VRDisplayPresentation::~VRDisplayPresentation() -{ - DestroyLayers(); - mDisplayClient->PresentationDestroyed(); -} - -void VRDisplayPresentation::SubmitFrame() -{ - for (VRLayerChild *layer : mLayers) { - layer->SubmitFrame(); - break; // Currently only one layer supported, submit only the first - } -} diff --git a/gfx/vr/VRDisplayPresentation.h b/gfx/vr/VRDisplayPresentation.h deleted file mode 100644 index 28103d8f5..000000000 --- a/gfx/vr/VRDisplayPresentation.h +++ /dev/null @@ -1,39 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- -* This Source Code Form is subject to the terms of the Mozilla Public -* License, v. 2.0. If a copy of the MPL was not distributed with this -* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_DISPLAY_PRESENTATION_H -#define GFX_VR_DISPLAY_PRESENTATION_H - -#include "mozilla/RefPtr.h" -#include "mozilla/dom/VRDisplayBinding.h" - -namespace mozilla { -namespace gfx { -class VRDisplayClient; -class VRLayerChild; - -class VRDisplayPresentation final -{ - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRDisplayPresentation) - -public: - VRDisplayPresentation(VRDisplayClient *aDisplayClient, const nsTArray<dom::VRLayer>& aLayers); - void SubmitFrame(); - void GetDOMLayers(nsTArray<dom::VRLayer>& result); - -private: - ~VRDisplayPresentation(); - void CreateLayers(); - void DestroyLayers(); - - RefPtr<VRDisplayClient> mDisplayClient; - nsTArray<dom::VRLayer> mDOMLayers; - nsTArray<RefPtr<VRLayerChild>> mLayers; -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_DISPLAY_PRESENTAITON_H */ diff --git a/gfx/vr/VRManager.cpp b/gfx/vr/VRManager.cpp deleted file mode 100644 index 672e9e3a1..000000000 --- a/gfx/vr/VRManager.cpp +++ /dev/null @@ -1,393 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -#include "VRManager.h" -#include "VRManagerParent.h" -#include "gfxVR.h" -#include "gfxVROpenVR.h" -#include "mozilla/ClearOnShutdown.h" -#include "mozilla/dom/VRDisplay.h" -#include "mozilla/dom/GamepadEventTypes.h" -#include "mozilla/layers/TextureHost.h" -#include "mozilla/Unused.h" - -#include "gfxPrefs.h" -#include "gfxVR.h" -#if defined(XP_WIN) -#include "gfxVROculus.h" -#endif -#if defined(XP_WIN) || defined(XP_MACOSX) || defined(XP_LINUX) -#include "gfxVROSVR.h" -#endif -#include "ipc/VRLayerParent.h" - -using namespace mozilla; -using namespace mozilla::gfx; -using namespace mozilla::layers; -using namespace mozilla::gl; - -namespace mozilla { -namespace gfx { - -static StaticRefPtr<VRManager> sVRManagerSingleton; - -/*static*/ void -VRManager::ManagerInit() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (sVRManagerSingleton == nullptr) { - sVRManagerSingleton = new VRManager(); - ClearOnShutdown(&sVRManagerSingleton); - } -} - -VRManager::VRManager() - : mInitialized(false) -{ - MOZ_COUNT_CTOR(VRManager); - MOZ_ASSERT(sVRManagerSingleton == nullptr); - - RefPtr<VRDisplayManager> mgr; - RefPtr<VRControllerManager> controllerMgr; - - /** - * We must add the VRDisplayManager's to mManagers in a careful order to - * ensure that we don't detect the same VRDisplay from multiple API's. - * - * Oculus comes first, as it will only enumerate Oculus HMD's and is the - * native interface for Oculus HMD's. - * - * OpenvR comes second, as it is the native interface for HTC Vive - * which is the most common HMD at this time. - * - * OSVR will be used if Oculus SDK and OpenVR don't detect any HMDS, - * to support everyone else. - */ - -#if defined(XP_WIN) - // The Oculus runtime is supported only on Windows - mgr = VRDisplayManagerOculus::Create(); - if (mgr) { - mManagers.AppendElement(mgr); - } -#endif - -#if defined(XP_WIN) || defined(XP_MACOSX) || defined(XP_LINUX) - // OpenVR is cross platform compatible - mgr = VRDisplayManagerOpenVR::Create(); - if (mgr) { - mManagers.AppendElement(mgr); - } - - controllerMgr = VRControllerManagerOpenVR::Create(); - if (mgr) { - mControllerManagers.AppendElement(controllerMgr); - } - - // OSVR is cross platform compatible - mgr = VRDisplayManagerOSVR::Create(); - if (mgr) { - mManagers.AppendElement(mgr); - } -#endif - // Enable gamepad extensions while VR is enabled. - if (gfxPrefs::VREnabled()) { - Preferences::SetBool("dom.gamepad.extensions.enabled", true); - } -} - -VRManager::~VRManager() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!mInitialized); - MOZ_COUNT_DTOR(VRManager); -} - -void -VRManager::Destroy() -{ - mVRDisplays.Clear(); - for (uint32_t i = 0; i < mManagers.Length(); ++i) { - mManagers[i]->Destroy(); - } - - mVRControllers.Clear(); - for (uint32_t i = 0; i < mControllerManagers.Length(); ++i) { - mControllerManagers[i]->Destroy(); - } - mInitialized = false; -} - -void -VRManager::Init() -{ - for (uint32_t i = 0; i < mManagers.Length(); ++i) { - mManagers[i]->Init(); - } - - for (uint32_t i = 0; i < mControllerManagers.Length(); ++i) { - mControllerManagers[i]->Init(); - } - mInitialized = true; -} - -/* static */VRManager* -VRManager::Get() -{ - MOZ_ASSERT(sVRManagerSingleton != nullptr); - - return sVRManagerSingleton; -} - -void -VRManager::AddVRManagerParent(VRManagerParent* aVRManagerParent) -{ - if (mVRManagerParents.IsEmpty()) { - Init(); - } - mVRManagerParents.PutEntry(aVRManagerParent); -} - -void -VRManager::RemoveVRManagerParent(VRManagerParent* aVRManagerParent) -{ - mVRManagerParents.RemoveEntry(aVRManagerParent); - if (mVRManagerParents.IsEmpty()) { - Destroy(); - } -} - -void -VRManager::NotifyVsync(const TimeStamp& aVsyncTimestamp) -{ - const double kVRDisplayRefreshMaxDuration = 5000; // milliseconds - - bool bHaveEventListener = false; - - for (auto iter = mVRManagerParents.Iter(); !iter.Done(); iter.Next()) { - VRManagerParent *vmp = iter.Get()->GetKey(); - if (mVRDisplays.Count()) { - Unused << vmp->SendNotifyVSync(); - } - bHaveEventListener |= vmp->HaveEventListener(); - } - - for (auto iter = mVRDisplays.Iter(); !iter.Done(); iter.Next()) { - gfx::VRDisplayHost* display = iter.UserData(); - display->NotifyVSync(); - } - - if (bHaveEventListener) { - for (uint32_t i = 0; i < mControllerManagers.Length(); ++i) { - mControllerManagers[i]->HandleInput(); - } - // If content has set an EventHandler to be notified of VR display events - // we must continually refresh the VR display enumeration to check - // for events that we must fire such as Window.onvrdisplayconnect - // Note that enumeration itself may activate display hardware, such - // as Oculus, so we only do this when we know we are displaying content - // that is looking for VR displays. - if (mLastRefreshTime.IsNull()) { - // This is the first vsync, must refresh VR displays - RefreshVRDisplays(); - RefreshVRControllers(); - mLastRefreshTime = TimeStamp::Now(); - } else { - // We don't have to do this every frame, so check if we - // have refreshed recently. - TimeDuration duration = TimeStamp::Now() - mLastRefreshTime; - if (duration.ToMilliseconds() > kVRDisplayRefreshMaxDuration) { - RefreshVRDisplays(); - RefreshVRControllers(); - mLastRefreshTime = TimeStamp::Now(); - } - } - } -} - -void -VRManager::NotifyVRVsync(const uint32_t& aDisplayID) -{ - for (auto iter = mVRManagerParents.Iter(); !iter.Done(); iter.Next()) { - Unused << iter.Get()->GetKey()->SendNotifyVRVSync(aDisplayID); - } -} - -void -VRManager::RefreshVRDisplays(bool aMustDispatch) -{ - nsTArray<RefPtr<gfx::VRDisplayHost> > displays; - - /** We don't wish to enumerate the same display from multiple managers, - * so stop as soon as we get a display. - * It is still possible to get multiple displays from a single manager, - * but do not wish to mix-and-match for risk of reporting a duplicate. - * - * XXX - Perhaps there will be a better way to detect duplicate displays - * in the future. - */ - for (uint32_t i = 0; i < mManagers.Length() && displays.Length() == 0; ++i) { - mManagers[i]->GetHMDs(displays); - } - - bool displayInfoChanged = false; - - if (displays.Length() != mVRDisplays.Count()) { - // Catch cases where a VR display has been removed - displayInfoChanged = true; - } - - for (const auto& display: displays) { - if (!GetDisplay(display->GetDisplayInfo().GetDisplayID())) { - // This is a new display - displayInfoChanged = true; - break; - } - - if (display->CheckClearDisplayInfoDirty()) { - // This display's info has changed - displayInfoChanged = true; - break; - } - } - - if (displayInfoChanged) { - mVRDisplays.Clear(); - for (const auto& display: displays) { - mVRDisplays.Put(display->GetDisplayInfo().GetDisplayID(), display); - } - } - - if (displayInfoChanged || aMustDispatch) { - DispatchVRDisplayInfoUpdate(); - } -} - -void -VRManager::DispatchVRDisplayInfoUpdate() -{ - nsTArray<VRDisplayInfo> update; - GetVRDisplayInfo(update); - - for (auto iter = mVRManagerParents.Iter(); !iter.Done(); iter.Next()) { - Unused << iter.Get()->GetKey()->SendUpdateDisplayInfo(update); - } -} - - -/** - * Get any VR displays that have already been enumerated without - * activating any new devices. - */ -void -VRManager::GetVRDisplayInfo(nsTArray<VRDisplayInfo>& aDisplayInfo) -{ - aDisplayInfo.Clear(); - for (auto iter = mVRDisplays.Iter(); !iter.Done(); iter.Next()) { - gfx::VRDisplayHost* display = iter.UserData(); - aDisplayInfo.AppendElement(VRDisplayInfo(display->GetDisplayInfo())); - } -} - -RefPtr<gfx::VRDisplayHost> -VRManager::GetDisplay(const uint32_t& aDisplayID) -{ - RefPtr<gfx::VRDisplayHost> display; - if (mVRDisplays.Get(aDisplayID, getter_AddRefs(display))) { - return display; - } - return nullptr; -} - -void -VRManager::SubmitFrame(VRLayerParent* aLayer, layers::PTextureParent* aTexture, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - TextureHost* th = TextureHost::AsTextureHost(aTexture); - mLastFrame = th; - RefPtr<VRDisplayHost> display = GetDisplay(aLayer->GetDisplayID()); - if (display) { - display->SubmitFrame(aLayer, 0, aTexture, aLeftEyeRect, aRightEyeRect); - } -} - -RefPtr<gfx::VRControllerHost> -VRManager::GetController(const uint32_t& aControllerID) -{ - RefPtr<gfx::VRControllerHost> controller; - if (mVRControllers.Get(aControllerID, getter_AddRefs(controller))) { - return controller; - } - return nullptr; -} - -void -VRManager::GetVRControllerInfo(nsTArray<VRControllerInfo>& aControllerInfo) -{ - aControllerInfo.Clear(); - for (auto iter = mVRControllers.Iter(); !iter.Done(); iter.Next()) { - gfx::VRControllerHost* controller = iter.UserData(); - aControllerInfo.AppendElement(VRControllerInfo(controller->GetControllerInfo())); - } -} - -void -VRManager::RefreshVRControllers() -{ - nsTArray<RefPtr<gfx::VRControllerHost>> controllers; - - for (uint32_t i = 0; i < mControllerManagers.Length() - && controllers.Length() == 0; ++i) { - mControllerManagers[i]->GetControllers(controllers); - } - - bool controllerInfoChanged = false; - - if (controllers.Length() != mVRControllers.Count()) { - // Catch cases where VR controllers has been removed - controllerInfoChanged = true; - } - - for (const auto& controller : controllers) { - if (!GetController(controller->GetControllerInfo().GetControllerID())) { - // This is a new controller - controllerInfoChanged = true; - break; - } - } - - if (controllerInfoChanged) { - mVRControllers.Clear(); - for (const auto& controller : controllers) { - mVRControllers.Put(controller->GetControllerInfo().GetControllerID(), - controller); - } - } -} - -void -VRManager::ScanForDevices() -{ - for (uint32_t i = 0; i < mControllerManagers.Length(); ++i) { - mControllerManagers[i]->ScanForDevices(); - } -} - -template<class T> -void -VRManager::NotifyGamepadChange(const T& aInfo) -{ - dom::GamepadChangeEvent e(aInfo); - - for (auto iter = mVRManagerParents.Iter(); !iter.Done(); iter.Next()) { - Unused << iter.Get()->GetKey()->SendGamepadUpdate(e); - } -} - -} // namespace gfx -} // namespace mozilla diff --git a/gfx/vr/VRManager.h b/gfx/vr/VRManager.h deleted file mode 100644 index b46a3b58f..000000000 --- a/gfx/vr/VRManager.h +++ /dev/null @@ -1,88 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_MANAGER_H -#define GFX_VR_MANAGER_H - -#include "nsRefPtrHashtable.h" -#include "nsTArray.h" -#include "nsTHashtable.h" -#include "nsDataHashtable.h" -#include "mozilla/TimeStamp.h" -#include "gfxVR.h" - -namespace mozilla { -namespace layers { -class TextureHost; -} -namespace gfx { - -class VRLayerParent; -class VRManagerParent; -class VRDisplayHost; -class VRControllerManager; - -class VRManager -{ - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(mozilla::gfx::VRManager) - -public: - static void ManagerInit(); - static VRManager* Get(); - - void AddVRManagerParent(VRManagerParent* aVRManagerParent); - void RemoveVRManagerParent(VRManagerParent* aVRManagerParent); - - void NotifyVsync(const TimeStamp& aVsyncTimestamp); - void NotifyVRVsync(const uint32_t& aDisplayID); - void RefreshVRDisplays(bool aMustDispatch = false); - void ScanForDevices(); - template<class T> void NotifyGamepadChange(const T& aInfo); - RefPtr<gfx::VRDisplayHost> GetDisplay(const uint32_t& aDisplayID); - void GetVRDisplayInfo(nsTArray<VRDisplayInfo>& aDisplayInfo); - - void SubmitFrame(VRLayerParent* aLayer, layers::PTextureParent* aTexture, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect); - RefPtr<gfx::VRControllerHost> GetController(const uint32_t& aControllerID); - void GetVRControllerInfo(nsTArray<VRControllerInfo>& aControllerInfo); - -protected: - VRManager(); - ~VRManager(); - -private: - RefPtr<layers::TextureHost> mLastFrame; - - void Init(); - void Destroy(); - - void DispatchVRDisplayInfoUpdate(); - void RefreshVRControllers(); - - typedef nsTHashtable<nsRefPtrHashKey<VRManagerParent>> VRManagerParentSet; - VRManagerParentSet mVRManagerParents; - - typedef nsTArray<RefPtr<VRDisplayManager>> VRDisplayManagerArray; - VRDisplayManagerArray mManagers; - - typedef nsTArray<RefPtr<VRControllerManager>> VRControllerManagerArray; - VRControllerManagerArray mControllerManagers; - - typedef nsRefPtrHashtable<nsUint32HashKey, gfx::VRDisplayHost> VRDisplayHostHashMap; - VRDisplayHostHashMap mVRDisplays; - - typedef nsRefPtrHashtable<nsUint32HashKey, gfx::VRControllerHost> VRControllerHostHashMap; - VRControllerHostHashMap mVRControllers; - - Atomic<bool> mInitialized; - - TimeStamp mLastRefreshTime; -}; - -} // namespace gfx -} // namespace mozilla - -#endif // GFX_VR_MANAGER_H diff --git a/gfx/vr/gfxVR.cpp b/gfx/vr/gfxVR.cpp deleted file mode 100644 index c0babb4f8..000000000 --- a/gfx/vr/gfxVR.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <math.h> - -#include "gfxVR.h" -#ifdef MOZ_GAMEPAD -#include "mozilla/dom/GamepadEventTypes.h" -#include "mozilla/dom/GamepadBinding.h" -#endif - -#ifndef M_PI -# define M_PI 3.14159265358979323846 -#endif - -using namespace mozilla; -using namespace mozilla::gfx; - -Atomic<uint32_t> VRDisplayManager::sDisplayBase(0); -Atomic<uint32_t> VRControllerManager::sControllerBase(0); - -/* static */ uint32_t -VRDisplayManager::AllocateDisplayID() -{ - return ++sDisplayBase; -} - -Matrix4x4 -VRFieldOfView::ConstructProjectionMatrix(float zNear, float zFar, - bool rightHanded) const -{ - float upTan = tan(upDegrees * M_PI / 180.0); - float downTan = tan(downDegrees * M_PI / 180.0); - float leftTan = tan(leftDegrees * M_PI / 180.0); - float rightTan = tan(rightDegrees * M_PI / 180.0); - - float handednessScale = rightHanded ? -1.0 : 1.0; - - float pxscale = 2.0f / (leftTan + rightTan); - float pxoffset = (leftTan - rightTan) * pxscale * 0.5; - float pyscale = 2.0f / (upTan + downTan); - float pyoffset = (upTan - downTan) * pyscale * 0.5; - - Matrix4x4 mobj; - float *m = &mobj._11; - - m[0*4+0] = pxscale; - m[2*4+0] = pxoffset * handednessScale; - - m[1*4+1] = pyscale; - m[2*4+1] = -pyoffset * handednessScale; - - m[2*4+2] = zFar / (zNear - zFar) * -handednessScale; - m[3*4+2] = (zFar * zNear) / (zNear - zFar); - - m[2*4+3] = handednessScale; - m[3*4+3] = 0.0f; - - return mobj; -} - -/* static */ uint32_t -VRControllerManager::AllocateControllerID() -{ - return ++sControllerBase; -} - -void -VRControllerManager::AddGamepad(const char* aID, uint32_t aMapping, - uint32_t aNumButtons, uint32_t aNumAxes) -{ - dom::GamepadAdded a(NS_ConvertUTF8toUTF16(nsDependentCString(aID)), mControllerCount, - aMapping, dom::GamepadServiceType::VR, aNumButtons, - aNumAxes); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadAdded>(a); -} - -void -VRControllerManager::RemoveGamepad(uint32_t aIndex) -{ - dom::GamepadRemoved a(aIndex, dom::GamepadServiceType::VR); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadRemoved>(a); -} - -void -VRControllerManager::NewButtonEvent(uint32_t aIndex, uint32_t aButton, - bool aPressed) -{ - dom::GamepadButtonInformation a(aIndex, dom::GamepadServiceType::VR, - aButton, aPressed, aPressed ? 1.0L : 0.0L); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadButtonInformation>(a); -} - -void -VRControllerManager::NewAxisMove(uint32_t aIndex, uint32_t aAxis, - double aValue) -{ - dom::GamepadAxisInformation a(aIndex, dom::GamepadServiceType::VR, - aAxis, aValue); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadAxisInformation>(a); -} - -void -VRControllerManager::NewPoseState(uint32_t aIndex, - const dom::GamepadPoseState& aPose) -{ - dom::GamepadPoseInformation a(aIndex, dom::GamepadServiceType::VR, - aPose); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadPoseInformation>(a); -} diff --git a/gfx/vr/gfxVR.h b/gfx/vr/gfxVR.h deleted file mode 100644 index b46875741..000000000 --- a/gfx/vr/gfxVR.h +++ /dev/null @@ -1,285 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_H -#define GFX_VR_H - -#include "nsTArray.h" -#include "nsString.h" -#include "nsCOMPtr.h" -#include "mozilla/RefPtr.h" -#include "mozilla/gfx/2D.h" -#include "mozilla/Atomics.h" -#include "mozilla/EnumeratedArray.h" -#include "mozilla/TimeStamp.h" -#include "mozilla/TypedEnumBits.h" - -namespace mozilla { -namespace layers { -class PTextureParent; -} -namespace dom { -enum class GamepadMappingType : uint32_t; -struct GamepadPoseState; -} -namespace gfx { -class VRLayerParent; -class VRDisplayHost; -class VRControllerHost; - -enum class VRDeviceType : uint16_t { - Oculus, - OpenVR, - OSVR, - NumVRDeviceTypes -}; - -enum class VRDisplayCapabilityFlags : uint16_t { - Cap_None = 0, - /** - * Cap_Position is set if the VRDisplay is capable of tracking its position. - */ - Cap_Position = 1 << 1, - /** - * Cap_Orientation is set if the VRDisplay is capable of tracking its orientation. - */ - Cap_Orientation = 1 << 2, - /** - * Cap_Present is set if the VRDisplay is capable of presenting content to an - * HMD or similar device. Can be used to indicate "magic window" devices that - * are capable of 6DoF tracking but for which requestPresent is not meaningful. - * If false then calls to requestPresent should always fail, and - * getEyeParameters should return null. - */ - Cap_Present = 1 << 3, - /** - * Cap_External is set if the VRDisplay is separate from the device's - * primary display. If presenting VR content will obscure - * other content on the device, this should be un-set. When - * un-set, the application should not attempt to mirror VR content - * or update non-VR UI because that content will not be visible. - */ - Cap_External = 1 << 4, - /** - * Cap_AngularAcceleration is set if the VRDisplay is capable of tracking its - * angular acceleration. - */ - Cap_AngularAcceleration = 1 << 5, - /** - * Cap_LinearAcceleration is set if the VRDisplay is capable of tracking its - * linear acceleration. - */ - Cap_LinearAcceleration = 1 << 6, - /** - * Cap_StageParameters is set if the VRDisplay is capable of room scale VR - * and can report the StageParameters to describe the space. - */ - Cap_StageParameters = 1 << 7, - /** - * Cap_All used for validity checking during IPC serialization - */ - Cap_All = (1 << 8) - 1 -}; - -MOZ_MAKE_ENUM_CLASS_BITWISE_OPERATORS(VRDisplayCapabilityFlags) - -struct VRFieldOfView { - VRFieldOfView() {} - VRFieldOfView(double up, double right, double down, double left) - : upDegrees(up), rightDegrees(right), downDegrees(down), leftDegrees(left) - {} - - void SetFromTanRadians(double up, double right, double down, double left) - { - upDegrees = atan(up) * 180.0 / M_PI; - rightDegrees = atan(right) * 180.0 / M_PI; - downDegrees = atan(down) * 180.0 / M_PI; - leftDegrees = atan(left) * 180.0 / M_PI; - } - - bool operator==(const VRFieldOfView& other) const { - return other.upDegrees == upDegrees && - other.downDegrees == downDegrees && - other.rightDegrees == rightDegrees && - other.leftDegrees == leftDegrees; - } - - bool operator!=(const VRFieldOfView& other) const { - return !(*this == other); - } - - bool IsZero() const { - return upDegrees == 0.0 || - rightDegrees == 0.0 || - downDegrees == 0.0 || - leftDegrees == 0.0; - } - - Matrix4x4 ConstructProjectionMatrix(float zNear, float zFar, bool rightHanded) const; - - double upDegrees; - double rightDegrees; - double downDegrees; - double leftDegrees; -}; - -struct VRDisplayInfo -{ - VRDeviceType GetType() const { return mType; } - uint32_t GetDisplayID() const { return mDisplayID; } - const nsCString& GetDisplayName() const { return mDisplayName; } - VRDisplayCapabilityFlags GetCapabilities() const { return mCapabilityFlags; } - - const IntSize& SuggestedEyeResolution() const { return mEyeResolution; } - const Point3D& GetEyeTranslation(uint32_t whichEye) const { return mEyeTranslation[whichEye]; } - const VRFieldOfView& GetEyeFOV(uint32_t whichEye) const { return mEyeFOV[whichEye]; } - bool GetIsConnected() const { return mIsConnected; } - bool GetIsPresenting() const { return mIsPresenting; } - const Size& GetStageSize() const { return mStageSize; } - const Matrix4x4& GetSittingToStandingTransform() const { return mSittingToStandingTransform; } - - enum Eye { - Eye_Left, - Eye_Right, - NumEyes - }; - - uint32_t mDisplayID; - VRDeviceType mType; - nsCString mDisplayName; - VRDisplayCapabilityFlags mCapabilityFlags; - VRFieldOfView mEyeFOV[VRDisplayInfo::NumEyes]; - Point3D mEyeTranslation[VRDisplayInfo::NumEyes]; - IntSize mEyeResolution; - bool mIsConnected; - bool mIsPresenting; - Size mStageSize; - Matrix4x4 mSittingToStandingTransform; - - bool operator==(const VRDisplayInfo& other) const { - return mType == other.mType && - mDisplayID == other.mDisplayID && - mDisplayName == other.mDisplayName && - mCapabilityFlags == other.mCapabilityFlags && - mEyeResolution == other.mEyeResolution && - mIsConnected == other.mIsConnected && - mIsPresenting == other.mIsPresenting && - mEyeFOV[0] == other.mEyeFOV[0] && - mEyeFOV[1] == other.mEyeFOV[1] && - mEyeTranslation[0] == other.mEyeTranslation[0] && - mEyeTranslation[1] == other.mEyeTranslation[1] && - mStageSize == other.mStageSize && - mSittingToStandingTransform == other.mSittingToStandingTransform; - } - - bool operator!=(const VRDisplayInfo& other) const { - return !(*this == other); - } -}; - -struct VRHMDSensorState { - double timestamp; - int32_t inputFrameID; - VRDisplayCapabilityFlags flags; - float orientation[4]; - float position[3]; - float angularVelocity[3]; - float angularAcceleration[3]; - float linearVelocity[3]; - float linearAcceleration[3]; - - void Clear() { - memset(this, 0, sizeof(VRHMDSensorState)); - } -}; - -class VRDisplayManager { -public: - static uint32_t AllocateDisplayID(); - -protected: - static Atomic<uint32_t> sDisplayBase; - -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRDisplayManager) - - virtual bool Init() = 0; - virtual void Destroy() = 0; - virtual void GetHMDs(nsTArray<RefPtr<VRDisplayHost>>& aHMDResult) = 0; - -protected: - VRDisplayManager() { } - virtual ~VRDisplayManager() { } -}; - -struct VRControllerInfo -{ - VRDeviceType GetType() const { return mType; } - uint32_t GetControllerID() const { return mControllerID; } - const nsCString& GetControllerName() const { return mControllerName; } - uint32_t GetMappingType() const { return mMappingType; } - uint32_t GetNumButtons() const { return mNumButtons; } - uint32_t GetNumAxes() const { return mNumAxes; } - - uint32_t mControllerID; - VRDeviceType mType; - nsCString mControllerName; - uint32_t mMappingType; - uint32_t mNumButtons; - uint32_t mNumAxes; - - bool operator==(const VRControllerInfo& other) const { - return mType == other.mType && - mControllerID == other.mControllerID && - mControllerName == other.mControllerName && - mMappingType == other.mMappingType && - mNumButtons == other.mNumButtons && - mNumAxes == other.mNumAxes; - } - - bool operator!=(const VRControllerInfo& other) const { - return !(*this == other); - } -}; - -class VRControllerManager { -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRControllerManager) - - static uint32_t AllocateControllerID(); - virtual bool Init() = 0; - virtual void Destroy() = 0; - virtual void HandleInput() = 0; - virtual void GetControllers(nsTArray<RefPtr<VRControllerHost>>& aControllerResult) = 0; - virtual void ScanForDevices() = 0; - void NewButtonEvent(uint32_t aIndex, uint32_t aButton, bool aPressed); - void NewAxisMove(uint32_t aIndex, uint32_t aAxis, double aValue); - void NewPoseState(uint32_t aIndex, const dom::GamepadPoseState& aPose); - void AddGamepad(const char* aID, uint32_t aMapping, - uint32_t aNumButtons, uint32_t aNumAxes); - void RemoveGamepad(uint32_t aIndex); - -protected: - VRControllerManager() : mInstalled(false), mControllerCount(0) {} - virtual ~VRControllerManager() {} - - bool mInstalled; - uint32_t mControllerCount; - static Atomic<uint32_t> sControllerBase; - -private: - virtual void HandleButtonPress(uint32_t aControllerIdx, - uint64_t aButtonPressed) = 0; - virtual void HandleAxisMove(uint32_t aControllerIdx, uint32_t aAxis, - float aValue) = 0; - virtual void HandlePoseTracking(uint32_t aControllerIdx, - const dom::GamepadPoseState& aPose, - VRControllerHost* aController) = 0; -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_H */ diff --git a/gfx/vr/gfxVROSVR.cpp b/gfx/vr/gfxVROSVR.cpp deleted file mode 100644 index 8b275e923..000000000 --- a/gfx/vr/gfxVROSVR.cpp +++ /dev/null @@ -1,529 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <math.h> - -#include "prlink.h" -#include "prmem.h" -#include "prenv.h" -#include "gfxPrefs.h" -#include "nsString.h" -#include "mozilla/Preferences.h" - -#include "mozilla/gfx/Quaternion.h" - -#ifdef XP_WIN -#include "../layers/d3d11/CompositorD3D11.h" -#include "../layers/d3d11/TextureD3D11.h" -#endif - -#include "gfxVROSVR.h" - -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - -using namespace mozilla::layers; -using namespace mozilla::gfx; -using namespace mozilla::gfx::impl; - -namespace { -// need to typedef functions that will be used in the code below -extern "C" { -typedef OSVR_ClientContext (*pfn_osvrClientInit)( - const char applicationIdentifier[], uint32_t flags); -typedef OSVR_ReturnCode (*pfn_osvrClientShutdown)(OSVR_ClientContext ctx); -typedef OSVR_ReturnCode (*pfn_osvrClientUpdate)(OSVR_ClientContext ctx); -typedef OSVR_ReturnCode (*pfn_osvrClientCheckStatus)(OSVR_ClientContext ctx); -typedef OSVR_ReturnCode (*pfn_osvrClientGetInterface)( - OSVR_ClientContext ctx, const char path[], OSVR_ClientInterface* iface); -typedef OSVR_ReturnCode (*pfn_osvrClientFreeInterface)( - OSVR_ClientContext ctx, OSVR_ClientInterface iface); -typedef OSVR_ReturnCode (*pfn_osvrGetOrientationState)( - OSVR_ClientInterface iface, OSVR_TimeValue* timestamp, - OSVR_OrientationState* state); -typedef OSVR_ReturnCode (*pfn_osvrGetPositionState)(OSVR_ClientInterface iface, - OSVR_TimeValue* timestamp, - OSVR_PositionState* state); -typedef OSVR_ReturnCode (*pfn_osvrClientGetDisplay)(OSVR_ClientContext ctx, - OSVR_DisplayConfig* disp); -typedef OSVR_ReturnCode (*pfn_osvrClientFreeDisplay)(OSVR_DisplayConfig disp); -typedef OSVR_ReturnCode (*pfn_osvrClientGetNumEyesForViewer)( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount* eyes); -typedef OSVR_ReturnCode (*pfn_osvrClientGetViewerEyePose)( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_Pose3* pose); -typedef OSVR_ReturnCode (*pfn_osvrClientGetDisplayDimensions)( - OSVR_DisplayConfig disp, OSVR_DisplayInputCount displayInputIndex, - OSVR_DisplayDimension* width, OSVR_DisplayDimension* height); -typedef OSVR_ReturnCode ( - *pfn_osvrClientGetViewerEyeSurfaceProjectionClippingPlanes)( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, double* left, double* right, double* bottom, - double* top); -typedef OSVR_ReturnCode (*pfn_osvrClientGetRelativeViewportForViewerEyeSurface)( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, OSVR_ViewportDimension* left, - OSVR_ViewportDimension* bottom, OSVR_ViewportDimension* width, - OSVR_ViewportDimension* height); -typedef OSVR_ReturnCode (*pfn_osvrClientGetViewerEyeSurfaceProjectionMatrixf)( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, float near, float far, - OSVR_MatrixConventions flags, float* matrix); -typedef OSVR_ReturnCode (*pfn_osvrClientCheckDisplayStartup)( - OSVR_DisplayConfig disp); -typedef OSVR_ReturnCode (*pfn_osvrClientSetRoomRotationUsingHead)( - OSVR_ClientContext ctx); -} - -static pfn_osvrClientInit osvr_ClientInit = nullptr; -static pfn_osvrClientShutdown osvr_ClientShutdown = nullptr; -static pfn_osvrClientUpdate osvr_ClientUpdate = nullptr; -static pfn_osvrClientCheckStatus osvr_ClientCheckStatus = nullptr; -static pfn_osvrClientGetInterface osvr_ClientGetInterface = nullptr; -static pfn_osvrClientFreeInterface osvr_ClientFreeInterface = nullptr; -static pfn_osvrGetOrientationState osvr_GetOrientationState = nullptr; -static pfn_osvrGetPositionState osvr_GetPositionState = nullptr; -static pfn_osvrClientGetDisplay osvr_ClientGetDisplay = nullptr; -static pfn_osvrClientFreeDisplay osvr_ClientFreeDisplay = nullptr; -static pfn_osvrClientGetNumEyesForViewer osvr_ClientGetNumEyesForViewer = - nullptr; -static pfn_osvrClientGetViewerEyePose osvr_ClientGetViewerEyePose = nullptr; -static pfn_osvrClientGetDisplayDimensions osvr_ClientGetDisplayDimensions = - nullptr; -static pfn_osvrClientGetViewerEyeSurfaceProjectionClippingPlanes - osvr_ClientGetViewerEyeSurfaceProjectionClippingPlanes = nullptr; -static pfn_osvrClientGetRelativeViewportForViewerEyeSurface - osvr_ClientGetRelativeViewportForViewerEyeSurface = nullptr; -static pfn_osvrClientGetViewerEyeSurfaceProjectionMatrixf - osvr_ClientGetViewerEyeSurfaceProjectionMatrixf = nullptr; -static pfn_osvrClientCheckDisplayStartup osvr_ClientCheckDisplayStartup = - nullptr; -static pfn_osvrClientSetRoomRotationUsingHead - osvr_ClientSetRoomRotationUsingHead = nullptr; - -bool -LoadOSVRRuntime() -{ - static PRLibrary* osvrUtilLib = nullptr; - static PRLibrary* osvrCommonLib = nullptr; - static PRLibrary* osvrClientLib = nullptr; - static PRLibrary* osvrClientKitLib = nullptr; - //this looks up the path in the about:config setting, from greprefs.js or modules\libpref\init\all.js - nsAdoptingCString osvrUtilPath = - mozilla::Preferences::GetCString("gfx.vr.osvr.utilLibPath"); - nsAdoptingCString osvrCommonPath = - mozilla::Preferences::GetCString("gfx.vr.osvr.commonLibPath"); - nsAdoptingCString osvrClientPath = - mozilla::Preferences::GetCString("gfx.vr.osvr.clientLibPath"); - nsAdoptingCString osvrClientKitPath = - mozilla::Preferences::GetCString("gfx.vr.osvr.clientKitLibPath"); - - //we need all the libs to be valid - if ((!osvrUtilPath) || (!osvrCommonPath) || (!osvrClientPath) || - (!osvrClientKitPath)) { - return false; - } - - osvrUtilLib = PR_LoadLibrary(osvrUtilPath.BeginReading()); - osvrCommonLib = PR_LoadLibrary(osvrCommonPath.BeginReading()); - osvrClientLib = PR_LoadLibrary(osvrClientPath.BeginReading()); - osvrClientKitLib = PR_LoadLibrary(osvrClientKitPath.BeginReading()); - - if (!osvrUtilLib) { - printf_stderr("[OSVR] Failed to load OSVR Util library!\n"); - return false; - } - if (!osvrCommonLib) { - printf_stderr("[OSVR] Failed to load OSVR Common library!\n"); - return false; - } - if (!osvrClientLib) { - printf_stderr("[OSVR] Failed to load OSVR Client library!\n"); - return false; - } - if (!osvrClientKitLib) { - printf_stderr("[OSVR] Failed to load OSVR ClientKit library!\n"); - return false; - } - -// make sure all functions that we'll be using are available -#define REQUIRE_FUNCTION(_x) \ - do { \ - *(void**) & osvr_##_x = \ - (void*)PR_FindSymbol(osvrClientKitLib, "osvr" #_x); \ - if (!osvr_##_x) { \ - printf_stderr("osvr" #_x " symbol missing\n"); \ - goto fail; \ - } \ - } while (0) - - REQUIRE_FUNCTION(ClientInit); - REQUIRE_FUNCTION(ClientShutdown); - REQUIRE_FUNCTION(ClientUpdate); - REQUIRE_FUNCTION(ClientCheckStatus); - REQUIRE_FUNCTION(ClientGetInterface); - REQUIRE_FUNCTION(ClientFreeInterface); - REQUIRE_FUNCTION(GetOrientationState); - REQUIRE_FUNCTION(GetPositionState); - REQUIRE_FUNCTION(ClientGetDisplay); - REQUIRE_FUNCTION(ClientFreeDisplay); - REQUIRE_FUNCTION(ClientGetNumEyesForViewer); - REQUIRE_FUNCTION(ClientGetViewerEyePose); - REQUIRE_FUNCTION(ClientGetDisplayDimensions); - REQUIRE_FUNCTION(ClientGetViewerEyeSurfaceProjectionClippingPlanes); - REQUIRE_FUNCTION(ClientGetRelativeViewportForViewerEyeSurface); - REQUIRE_FUNCTION(ClientGetViewerEyeSurfaceProjectionMatrixf); - REQUIRE_FUNCTION(ClientCheckDisplayStartup); - REQUIRE_FUNCTION(ClientSetRoomRotationUsingHead); - -#undef REQUIRE_FUNCTION - - return true; - -fail: - return false; -} - -} // namespace - -mozilla::gfx::VRFieldOfView -SetFromTanRadians(double left, double right, double bottom, double top) -{ - mozilla::gfx::VRFieldOfView fovInfo; - fovInfo.leftDegrees = atan(left) * 180.0 / M_PI; - fovInfo.rightDegrees = atan(right) * 180.0 / M_PI; - fovInfo.upDegrees = atan(top) * 180.0 / M_PI; - fovInfo.downDegrees = atan(bottom) * 180.0 / M_PI; - return fovInfo; -} - -VRDisplayOSVR::VRDisplayOSVR(OSVR_ClientContext* context, - OSVR_ClientInterface* iface, - OSVR_DisplayConfig* display) - : VRDisplayHost(VRDeviceType::OSVR) - , m_ctx(context) - , m_iface(iface) - , m_display(display) -{ - - MOZ_COUNT_CTOR_INHERITED(VRDisplayOSVR, VRDisplayHost); - - mDisplayInfo.mIsConnected = true; - mDisplayInfo.mDisplayName.AssignLiteral("OSVR HMD"); - mDisplayInfo.mCapabilityFlags = VRDisplayCapabilityFlags::Cap_None; - mDisplayInfo.mCapabilityFlags = - VRDisplayCapabilityFlags::Cap_Orientation | VRDisplayCapabilityFlags::Cap_Position; - - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_External; - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_Present; - - // XXX OSVR display topology allows for more than one viewer - // will assume only one viewer for now (most likely stay that way) - - OSVR_EyeCount numEyes; - osvr_ClientGetNumEyesForViewer(*m_display, 0, &numEyes); - - for (uint8_t eye = 0; eye < numEyes; eye++) { - double left, right, bottom, top; - // XXX for now there is only one surface per eye - osvr_ClientGetViewerEyeSurfaceProjectionClippingPlanes( - *m_display, 0, eye, 0, &left, &right, &bottom, &top); - mDisplayInfo.mEyeFOV[eye] = - SetFromTanRadians(-left, right, -bottom, top); - } - - // XXX Assuming there is only one display input for now - // however, it's possible to have more than one (dSight with 2 HDMI inputs) - OSVR_DisplayDimension width, height; - osvr_ClientGetDisplayDimensions(*m_display, 0, &width, &height); - - - for (uint8_t eye = 0; eye < numEyes; eye++) { - - OSVR_ViewportDimension l, b, w, h; - osvr_ClientGetRelativeViewportForViewerEyeSurface(*m_display, 0, eye, 0, &l, - &b, &w, &h); - mDisplayInfo.mEyeResolution.width = w; - mDisplayInfo.mEyeResolution.height = h; - OSVR_Pose3 eyePose; - // Viewer eye pose may not be immediately available, update client context until we get it - OSVR_ReturnCode ret = - osvr_ClientGetViewerEyePose(*m_display, 0, eye, &eyePose); - while (ret != OSVR_RETURN_SUCCESS) { - osvr_ClientUpdate(*m_ctx); - ret = osvr_ClientGetViewerEyePose(*m_display, 0, eye, &eyePose); - } - mDisplayInfo.mEyeTranslation[eye].x = eyePose.translation.data[0]; - mDisplayInfo.mEyeTranslation[eye].y = eyePose.translation.data[1]; - mDisplayInfo.mEyeTranslation[eye].z = eyePose.translation.data[2]; - } -} - -void -VRDisplayOSVR::Destroy() -{ - // destroy non-owning pointers - m_ctx = nullptr; - m_iface = nullptr; - m_display = nullptr; -} - -void -VRDisplayOSVR::ZeroSensor() -{ - // recenter pose aka reset yaw - osvr_ClientSetRoomRotationUsingHead(*m_ctx); -} - -VRHMDSensorState -VRDisplayOSVR::GetSensorState() -{ - - //update client context before anything - //this usually goes into app's mainloop - osvr_ClientUpdate(*m_ctx); - - VRHMDSensorState result; - OSVR_TimeValue timestamp; - result.Clear(); - - OSVR_OrientationState orientation; - - OSVR_ReturnCode ret = - osvr_GetOrientationState(*m_iface, ×tamp, &orientation); - - result.timestamp = timestamp.seconds; - - if (ret == OSVR_RETURN_SUCCESS) { - result.flags |= VRDisplayCapabilityFlags::Cap_Orientation; - result.orientation[0] = orientation.data[1]; - result.orientation[1] = orientation.data[2]; - result.orientation[2] = orientation.data[3]; - result.orientation[3] = orientation.data[0]; - } - - OSVR_PositionState position; - ret = osvr_GetPositionState(*m_iface, ×tamp, &position); - if (ret == OSVR_RETURN_SUCCESS) { - result.flags |= VRDisplayCapabilityFlags::Cap_Position; - result.position[0] = position.data[0]; - result.position[1] = position.data[1]; - result.position[2] = position.data[2]; - } - - return result; -} - -VRHMDSensorState -VRDisplayOSVR::GetImmediateSensorState() -{ - return GetSensorState(); -} - -#if defined(XP_WIN) - -void -VRDisplayOSVR::SubmitFrame(TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - // XXX Add code to submit frame -} - -#endif - -void -VRDisplayOSVR::StartPresentation() -{ - // XXX Add code to start VR Presentation -} - -void -VRDisplayOSVR::StopPresentation() -{ - // XXX Add code to end VR Presentation -} - -already_AddRefed<VRDisplayManagerOSVR> -VRDisplayManagerOSVR::Create() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!gfxPrefs::VREnabled() || !gfxPrefs::VROSVREnabled()) { - return nullptr; - } - if (!LoadOSVRRuntime()) { - return nullptr; - } - RefPtr<VRDisplayManagerOSVR> manager = new VRDisplayManagerOSVR(); - return manager.forget(); -} - -void -VRDisplayManagerOSVR::CheckOSVRStatus() -{ - if (mOSVRInitialized) { - return; - } - - // client context must be initialized first - InitializeClientContext(); - - // update client context - osvr_ClientUpdate(m_ctx); - - // initialize interface and display if they are not initialized yet - InitializeInterface(); - InitializeDisplay(); - - // OSVR is fully initialized now - if (mClientContextInitialized && mDisplayConfigInitialized && - mInterfaceInitialized) { - mOSVRInitialized = true; - } -} - -void -VRDisplayManagerOSVR::InitializeClientContext() -{ - // already initialized - if (mClientContextInitialized) { - return; - } - - // first time creating - if (!m_ctx) { - // get client context - m_ctx = osvr_ClientInit("com.osvr.webvr", 0); - // update context - osvr_ClientUpdate(m_ctx); - // verify we are connected - if (OSVR_RETURN_SUCCESS == osvr_ClientCheckStatus(m_ctx)) { - mClientContextInitialized = true; - } - } - // client context exists but not up and running yet - else { - // update context - osvr_ClientUpdate(m_ctx); - if (OSVR_RETURN_SUCCESS == osvr_ClientCheckStatus(m_ctx)) { - mClientContextInitialized = true; - } - } -} - -void -VRDisplayManagerOSVR::InitializeInterface() -{ - // already initialized - if (mInterfaceInitialized) { - return; - } - //Client context must be initialized before getting interface - if (mClientContextInitialized) { - // m_iface will remain nullptr if no interface is returned - if (OSVR_RETURN_SUCCESS == - osvr_ClientGetInterface(m_ctx, "/me/head", &m_iface)) { - mInterfaceInitialized = true; - } - } -} - -void -VRDisplayManagerOSVR::InitializeDisplay() -{ - // display is fully configured - if (mDisplayConfigInitialized) { - return; - } - - //Client context must be initialized before getting interface - if (mClientContextInitialized) { - // first time creating display object - if (m_display == nullptr) { - - OSVR_ReturnCode ret = osvr_ClientGetDisplay(m_ctx, &m_display); - - if (ret == OSVR_RETURN_SUCCESS) { - osvr_ClientUpdate(m_ctx); - // display object may have been created but not fully startup - if (OSVR_RETURN_SUCCESS == osvr_ClientCheckDisplayStartup(m_display)) { - mDisplayConfigInitialized = true; - } - } - - // Typically once we get Display object, pose data is available after - // clientUpdate but sometimes it takes ~ 200 ms to get - // a succesfull connection, so we might have to run a few update cycles - } else { - - if (OSVR_RETURN_SUCCESS == osvr_ClientCheckDisplayStartup(m_display)) { - mDisplayConfigInitialized = true; - } - } - } -} - -bool -VRDisplayManagerOSVR::Init() -{ - - // OSVR server should be running in the background - // It would load plugins and take care of detecting HMDs - if (!mOSVRInitialized) { - nsIThread* thread = nullptr; - NS_GetCurrentThread(&thread); - mOSVRThread = already_AddRefed<nsIThread>(thread); - - // initialize client context - InitializeClientContext(); - // try to initialize interface - InitializeInterface(); - // try to initialize display object - InitializeDisplay(); - // verify all components are initialized - CheckOSVRStatus(); - } - - return mOSVRInitialized; -} - -void -VRDisplayManagerOSVR::Destroy() -{ - if (mOSVRInitialized) { - MOZ_ASSERT(NS_GetCurrentThread() == mOSVRThread); - mOSVRThread = nullptr; - mHMDInfo = nullptr; - mOSVRInitialized = false; - } - // client context may not have been initialized - if (m_ctx) { - osvr_ClientFreeDisplay(m_display); - } - // osvr checks that m_ctx or m_iface are not null - osvr_ClientFreeInterface(m_ctx, m_iface); - osvr_ClientShutdown(m_ctx); -} - -void -VRDisplayManagerOSVR::GetHMDs(nsTArray<RefPtr<VRDisplayHost>>& aHMDResult) -{ - // make sure context, interface and display are initialized - CheckOSVRStatus(); - - if (!mOSVRInitialized) { - return; - } - - mHMDInfo = new VRDisplayOSVR(&m_ctx, &m_iface, &m_display); - - if (mHMDInfo) { - aHMDResult.AppendElement(mHMDInfo); - } -} diff --git a/gfx/vr/gfxVROSVR.h b/gfx/vr/gfxVROSVR.h deleted file mode 100644 index 6bd6e93d2..000000000 --- a/gfx/vr/gfxVROSVR.h +++ /dev/null @@ -1,107 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_OSVR_H -#define GFX_VR_OSVR_H - -#include "nsTArray.h" -#include "mozilla/RefPtr.h" -#include "nsThreadUtils.h" - -#include "mozilla/gfx/2D.h" -#include "mozilla/EnumeratedArray.h" - -#include "VRDisplayHost.h" - -#include <osvr/ClientKit/ClientKitC.h> -#include <osvr/ClientKit/DisplayC.h> - -namespace mozilla { -namespace gfx { -namespace impl { - -class VRDisplayOSVR : public VRDisplayHost -{ -public: - VRHMDSensorState GetSensorState() override; - VRHMDSensorState GetImmediateSensorState() override; - void ZeroSensor() override; - -protected: - virtual void StartPresentation() override; - virtual void StopPresentation() override; - -#if defined(XP_WIN) - virtual void SubmitFrame(TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) override; -#endif - -public: - explicit VRDisplayOSVR(OSVR_ClientContext* context, - OSVR_ClientInterface* iface, - OSVR_DisplayConfig* display); - -protected: - virtual ~VRDisplayOSVR() - { - Destroy(); - MOZ_COUNT_DTOR_INHERITED(VRDisplayOSVR, VRDisplayHost); - } - void Destroy(); - - OSVR_ClientContext* m_ctx; - OSVR_ClientInterface* m_iface; - OSVR_DisplayConfig* m_display; -}; - -} // namespace impl - -class VRDisplayManagerOSVR : public VRDisplayManager -{ -public: - static already_AddRefed<VRDisplayManagerOSVR> Create(); - virtual bool Init() override; - virtual void Destroy() override; - virtual void GetHMDs(nsTArray<RefPtr<VRDisplayHost>>& aHMDResult) override; - -protected: - VRDisplayManagerOSVR() - : mOSVRInitialized(false) - , mClientContextInitialized(false) - , mDisplayConfigInitialized(false) - , mInterfaceInitialized(false) - , m_ctx(nullptr) - , m_iface(nullptr) - , m_display(nullptr) - { - } - - RefPtr<impl::VRDisplayOSVR> mHMDInfo; - bool mOSVRInitialized; - bool mClientContextInitialized; - bool mDisplayConfigInitialized; - bool mInterfaceInitialized; - RefPtr<nsIThread> mOSVRThread; - - OSVR_ClientContext m_ctx; - OSVR_ClientInterface m_iface; - OSVR_DisplayConfig m_display; - -private: - // check if all components are initialized - // and if not, it will try to initialize them - void CheckOSVRStatus(); - void InitializeClientContext(); - void InitializeDisplay(); - void InitializeInterface(); -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_OSVR_H */
\ No newline at end of file diff --git a/gfx/vr/gfxVROculus.cpp b/gfx/vr/gfxVROculus.cpp deleted file mode 100644 index c00a22320..000000000 --- a/gfx/vr/gfxVROculus.cpp +++ /dev/null @@ -1,896 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef XP_WIN -#error "Oculus 1.3 runtime support only available for Windows" -#endif - -#include <math.h> - - -#include "prlink.h" -#include "prmem.h" -#include "prenv.h" -#include "gfxPrefs.h" -#include "nsString.h" -#include "mozilla/DebugOnly.h" -#include "mozilla/Preferences.h" -#include "mozilla/TimeStamp.h" -#include "mozilla/gfx/DeviceManagerDx.h" -#include "ipc/VRLayerParent.h" - -#include "mozilla/gfx/Quaternion.h" - -#include <d3d11.h> -#include "CompositorD3D11.h" -#include "TextureD3D11.h" - -#include "gfxVROculus.h" - -/** XXX The DX11 objects and quad blitting could be encapsulated - * into a separate object if either Oculus starts supporting - * non-Windows platforms or the blit is needed by other HMD\ - * drivers. - * Alternately, we could remove the extra blit for - * Oculus as well with some more refactoring. - */ - -// See CompositorD3D11Shaders.h -struct ShaderBytes { const void* mData; size_t mLength; }; -extern ShaderBytes sRGBShader; -extern ShaderBytes sLayerQuadVS; -#ifndef M_PI -# define M_PI 3.14159265358979323846 -#endif - -using namespace mozilla; -using namespace mozilla::gfx; -using namespace mozilla::gfx::impl; -using namespace mozilla::layers; - -namespace { - -#ifdef OVR_CAPI_LIMITED_MOZILLA -static pfn_ovr_Initialize ovr_Initialize = nullptr; -static pfn_ovr_Shutdown ovr_Shutdown = nullptr; -static pfn_ovr_GetLastErrorInfo ovr_GetLastErrorInfo = nullptr; -static pfn_ovr_GetVersionString ovr_GetVersionString = nullptr; -static pfn_ovr_TraceMessage ovr_TraceMessage = nullptr; -static pfn_ovr_GetHmdDesc ovr_GetHmdDesc = nullptr; -static pfn_ovr_GetTrackerCount ovr_GetTrackerCount = nullptr; -static pfn_ovr_GetTrackerDesc ovr_GetTrackerDesc = nullptr; -static pfn_ovr_Create ovr_Create = nullptr; -static pfn_ovr_Destroy ovr_Destroy = nullptr; -static pfn_ovr_GetSessionStatus ovr_GetSessionStatus = nullptr; -static pfn_ovr_SetTrackingOriginType ovr_SetTrackingOriginType = nullptr; -static pfn_ovr_GetTrackingOriginType ovr_GetTrackingOriginType = nullptr; -static pfn_ovr_RecenterTrackingOrigin ovr_RecenterTrackingOrigin = nullptr; -static pfn_ovr_ClearShouldRecenterFlag ovr_ClearShouldRecenterFlag = nullptr; -static pfn_ovr_GetTrackingState ovr_GetTrackingState = nullptr; -static pfn_ovr_GetTrackerPose ovr_GetTrackerPose = nullptr; -static pfn_ovr_GetInputState ovr_GetInputState = nullptr; -static pfn_ovr_GetConnectedControllerTypes ovr_GetConnectedControllerTypes = nullptr; -static pfn_ovr_SetControllerVibration ovr_SetControllerVibration = nullptr; -static pfn_ovr_GetTextureSwapChainLength ovr_GetTextureSwapChainLength = nullptr; -static pfn_ovr_GetTextureSwapChainCurrentIndex ovr_GetTextureSwapChainCurrentIndex = nullptr; -static pfn_ovr_GetTextureSwapChainDesc ovr_GetTextureSwapChainDesc = nullptr; -static pfn_ovr_CommitTextureSwapChain ovr_CommitTextureSwapChain = nullptr; -static pfn_ovr_DestroyTextureSwapChain ovr_DestroyTextureSwapChain = nullptr; -static pfn_ovr_DestroyMirrorTexture ovr_DestroyMirrorTexture = nullptr; -static pfn_ovr_GetFovTextureSize ovr_GetFovTextureSize = nullptr; -static pfn_ovr_GetRenderDesc ovr_GetRenderDesc = nullptr; -static pfn_ovr_SubmitFrame ovr_SubmitFrame = nullptr; -static pfn_ovr_GetPredictedDisplayTime ovr_GetPredictedDisplayTime = nullptr; -static pfn_ovr_GetTimeInSeconds ovr_GetTimeInSeconds = nullptr; -static pfn_ovr_GetBool ovr_GetBool = nullptr; -static pfn_ovr_SetBool ovr_SetBool = nullptr; -static pfn_ovr_GetInt ovr_GetInt = nullptr; -static pfn_ovr_SetInt ovr_SetInt = nullptr; -static pfn_ovr_GetFloat ovr_GetFloat = nullptr; -static pfn_ovr_SetFloat ovr_SetFloat = nullptr; -static pfn_ovr_GetFloatArray ovr_GetFloatArray = nullptr; -static pfn_ovr_SetFloatArray ovr_SetFloatArray = nullptr; -static pfn_ovr_GetString ovr_GetString = nullptr; -static pfn_ovr_SetString ovr_SetString = nullptr; - -#ifdef XP_WIN -static pfn_ovr_CreateTextureSwapChainDX ovr_CreateTextureSwapChainDX = nullptr; -static pfn_ovr_GetTextureSwapChainBufferDX ovr_GetTextureSwapChainBufferDX = nullptr; -static pfn_ovr_CreateMirrorTextureDX ovr_CreateMirrorTextureDX = nullptr; -static pfn_ovr_GetMirrorTextureBufferDX ovr_GetMirrorTextureBufferDX = nullptr; -#endif - -static pfn_ovr_CreateTextureSwapChainGL ovr_CreateTextureSwapChainGL = nullptr; -static pfn_ovr_GetTextureSwapChainBufferGL ovr_GetTextureSwapChainBufferGL = nullptr; -static pfn_ovr_CreateMirrorTextureGL ovr_CreateMirrorTextureGL = nullptr; -static pfn_ovr_GetMirrorTextureBufferGL ovr_GetMirrorTextureBufferGL = nullptr; - -#ifdef HAVE_64BIT_BUILD -#define BUILD_BITS 64 -#else -#define BUILD_BITS 32 -#endif - -#define OVR_PRODUCT_VERSION 1 -#define OVR_MAJOR_VERSION 3 -#define OVR_MINOR_VERSION 1 - -static bool -InitializeOculusCAPI() -{ - static PRLibrary *ovrlib = nullptr; - - if (!ovrlib) { - nsTArray<nsCString> libSearchPaths; - nsCString libName; - nsCString searchPath; - -#if defined(_WIN32) - static const char dirSep = '\\'; -#else - static const char dirSep = '/'; -#endif - -#if defined(_WIN32) - static const int pathLen = 260; - searchPath.SetCapacity(pathLen); - int realLen = ::GetSystemDirectoryA(searchPath.BeginWriting(), pathLen); - if (realLen != 0 && realLen < pathLen) { - searchPath.SetLength(realLen); - libSearchPaths.AppendElement(searchPath); - } - libName.AppendPrintf("LibOVRRT%d_%d.dll", BUILD_BITS, OVR_PRODUCT_VERSION); -#elif defined(__APPLE__) - searchPath.Truncate(); - searchPath.AppendPrintf("/Library/Frameworks/LibOVRRT_%d.framework/Versions/%d", OVR_PRODUCT_VERSION, OVR_MAJOR_VERSION); - libSearchPaths.AppendElement(searchPath); - - if (PR_GetEnv("HOME")) { - searchPath.Truncate(); - searchPath.AppendPrintf("%s/Library/Frameworks/LibOVRRT_%d.framework/Versions/%d", PR_GetEnv("HOME"), OVR_PRODUCT_VERSION, OVR_MAJOR_VERSION); - libSearchPaths.AppendElement(searchPath); - } - // The following will match the va_list overload of AppendPrintf if the product version is 0 - // That's bad times. - //libName.AppendPrintf("LibOVRRT_%d", OVR_PRODUCT_VERSION); - libName.Append("LibOVRRT_"); - libName.AppendInt(OVR_PRODUCT_VERSION); -#else - libSearchPaths.AppendElement(nsCString("/usr/local/lib")); - libSearchPaths.AppendElement(nsCString("/usr/lib")); - libName.AppendPrintf("libOVRRT%d_%d.so.%d", BUILD_BITS, OVR_PRODUCT_VERSION, OVR_MAJOR_VERSION); -#endif - - // If the pref is present, we override libName - nsAdoptingCString prefLibPath = mozilla::Preferences::GetCString("dom.vr.ovr_lib_path"); - if (prefLibPath && prefLibPath.get()) { - libSearchPaths.InsertElementsAt(0, 1, prefLibPath); - } - - nsAdoptingCString prefLibName = mozilla::Preferences::GetCString("dom.vr.ovr_lib_name"); - if (prefLibName && prefLibName.get()) { - libName.Assign(prefLibName); - } - - // search the path/module dir - libSearchPaths.InsertElementsAt(0, 1, nsCString()); - - // If the env var is present, we override libName - if (PR_GetEnv("OVR_LIB_PATH")) { - searchPath = PR_GetEnv("OVR_LIB_PATH"); - libSearchPaths.InsertElementsAt(0, 1, searchPath); - } - - if (PR_GetEnv("OVR_LIB_NAME")) { - libName = PR_GetEnv("OVR_LIB_NAME"); - } - - for (uint32_t i = 0; i < libSearchPaths.Length(); ++i) { - nsCString& libPath = libSearchPaths[i]; - nsCString fullName; - if (libPath.Length() == 0) { - fullName.Assign(libName); - } else { - fullName.AppendPrintf("%s%c%s", libPath.BeginReading(), dirSep, libName.BeginReading()); - } - - ovrlib = PR_LoadLibrary(fullName.BeginReading()); - if (ovrlib) - break; - } - - if (!ovrlib) { - return false; - } - } - - // was it already initialized? - if (ovr_Initialize) - return true; - -#define REQUIRE_FUNCTION(_x) do { \ - *(void **)&_x = (void *) PR_FindSymbol(ovrlib, #_x); \ - if (!_x) { printf_stderr(#_x " symbol missing\n"); goto fail; } \ - } while (0) - - REQUIRE_FUNCTION(ovr_Initialize); - REQUIRE_FUNCTION(ovr_Shutdown); - REQUIRE_FUNCTION(ovr_GetLastErrorInfo); - REQUIRE_FUNCTION(ovr_GetVersionString); - REQUIRE_FUNCTION(ovr_TraceMessage); - REQUIRE_FUNCTION(ovr_GetHmdDesc); - REQUIRE_FUNCTION(ovr_GetTrackerCount); - REQUIRE_FUNCTION(ovr_GetTrackerDesc); - REQUIRE_FUNCTION(ovr_Create); - REQUIRE_FUNCTION(ovr_Destroy); - REQUIRE_FUNCTION(ovr_GetSessionStatus); - REQUIRE_FUNCTION(ovr_SetTrackingOriginType); - REQUIRE_FUNCTION(ovr_GetTrackingOriginType); - REQUIRE_FUNCTION(ovr_RecenterTrackingOrigin); - REQUIRE_FUNCTION(ovr_ClearShouldRecenterFlag); - REQUIRE_FUNCTION(ovr_GetTrackingState); - REQUIRE_FUNCTION(ovr_GetTrackerPose); - REQUIRE_FUNCTION(ovr_GetInputState); - REQUIRE_FUNCTION(ovr_GetConnectedControllerTypes); - REQUIRE_FUNCTION(ovr_SetControllerVibration); - REQUIRE_FUNCTION(ovr_GetTextureSwapChainLength); - REQUIRE_FUNCTION(ovr_GetTextureSwapChainCurrentIndex); - REQUIRE_FUNCTION(ovr_GetTextureSwapChainDesc); - REQUIRE_FUNCTION(ovr_CommitTextureSwapChain); - REQUIRE_FUNCTION(ovr_DestroyTextureSwapChain); - REQUIRE_FUNCTION(ovr_DestroyMirrorTexture); - REQUIRE_FUNCTION(ovr_GetFovTextureSize); - REQUIRE_FUNCTION(ovr_GetRenderDesc); - REQUIRE_FUNCTION(ovr_SubmitFrame); - REQUIRE_FUNCTION(ovr_GetPredictedDisplayTime); - REQUIRE_FUNCTION(ovr_GetTimeInSeconds); - REQUIRE_FUNCTION(ovr_GetBool); - REQUIRE_FUNCTION(ovr_SetBool); - REQUIRE_FUNCTION(ovr_GetInt); - REQUIRE_FUNCTION(ovr_SetInt); - REQUIRE_FUNCTION(ovr_GetFloat); - REQUIRE_FUNCTION(ovr_SetFloat); - REQUIRE_FUNCTION(ovr_GetFloatArray); - REQUIRE_FUNCTION(ovr_SetFloatArray); - REQUIRE_FUNCTION(ovr_GetString); - REQUIRE_FUNCTION(ovr_SetString); - -#ifdef XP_WIN - - REQUIRE_FUNCTION(ovr_CreateTextureSwapChainDX); - REQUIRE_FUNCTION(ovr_GetTextureSwapChainBufferDX); - REQUIRE_FUNCTION(ovr_CreateMirrorTextureDX); - REQUIRE_FUNCTION(ovr_GetMirrorTextureBufferDX); - -#endif - - REQUIRE_FUNCTION(ovr_CreateTextureSwapChainGL); - REQUIRE_FUNCTION(ovr_GetTextureSwapChainBufferGL); - REQUIRE_FUNCTION(ovr_CreateMirrorTextureGL); - REQUIRE_FUNCTION(ovr_GetMirrorTextureBufferGL); - -#undef REQUIRE_FUNCTION - - return true; - - fail: - ovr_Initialize = nullptr; - return false; -} - -#else -#include <OVR_Version.h> -// we're statically linked; it's available -static bool InitializeOculusCAPI() -{ - return true; -} - -#endif - -ovrFovPort -ToFovPort(const VRFieldOfView& aFOV) -{ - ovrFovPort fovPort; - fovPort.LeftTan = tan(aFOV.leftDegrees * M_PI / 180.0); - fovPort.RightTan = tan(aFOV.rightDegrees * M_PI / 180.0); - fovPort.UpTan = tan(aFOV.upDegrees * M_PI / 180.0); - fovPort.DownTan = tan(aFOV.downDegrees * M_PI / 180.0); - return fovPort; -} - -VRFieldOfView -FromFovPort(const ovrFovPort& aFOV) -{ - VRFieldOfView fovInfo; - fovInfo.leftDegrees = atan(aFOV.LeftTan) * 180.0 / M_PI; - fovInfo.rightDegrees = atan(aFOV.RightTan) * 180.0 / M_PI; - fovInfo.upDegrees = atan(aFOV.UpTan) * 180.0 / M_PI; - fovInfo.downDegrees = atan(aFOV.DownTan) * 180.0 / M_PI; - return fovInfo; -} - -} // namespace - -VRDisplayOculus::VRDisplayOculus(ovrSession aSession) - : VRDisplayHost(VRDeviceType::Oculus) - , mSession(aSession) - , mTextureSet(nullptr) - , mQuadVS(nullptr) - , mQuadPS(nullptr) - , mLinearSamplerState(nullptr) - , mVSConstantBuffer(nullptr) - , mPSConstantBuffer(nullptr) - , mVertexBuffer(nullptr) - , mInputLayout(nullptr) - , mIsPresenting(false) -{ - MOZ_COUNT_CTOR_INHERITED(VRDisplayOculus, VRDisplayHost); - - mDisplayInfo.mDisplayName.AssignLiteral("Oculus VR HMD"); - mDisplayInfo.mIsConnected = true; - - mDesc = ovr_GetHmdDesc(aSession); - - mDisplayInfo.mCapabilityFlags = VRDisplayCapabilityFlags::Cap_None; - if (mDesc.AvailableTrackingCaps & ovrTrackingCap_Orientation) { - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_Orientation; - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_AngularAcceleration; - } - if (mDesc.AvailableTrackingCaps & ovrTrackingCap_Position) { - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_Position; - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_LinearAcceleration; - } - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_External; - mDisplayInfo.mCapabilityFlags |= VRDisplayCapabilityFlags::Cap_Present; - - mFOVPort[VRDisplayInfo::Eye_Left] = mDesc.DefaultEyeFov[ovrEye_Left]; - mFOVPort[VRDisplayInfo::Eye_Right] = mDesc.DefaultEyeFov[ovrEye_Right]; - - mDisplayInfo.mEyeFOV[VRDisplayInfo::Eye_Left] = FromFovPort(mFOVPort[VRDisplayInfo::Eye_Left]); - mDisplayInfo.mEyeFOV[VRDisplayInfo::Eye_Right] = FromFovPort(mFOVPort[VRDisplayInfo::Eye_Right]); - - float pixelsPerDisplayPixel = 1.0; - ovrSizei texSize[2]; - - // get eye parameters and create the mesh - for (uint32_t eye = 0; eye < VRDisplayInfo::NumEyes; eye++) { - - ovrEyeRenderDesc renderDesc = ovr_GetRenderDesc(mSession, (ovrEyeType)eye, mFOVPort[eye]); - - // As of Oculus 0.6.0, the HmdToEyeOffset values are correct and don't need to be negated. - mDisplayInfo.mEyeTranslation[eye] = Point3D(renderDesc.HmdToEyeOffset.x, renderDesc.HmdToEyeOffset.y, renderDesc.HmdToEyeOffset.z); - - texSize[eye] = ovr_GetFovTextureSize(mSession, (ovrEyeType)eye, mFOVPort[eye], pixelsPerDisplayPixel); - } - - // take the max of both for eye resolution - mDisplayInfo.mEyeResolution.width = std::max(texSize[VRDisplayInfo::Eye_Left].w, texSize[VRDisplayInfo::Eye_Right].w); - mDisplayInfo.mEyeResolution.height = std::max(texSize[VRDisplayInfo::Eye_Left].h, texSize[VRDisplayInfo::Eye_Right].h); -} - -VRDisplayOculus::~VRDisplayOculus() { - StopPresentation(); - Destroy(); - MOZ_COUNT_DTOR_INHERITED(VRDisplayOculus, VRDisplayHost); -} - -void -VRDisplayOculus::Destroy() -{ - if (mSession) { - ovr_Destroy(mSession); - mSession = nullptr; - } -} - -void -VRDisplayOculus::ZeroSensor() -{ - ovr_RecenterTrackingOrigin(mSession); -} - -VRHMDSensorState -VRDisplayOculus::GetSensorState() -{ - mInputFrameID++; - - VRHMDSensorState result; - double frameDelta = 0.0f; - if (gfxPrefs::VRPosePredictionEnabled()) { - // XXX We might need to call ovr_GetPredictedDisplayTime even if we don't use the result. - // If we don't call it, the Oculus driver will spew out many warnings... - double predictedFrameTime = ovr_GetPredictedDisplayTime(mSession, mInputFrameID); - frameDelta = predictedFrameTime - ovr_GetTimeInSeconds(); - } - result = GetSensorState(frameDelta); - result.inputFrameID = mInputFrameID; - mLastSensorState[result.inputFrameID % kMaxLatencyFrames] = result; - return result; -} - -VRHMDSensorState -VRDisplayOculus::GetImmediateSensorState() -{ - return GetSensorState(0.0); -} - -VRHMDSensorState -VRDisplayOculus::GetSensorState(double timeOffset) -{ - VRHMDSensorState result; - result.Clear(); - - ovrTrackingState state = ovr_GetTrackingState(mSession, timeOffset, true); - ovrPoseStatef& pose(state.HeadPose); - - result.timestamp = pose.TimeInSeconds; - - if (state.StatusFlags & ovrStatus_OrientationTracked) { - result.flags |= VRDisplayCapabilityFlags::Cap_Orientation; - - result.orientation[0] = pose.ThePose.Orientation.x; - result.orientation[1] = pose.ThePose.Orientation.y; - result.orientation[2] = pose.ThePose.Orientation.z; - result.orientation[3] = pose.ThePose.Orientation.w; - - result.angularVelocity[0] = pose.AngularVelocity.x; - result.angularVelocity[1] = pose.AngularVelocity.y; - result.angularVelocity[2] = pose.AngularVelocity.z; - - result.flags |= VRDisplayCapabilityFlags::Cap_AngularAcceleration; - - result.angularAcceleration[0] = pose.AngularAcceleration.x; - result.angularAcceleration[1] = pose.AngularAcceleration.y; - result.angularAcceleration[2] = pose.AngularAcceleration.z; - } - - if (state.StatusFlags & ovrStatus_PositionTracked) { - result.flags |= VRDisplayCapabilityFlags::Cap_Position; - - result.position[0] = pose.ThePose.Position.x; - result.position[1] = pose.ThePose.Position.y; - result.position[2] = pose.ThePose.Position.z; - - result.linearVelocity[0] = pose.LinearVelocity.x; - result.linearVelocity[1] = pose.LinearVelocity.y; - result.linearVelocity[2] = pose.LinearVelocity.z; - - result.flags |= VRDisplayCapabilityFlags::Cap_LinearAcceleration; - - result.linearAcceleration[0] = pose.LinearAcceleration.x; - result.linearAcceleration[1] = pose.LinearAcceleration.y; - result.linearAcceleration[2] = pose.LinearAcceleration.z; - } - result.flags |= VRDisplayCapabilityFlags::Cap_External; - result.flags |= VRDisplayCapabilityFlags::Cap_Present; - - return result; -} - -void -VRDisplayOculus::StartPresentation() -{ - if (mIsPresenting) { - return; - } - mIsPresenting = true; - - /** - * The presentation format is determined by content, which describes the - * left and right eye rectangles in the VRLayer. The default, if no - * coordinates are passed is to place the left and right eye textures - * side-by-side within the buffer. - * - * XXX - An optimization would be to dynamically resize this buffer - * to accomodate sites that are choosing to render in a lower - * resolution or are using space outside of the left and right - * eye textures for other purposes. (Bug 1291443) - */ - ovrTextureSwapChainDesc desc; - memset(&desc, 0, sizeof(desc)); - desc.Type = ovrTexture_2D; - desc.ArraySize = 1; - desc.Format = OVR_FORMAT_B8G8R8A8_UNORM_SRGB; - desc.Width = mDisplayInfo.mEyeResolution.width * 2; - desc.Height = mDisplayInfo.mEyeResolution.height; - desc.MipLevels = 1; - desc.SampleCount = 1; - desc.StaticImage = false; - desc.MiscFlags = ovrTextureMisc_DX_Typeless; - desc.BindFlags = ovrTextureBind_DX_RenderTarget; - - if (!mDevice) { - mDevice = gfx::DeviceManagerDx::Get()->GetCompositorDevice(); - if (!mDevice) { - NS_WARNING("Failed to get a D3D11Device for Oculus"); - return; - } - } - - mDevice->GetImmediateContext(getter_AddRefs(mContext)); - if (!mContext) { - NS_WARNING("Failed to get immediate context for Oculus"); - return; - } - - if (FAILED(mDevice->CreateVertexShader(sLayerQuadVS.mData, sLayerQuadVS.mLength, nullptr, &mQuadVS))) { - NS_WARNING("Failed to create vertex shader for Oculus"); - return; - } - - if (FAILED(mDevice->CreatePixelShader(sRGBShader.mData, sRGBShader.mLength, nullptr, &mQuadPS))) { - NS_WARNING("Failed to create pixel shader for Oculus"); - return; - } - - CD3D11_BUFFER_DESC cBufferDesc(sizeof(layers::VertexShaderConstants), - D3D11_BIND_CONSTANT_BUFFER, - D3D11_USAGE_DYNAMIC, - D3D11_CPU_ACCESS_WRITE); - - if (FAILED(mDevice->CreateBuffer(&cBufferDesc, nullptr, getter_AddRefs(mVSConstantBuffer)))) { - NS_WARNING("Failed to vertex shader constant buffer for Oculus"); - return; - } - - cBufferDesc.ByteWidth = sizeof(layers::PixelShaderConstants); - if (FAILED(mDevice->CreateBuffer(&cBufferDesc, nullptr, getter_AddRefs(mPSConstantBuffer)))) { - NS_WARNING("Failed to pixel shader constant buffer for Oculus"); - return; - } - - CD3D11_SAMPLER_DESC samplerDesc(D3D11_DEFAULT); - if (FAILED(mDevice->CreateSamplerState(&samplerDesc, getter_AddRefs(mLinearSamplerState)))) { - NS_WARNING("Failed to create sampler state for Oculus"); - return; - } - - D3D11_INPUT_ELEMENT_DESC layout[] = - { - { "POSITION", 0, DXGI_FORMAT_R32G32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 }, - }; - - if (FAILED(mDevice->CreateInputLayout(layout, - sizeof(layout) / sizeof(D3D11_INPUT_ELEMENT_DESC), - sLayerQuadVS.mData, - sLayerQuadVS.mLength, - getter_AddRefs(mInputLayout)))) { - NS_WARNING("Failed to create input layout for Oculus"); - return; - } - - ovrResult orv = ovr_CreateTextureSwapChainDX(mSession, mDevice, &desc, &mTextureSet); - if (orv != ovrSuccess) { - NS_WARNING("ovr_CreateTextureSwapChainDX failed"); - return; - } - - int textureCount = 0; - orv = ovr_GetTextureSwapChainLength(mSession, mTextureSet, &textureCount); - if (orv != ovrSuccess) { - NS_WARNING("ovr_GetTextureSwapChainLength failed"); - return; - } - - Vertex vertices[] = { { { 0.0, 0.0 } },{ { 1.0, 0.0 } },{ { 0.0, 1.0 } },{ { 1.0, 1.0 } } }; - CD3D11_BUFFER_DESC bufferDesc(sizeof(vertices), D3D11_BIND_VERTEX_BUFFER); - D3D11_SUBRESOURCE_DATA data; - data.pSysMem = (void*)vertices; - - if (FAILED(mDevice->CreateBuffer(&bufferDesc, &data, getter_AddRefs(mVertexBuffer)))) { - NS_WARNING("Failed to create vertex buffer for Oculus"); - return; - } - - mRenderTargets.SetLength(textureCount); - - memset(&mVSConstants, 0, sizeof(mVSConstants)); - memset(&mPSConstants, 0, sizeof(mPSConstants)); - - for (int i = 0; i < textureCount; ++i) { - RefPtr<CompositingRenderTargetD3D11> rt; - ID3D11Texture2D* texture = nullptr; - orv = ovr_GetTextureSwapChainBufferDX(mSession, mTextureSet, i, IID_PPV_ARGS(&texture)); - MOZ_ASSERT(orv == ovrSuccess, "ovr_GetTextureSwapChainBufferDX failed."); - rt = new CompositingRenderTargetD3D11(texture, IntPoint(0, 0), DXGI_FORMAT_B8G8R8A8_UNORM); - rt->SetSize(IntSize(mDisplayInfo.mEyeResolution.width * 2, mDisplayInfo.mEyeResolution.height)); - mRenderTargets[i] = rt; - texture->Release(); - } -} - -void -VRDisplayOculus::StopPresentation() -{ - if (!mIsPresenting) { - return; - } - mIsPresenting = false; - - ovr_SubmitFrame(mSession, 0, nullptr, nullptr, 0); - - if (mTextureSet) { - ovr_DestroyTextureSwapChain(mSession, mTextureSet); - mTextureSet = nullptr; - } -} - -/*static*/ already_AddRefed<VRDisplayManagerOculus> -VRDisplayManagerOculus::Create() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!gfxPrefs::VREnabled() || !gfxPrefs::VROculusEnabled()) - { - return nullptr; - } - - if (!InitializeOculusCAPI()) { - return nullptr; - } - - RefPtr<VRDisplayManagerOculus> manager = new VRDisplayManagerOculus(); - return manager.forget(); -} - -bool -VRDisplayManagerOculus::Init() -{ - if (!mOculusInitialized) { - nsIThread* thread = nullptr; - NS_GetCurrentThread(&thread); - mOculusThread = already_AddRefed<nsIThread>(thread); - - ovrInitParams params; - memset(¶ms, 0, sizeof(params)); - params.Flags = ovrInit_RequestVersion; - params.RequestedMinorVersion = OVR_MINOR_VERSION; - params.LogCallback = nullptr; - params.ConnectionTimeoutMS = 0; - - ovrResult orv = ovr_Initialize(¶ms); - - if (orv == ovrSuccess) { - mOculusInitialized = true; - } - } - - return mOculusInitialized; -} - -void -VRDisplayManagerOculus::Destroy() -{ - if (mOculusInitialized) { - MOZ_ASSERT(NS_GetCurrentThread() == mOculusThread); - mOculusThread = nullptr; - - mHMDInfo = nullptr; - - ovr_Shutdown(); - mOculusInitialized = false; - } -} - -void -VRDisplayManagerOculus::GetHMDs(nsTArray<RefPtr<VRDisplayHost>>& aHMDResult) -{ - if (!mOculusInitialized) { - return; - } - - // ovr_Create can be slow when no HMD is present and we wish - // to keep the same oculus session when possible, so we detect - // presence of an HMD with ovr_GetHmdDesc before calling ovr_Create - ovrHmdDesc desc = ovr_GetHmdDesc(NULL); - if (desc.Type == ovrHmd_None) { - // No HMD connected. - mHMDInfo = nullptr; - } else if (mHMDInfo == nullptr) { - // HMD Detected - ovrSession session; - ovrGraphicsLuid luid; - ovrResult orv = ovr_Create(&session, &luid); - if (orv == ovrSuccess) { - mHMDInfo = new VRDisplayOculus(session); - } - } - - if (mHMDInfo) { - aHMDResult.AppendElement(mHMDInfo); - } -} - -already_AddRefed<CompositingRenderTargetD3D11> -VRDisplayOculus::GetNextRenderTarget() -{ - int currentRenderTarget = 0; - DebugOnly<ovrResult> orv = ovr_GetTextureSwapChainCurrentIndex(mSession, mTextureSet, ¤tRenderTarget); - MOZ_ASSERT(orv == ovrSuccess, "ovr_GetTextureSwapChainCurrentIndex failed."); - - mRenderTargets[currentRenderTarget]->ClearOnBind(); - RefPtr<CompositingRenderTargetD3D11> rt = mRenderTargets[currentRenderTarget]; - return rt.forget(); -} - -bool -VRDisplayOculus::UpdateConstantBuffers() -{ - HRESULT hr; - D3D11_MAPPED_SUBRESOURCE resource; - resource.pData = nullptr; - - hr = mContext->Map(mVSConstantBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &resource); - if (FAILED(hr) || !resource.pData) { - return false; - } - *(VertexShaderConstants*)resource.pData = mVSConstants; - mContext->Unmap(mVSConstantBuffer, 0); - resource.pData = nullptr; - - hr = mContext->Map(mPSConstantBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &resource); - if (FAILED(hr) || !resource.pData) { - return false; - } - *(PixelShaderConstants*)resource.pData = mPSConstants; - mContext->Unmap(mPSConstantBuffer, 0); - - ID3D11Buffer *buffer = mVSConstantBuffer; - mContext->VSSetConstantBuffers(0, 1, &buffer); - buffer = mPSConstantBuffer; - mContext->PSSetConstantBuffers(0, 1, &buffer); - return true; -} - -void -VRDisplayOculus::SubmitFrame(TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - if (!mIsPresenting) { - return; - } - if (mRenderTargets.IsEmpty()) { - /** - * XXX - We should resolve fail the promise returned by - * VRDisplay.requestPresent() when the DX11 resources fail allocation - * in VRDisplayOculus::StartPresentation(). - * Bailing out here prevents the crash but content should be aware - * that frames are not being presented. - * See Bug 1299309. - **/ - return; - } - MOZ_ASSERT(mDevice); - MOZ_ASSERT(mContext); - - RefPtr<CompositingRenderTargetD3D11> surface = GetNextRenderTarget(); - - surface->BindRenderTarget(mContext); - - Matrix viewMatrix = Matrix::Translation(-1.0, 1.0); - viewMatrix.PreScale(2.0f / float(aSize.width), 2.0f / float(aSize.height)); - viewMatrix.PreScale(1.0f, -1.0f); - Matrix4x4 projection = Matrix4x4::From2D(viewMatrix); - projection._33 = 0.0f; - - Matrix transform2d; - gfx::Matrix4x4 transform = gfx::Matrix4x4::From2D(transform2d); - - D3D11_VIEWPORT viewport; - viewport.MinDepth = 0.0f; - viewport.MaxDepth = 1.0f; - viewport.Width = aSize.width; - viewport.Height = aSize.height; - viewport.TopLeftX = 0; - viewport.TopLeftY = 0; - - D3D11_RECT scissor; - scissor.left = 0; - scissor.right = aSize.width; - scissor.top = 0; - scissor.bottom = aSize.height; - - memcpy(&mVSConstants.layerTransform, &transform._11, sizeof(mVSConstants.layerTransform)); - memcpy(&mVSConstants.projection, &projection._11, sizeof(mVSConstants.projection)); - mVSConstants.renderTargetOffset[0] = 0.0f; - mVSConstants.renderTargetOffset[1] = 0.0f; - mVSConstants.layerQuad = Rect(0.0f, 0.0f, aSize.width, aSize.height); - mVSConstants.textureCoords = Rect(0.0f, 1.0f, 1.0f, -1.0f); - - mPSConstants.layerOpacity[0] = 1.0f; - - ID3D11Buffer* vbuffer = mVertexBuffer; - UINT vsize = sizeof(Vertex); - UINT voffset = 0; - mContext->IASetVertexBuffers(0, 1, &vbuffer, &vsize, &voffset); - mContext->IASetIndexBuffer(nullptr, DXGI_FORMAT_R16_UINT, 0); - mContext->IASetInputLayout(mInputLayout); - mContext->RSSetViewports(1, &viewport); - mContext->RSSetScissorRects(1, &scissor); - mContext->IASetPrimitiveTopology(D3D11_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP); - mContext->VSSetShader(mQuadVS, nullptr, 0); - mContext->PSSetShader(mQuadPS, nullptr, 0); - ID3D11ShaderResourceView* srView = aSource->GetShaderResourceView(); - mContext->PSSetShaderResources(0 /* 0 == TexSlot::RGB */, 1, &srView); - // XXX Use Constant from TexSlot in CompositorD3D11.cpp? - - ID3D11SamplerState *sampler = mLinearSamplerState; - mContext->PSSetSamplers(0, 1, &sampler); - - if (!UpdateConstantBuffers()) { - NS_WARNING("Failed to update constant buffers for Oculus"); - return; - } - - mContext->Draw(4, 0); - - ovrResult orv = ovr_CommitTextureSwapChain(mSession, mTextureSet); - if (orv != ovrSuccess) { - NS_WARNING("ovr_CommitTextureSwapChain failed.\n"); - return; - } - - ovrLayerEyeFov layer; - memset(&layer, 0, sizeof(layer)); - layer.Header.Type = ovrLayerType_EyeFov; - layer.Header.Flags = 0; - layer.ColorTexture[0] = mTextureSet; - layer.ColorTexture[1] = nullptr; - layer.Fov[0] = mFOVPort[0]; - layer.Fov[1] = mFOVPort[1]; - layer.Viewport[0].Pos.x = aSize.width * aLeftEyeRect.x; - layer.Viewport[0].Pos.y = aSize.height * aLeftEyeRect.y; - layer.Viewport[0].Size.w = aSize.width * aLeftEyeRect.width; - layer.Viewport[0].Size.h = aSize.height * aLeftEyeRect.height; - layer.Viewport[1].Pos.x = aSize.width * aRightEyeRect.x; - layer.Viewport[1].Pos.y = aSize.height * aRightEyeRect.y; - layer.Viewport[1].Size.w = aSize.width * aRightEyeRect.width; - layer.Viewport[1].Size.h = aSize.height * aRightEyeRect.height; - - const Point3D& l = mDisplayInfo.mEyeTranslation[0]; - const Point3D& r = mDisplayInfo.mEyeTranslation[1]; - const ovrVector3f hmdToEyeViewOffset[2] = { { l.x, l.y, l.z }, - { r.x, r.y, r.z } }; - - for (uint32_t i = 0; i < 2; ++i) { - Quaternion o(aSensorState.orientation[0], - aSensorState.orientation[1], - aSensorState.orientation[2], - aSensorState.orientation[3]); - Point3D vo(hmdToEyeViewOffset[i].x, hmdToEyeViewOffset[i].y, hmdToEyeViewOffset[i].z); - Point3D p = o.RotatePoint(vo); - layer.RenderPose[i].Orientation.x = o.x; - layer.RenderPose[i].Orientation.y = o.y; - layer.RenderPose[i].Orientation.z = o.z; - layer.RenderPose[i].Orientation.w = o.w; - layer.RenderPose[i].Position.x = p.x + aSensorState.position[0]; - layer.RenderPose[i].Position.y = p.y + aSensorState.position[1]; - layer.RenderPose[i].Position.z = p.z + aSensorState.position[2]; - } - - ovrLayerHeader *layers = &layer.Header; - orv = ovr_SubmitFrame(mSession, aSensorState.inputFrameID, nullptr, &layers, 1); - - if (orv != ovrSuccess) { - printf_stderr("ovr_SubmitFrame failed.\n"); - } - - // Trigger the next VSync immediately - VRManager *vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyVRVsync(mDisplayInfo.mDisplayID); -} - -void -VRDisplayOculus::NotifyVSync() -{ - ovrSessionStatus sessionStatus; - ovrResult ovr = ovr_GetSessionStatus(mSession, &sessionStatus); - mDisplayInfo.mIsConnected = (ovr == ovrSuccess && sessionStatus.HmdPresent); -} diff --git a/gfx/vr/gfxVROculus.h b/gfx/vr/gfxVROculus.h deleted file mode 100644 index ff00cb1df..000000000 --- a/gfx/vr/gfxVROculus.h +++ /dev/null @@ -1,111 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_OCULUS_H -#define GFX_VR_OCULUS_H - -#include "nsTArray.h" -#include "mozilla/RefPtr.h" - -#include "mozilla/gfx/2D.h" -#include "mozilla/EnumeratedArray.h" - -#include "gfxVR.h" -#include "VRDisplayHost.h" -#include "ovr_capi_dynamic.h" - -struct ID3D11Device; - -namespace mozilla { -namespace layers { -class CompositingRenderTargetD3D11; -struct VertexShaderConstants; -struct PixelShaderConstants; -} -namespace gfx { -namespace impl { - -class VRDisplayOculus : public VRDisplayHost -{ -public: - virtual void NotifyVSync() override; - virtual VRHMDSensorState GetSensorState() override; - virtual VRHMDSensorState GetImmediateSensorState() override; - void ZeroSensor() override; - -protected: - virtual void StartPresentation() override; - virtual void StopPresentation() override; - virtual void SubmitFrame(mozilla::layers::TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) override; - -public: - explicit VRDisplayOculus(ovrSession aSession); - -protected: - virtual ~VRDisplayOculus(); - void Destroy(); - - bool RequireSession(); - const ovrHmdDesc& GetHmdDesc(); - - already_AddRefed<layers::CompositingRenderTargetD3D11> GetNextRenderTarget(); - - VRHMDSensorState GetSensorState(double timeOffset); - - ovrHmdDesc mDesc; - ovrSession mSession; - ovrFovPort mFOVPort[2]; - ovrTextureSwapChain mTextureSet; - nsTArray<RefPtr<layers::CompositingRenderTargetD3D11>> mRenderTargets; - - RefPtr<ID3D11Device> mDevice; - RefPtr<ID3D11DeviceContext> mContext; - ID3D11VertexShader* mQuadVS; - ID3D11PixelShader* mQuadPS; - RefPtr<ID3D11SamplerState> mLinearSamplerState; - layers::VertexShaderConstants mVSConstants; - layers::PixelShaderConstants mPSConstants; - RefPtr<ID3D11Buffer> mVSConstantBuffer; - RefPtr<ID3D11Buffer> mPSConstantBuffer; - RefPtr<ID3D11Buffer> mVertexBuffer; - RefPtr<ID3D11InputLayout> mInputLayout; - - bool mIsPresenting; - - bool UpdateConstantBuffers(); - - struct Vertex - { - float position[2]; - }; -}; - -} // namespace impl - -class VRDisplayManagerOculus : public VRDisplayManager -{ -public: - static already_AddRefed<VRDisplayManagerOculus> Create(); - virtual bool Init() override; - virtual void Destroy() override; - virtual void GetHMDs(nsTArray<RefPtr<VRDisplayHost> >& aHMDResult) override; -protected: - VRDisplayManagerOculus() - : mOculusInitialized(false) - { } - - RefPtr<impl::VRDisplayOculus> mHMDInfo; - bool mOculusInitialized; - RefPtr<nsIThread> mOculusThread; -}; - -} // namespace gfx -} // namespace mozilla - -#endif /* GFX_VR_OCULUS_H */ diff --git a/gfx/vr/gfxVROpenVR.cpp b/gfx/vr/gfxVROpenVR.cpp deleted file mode 100644 index 01149c983..000000000 --- a/gfx/vr/gfxVROpenVR.cpp +++ /dev/null @@ -1,749 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <math.h> - -#include "prlink.h" -#include "prmem.h" -#include "prenv.h" -#include "gfxPrefs.h" -#include "nsString.h" -#include "mozilla/Preferences.h" - -#include "mozilla/gfx/Quaternion.h" - -#ifdef XP_WIN -#include "CompositorD3D11.h" -#include "TextureD3D11.h" -#endif // XP_WIN - -#include "gfxVROpenVR.h" - -#include "nsServiceManagerUtils.h" -#include "nsIScreenManager.h" -#include "openvr/openvr.h" - -#ifdef MOZ_GAMEPAD -#include "mozilla/dom/GamepadEventTypes.h" -#include "mozilla/dom/GamepadBinding.h" -#endif - -#ifndef M_PI -# define M_PI 3.14159265358979323846 -#endif - -using namespace mozilla; -using namespace mozilla::gfx; -using namespace mozilla::gfx::impl; -using namespace mozilla::layers; -using namespace mozilla::dom; - -namespace { -extern "C" { -typedef uint32_t (VR_CALLTYPE * pfn_VR_InitInternal)(::vr::HmdError *peError, ::vr::EVRApplicationType eApplicationType); -typedef void (VR_CALLTYPE * pfn_VR_ShutdownInternal)(); -typedef bool (VR_CALLTYPE * pfn_VR_IsHmdPresent)(); -typedef bool (VR_CALLTYPE * pfn_VR_IsRuntimeInstalled)(); -typedef const char * (VR_CALLTYPE * pfn_VR_GetStringForHmdError)(::vr::HmdError error); -typedef void * (VR_CALLTYPE * pfn_VR_GetGenericInterface)(const char *pchInterfaceVersion, ::vr::HmdError *peError); -} // extern "C" -} // namespace - -static pfn_VR_InitInternal vr_InitInternal = nullptr; -static pfn_VR_ShutdownInternal vr_ShutdownInternal = nullptr; -static pfn_VR_IsHmdPresent vr_IsHmdPresent = nullptr; -static pfn_VR_IsRuntimeInstalled vr_IsRuntimeInstalled = nullptr; -static pfn_VR_GetStringForHmdError vr_GetStringForHmdError = nullptr; -static pfn_VR_GetGenericInterface vr_GetGenericInterface = nullptr; - -// EButton_System, EButton_DPad_xx, and EButton_A -// can not be triggered in Steam Vive in OpenVR SDK 1.0.3. -const uint64_t gOpenVRButtonMask[] = { - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_System), - vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_ApplicationMenu), - vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_Grip), - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_DPad_Left), - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_DPad_Up), - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_DPad_Right), - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_DPad_Down), - // vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_A), - vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_SteamVR_Touchpad), - vr::ButtonMaskFromId(vr::EVRButtonId::k_EButton_SteamVR_Trigger) -}; - -const uint32_t gNumOpenVRButtonMask = sizeof(gOpenVRButtonMask) / - sizeof(uint64_t); - -enum class VRControllerAxisType : uint16_t { - TrackpadXAxis, - TrackpadYAxis, - Trigger, - NumVRControllerAxisType -}; - -#define VRControllerAxis(aButtonId) (aButtonId - vr::EVRButtonId::k_EButton_Axis0) - -const uint32_t gOpenVRAxes[] = { - VRControllerAxis(vr::EVRButtonId::k_EButton_Axis0), - VRControllerAxis(vr::EVRButtonId::k_EButton_Axis0), - VRControllerAxis(vr::EVRButtonId::k_EButton_Axis1) -}; - -const uint32_t gNumOpenVRAxis = sizeof(gOpenVRAxes) / - sizeof(uint32_t); - - -bool -LoadOpenVRRuntime() -{ - static PRLibrary *openvrLib = nullptr; - - nsAdoptingCString openvrPath = Preferences::GetCString("gfx.vr.openvr-runtime"); - if (!openvrPath) - return false; - - openvrLib = PR_LoadLibrary(openvrPath.BeginReading()); - if (!openvrLib) - return false; - -#define REQUIRE_FUNCTION(_x) do { \ - *(void **)&vr_##_x = (void *) PR_FindSymbol(openvrLib, "VR_" #_x); \ - if (!vr_##_x) { printf_stderr("VR_" #_x " symbol missing\n"); return false; } \ - } while (0) - - REQUIRE_FUNCTION(InitInternal); - REQUIRE_FUNCTION(ShutdownInternal); - REQUIRE_FUNCTION(IsHmdPresent); - REQUIRE_FUNCTION(IsRuntimeInstalled); - REQUIRE_FUNCTION(GetStringForHmdError); - REQUIRE_FUNCTION(GetGenericInterface); - -#undef REQUIRE_FUNCTION - - return true; -} - -VRDisplayOpenVR::VRDisplayOpenVR(::vr::IVRSystem *aVRSystem, - ::vr::IVRChaperone *aVRChaperone, - ::vr::IVRCompositor *aVRCompositor) - : VRDisplayHost(VRDeviceType::OpenVR) - , mVRSystem(aVRSystem) - , mVRChaperone(aVRChaperone) - , mVRCompositor(aVRCompositor) - , mIsPresenting(false) -{ - MOZ_COUNT_CTOR_INHERITED(VRDisplayOpenVR, VRDisplayHost); - - mDisplayInfo.mDisplayName.AssignLiteral("OpenVR HMD"); - mDisplayInfo.mIsConnected = true; - mDisplayInfo.mCapabilityFlags = VRDisplayCapabilityFlags::Cap_None | - VRDisplayCapabilityFlags::Cap_Orientation | - VRDisplayCapabilityFlags::Cap_Position | - VRDisplayCapabilityFlags::Cap_External | - VRDisplayCapabilityFlags::Cap_Present | - VRDisplayCapabilityFlags::Cap_StageParameters; - - mVRCompositor->SetTrackingSpace(::vr::TrackingUniverseSeated); - - uint32_t w, h; - mVRSystem->GetRecommendedRenderTargetSize(&w, &h); - mDisplayInfo.mEyeResolution.width = w; - mDisplayInfo.mEyeResolution.height = h; - - // SteamVR gives the application a single FOV to use; it's not configurable as with Oculus - for (uint32_t eye = 0; eye < 2; ++eye) { - // get l/r/t/b clip plane coordinates - float l, r, t, b; - mVRSystem->GetProjectionRaw(static_cast<::vr::Hmd_Eye>(eye), &l, &r, &t, &b); - mDisplayInfo.mEyeFOV[eye].SetFromTanRadians(-t, r, b, -l); - - ::vr::HmdMatrix34_t eyeToHead = mVRSystem->GetEyeToHeadTransform(static_cast<::vr::Hmd_Eye>(eye)); - - mDisplayInfo.mEyeTranslation[eye].x = eyeToHead.m[0][3]; - mDisplayInfo.mEyeTranslation[eye].y = eyeToHead.m[1][3]; - mDisplayInfo.mEyeTranslation[eye].z = eyeToHead.m[2][3]; - } - - UpdateStageParameters(); -} - -VRDisplayOpenVR::~VRDisplayOpenVR() -{ - Destroy(); - MOZ_COUNT_DTOR_INHERITED(VRDisplayOpenVR, VRDisplayHost); -} - -void -VRDisplayOpenVR::Destroy() -{ - StopPresentation(); - vr_ShutdownInternal(); -} - -void -VRDisplayOpenVR::UpdateStageParameters() -{ - float sizeX = 0.0f; - float sizeZ = 0.0f; - if (mVRChaperone->GetPlayAreaSize(&sizeX, &sizeZ)) { - ::vr::HmdMatrix34_t t = mVRSystem->GetSeatedZeroPoseToStandingAbsoluteTrackingPose(); - mDisplayInfo.mStageSize.width = sizeX; - mDisplayInfo.mStageSize.height = sizeZ; - - mDisplayInfo.mSittingToStandingTransform._11 = t.m[0][0]; - mDisplayInfo.mSittingToStandingTransform._12 = t.m[1][0]; - mDisplayInfo.mSittingToStandingTransform._13 = t.m[2][0]; - mDisplayInfo.mSittingToStandingTransform._14 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._21 = t.m[0][1]; - mDisplayInfo.mSittingToStandingTransform._22 = t.m[1][1]; - mDisplayInfo.mSittingToStandingTransform._23 = t.m[2][1]; - mDisplayInfo.mSittingToStandingTransform._24 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._31 = t.m[0][2]; - mDisplayInfo.mSittingToStandingTransform._32 = t.m[1][2]; - mDisplayInfo.mSittingToStandingTransform._33 = t.m[2][2]; - mDisplayInfo.mSittingToStandingTransform._34 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._41 = t.m[0][3]; - mDisplayInfo.mSittingToStandingTransform._42 = t.m[1][3]; - mDisplayInfo.mSittingToStandingTransform._43 = t.m[2][3]; - mDisplayInfo.mSittingToStandingTransform._44 = 1.0f; - } else { - // If we fail, fall back to reasonable defaults. - // 1m x 1m space, 0.75m high in seated position - - mDisplayInfo.mStageSize.width = 1.0f; - mDisplayInfo.mStageSize.height = 1.0f; - - mDisplayInfo.mSittingToStandingTransform._11 = 1.0f; - mDisplayInfo.mSittingToStandingTransform._12 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._13 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._14 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._21 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._22 = 1.0f; - mDisplayInfo.mSittingToStandingTransform._23 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._24 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._31 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._32 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._33 = 1.0f; - mDisplayInfo.mSittingToStandingTransform._34 = 0.0f; - - mDisplayInfo.mSittingToStandingTransform._41 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._42 = 0.75f; - mDisplayInfo.mSittingToStandingTransform._43 = 0.0f; - mDisplayInfo.mSittingToStandingTransform._44 = 1.0f; - } -} - -void -VRDisplayOpenVR::ZeroSensor() -{ - mVRSystem->ResetSeatedZeroPose(); - UpdateStageParameters(); -} - -VRHMDSensorState -VRDisplayOpenVR::GetSensorState() -{ - return GetSensorState(0.0f); -} - -VRHMDSensorState -VRDisplayOpenVR::GetImmediateSensorState() -{ - return GetSensorState(0.0f); -} - -VRHMDSensorState -VRDisplayOpenVR::GetSensorState(double timeOffset) -{ - { - ::vr::VREvent_t event; - while (mVRSystem->PollNextEvent(&event, sizeof(event))) { - // ignore - } - } - - ::vr::TrackedDevicePose_t poses[::vr::k_unMaxTrackedDeviceCount]; - // Note: We *must* call WaitGetPoses in order for any rendering to happen at all - mVRCompositor->WaitGetPoses(poses, ::vr::k_unMaxTrackedDeviceCount, nullptr, 0); - - VRHMDSensorState result; - result.Clear(); - result.timestamp = PR_Now(); - - if (poses[::vr::k_unTrackedDeviceIndex_Hmd].bDeviceIsConnected && - poses[::vr::k_unTrackedDeviceIndex_Hmd].bPoseIsValid && - poses[::vr::k_unTrackedDeviceIndex_Hmd].eTrackingResult == ::vr::TrackingResult_Running_OK) - { - const ::vr::TrackedDevicePose_t& pose = poses[::vr::k_unTrackedDeviceIndex_Hmd]; - - gfx::Matrix4x4 m; - // NOTE! mDeviceToAbsoluteTracking is a 3x4 matrix, not 4x4. But - // because of its arrangement, we can copy the 12 elements in and - // then transpose them to the right place. We do this so we can - // pull out a Quaternion. - memcpy(&m._11, &pose.mDeviceToAbsoluteTracking, sizeof(float) * 12); - m.Transpose(); - - gfx::Quaternion rot; - rot.SetFromRotationMatrix(m); - rot.Invert(); - - result.flags |= VRDisplayCapabilityFlags::Cap_Orientation; - result.orientation[0] = rot.x; - result.orientation[1] = rot.y; - result.orientation[2] = rot.z; - result.orientation[3] = rot.w; - result.angularVelocity[0] = pose.vAngularVelocity.v[0]; - result.angularVelocity[1] = pose.vAngularVelocity.v[1]; - result.angularVelocity[2] = pose.vAngularVelocity.v[2]; - - result.flags |= VRDisplayCapabilityFlags::Cap_Position; - result.position[0] = m._41; - result.position[1] = m._42; - result.position[2] = m._43; - result.linearVelocity[0] = pose.vVelocity.v[0]; - result.linearVelocity[1] = pose.vVelocity.v[1]; - result.linearVelocity[2] = pose.vVelocity.v[2]; - } - - return result; -} - -void -VRDisplayOpenVR::StartPresentation() -{ - if (mIsPresenting) { - return; - } - mIsPresenting = true; -} - -void -VRDisplayOpenVR::StopPresentation() -{ - if (!mIsPresenting) { - return; - } - - mVRCompositor->ClearLastSubmittedFrame(); - - mIsPresenting = false; -} - - -#if defined(XP_WIN) - -void -VRDisplayOpenVR::SubmitFrame(TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) -{ - if (!mIsPresenting) { - return; - } - - ::vr::Texture_t tex; - tex.handle = (void *)aSource->GetD3D11Texture(); - tex.eType = ::vr::EGraphicsAPIConvention::API_DirectX; - tex.eColorSpace = ::vr::EColorSpace::ColorSpace_Auto; - - ::vr::VRTextureBounds_t bounds; - bounds.uMin = aLeftEyeRect.x; - bounds.vMin = 1.0 - aLeftEyeRect.y; - bounds.uMax = aLeftEyeRect.x + aLeftEyeRect.width; - bounds.vMax = 1.0 - aLeftEyeRect.y - aLeftEyeRect.height; - - ::vr::EVRCompositorError err; - err = mVRCompositor->Submit(::vr::EVREye::Eye_Left, &tex, &bounds); - if (err != ::vr::EVRCompositorError::VRCompositorError_None) { - printf_stderr("OpenVR Compositor Submit() failed.\n"); - } - - bounds.uMin = aRightEyeRect.x; - bounds.vMin = 1.0 - aRightEyeRect.y; - bounds.uMax = aRightEyeRect.x + aRightEyeRect.width; - bounds.vMax = 1.0 - aRightEyeRect.y - aRightEyeRect.height; - - err = mVRCompositor->Submit(::vr::EVREye::Eye_Right, &tex, &bounds); - if (err != ::vr::EVRCompositorError::VRCompositorError_None) { - printf_stderr("OpenVR Compositor Submit() failed.\n"); - } - - mVRCompositor->PostPresentHandoff(); - - // Trigger the next VSync immediately - VRManager *vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyVRVsync(mDisplayInfo.mDisplayID); -} - -#endif - -void -VRDisplayOpenVR::NotifyVSync() -{ - // We update mIsConneced once per frame. - mDisplayInfo.mIsConnected = vr_IsHmdPresent(); -} - -VRDisplayManagerOpenVR::VRDisplayManagerOpenVR() - : mOpenVRInstalled(false) -{ -} - -/*static*/ already_AddRefed<VRDisplayManagerOpenVR> -VRDisplayManagerOpenVR::Create() -{ - MOZ_ASSERT(NS_IsMainThread()); - - if (!gfxPrefs::VREnabled() || !gfxPrefs::VROpenVREnabled()) { - return nullptr; - } - - if (!LoadOpenVRRuntime()) { - return nullptr; - } - - RefPtr<VRDisplayManagerOpenVR> manager = new VRDisplayManagerOpenVR(); - return manager.forget(); -} - -bool -VRDisplayManagerOpenVR::Init() -{ - if (mOpenVRInstalled) - return true; - - if (!vr_IsRuntimeInstalled()) - return false; - - mOpenVRInstalled = true; - return true; -} - -void -VRDisplayManagerOpenVR::Destroy() -{ - if (mOpenVRInstalled) { - if (mOpenVRHMD) { - mOpenVRHMD = nullptr; - } - mOpenVRInstalled = false; - } -} - -void -VRDisplayManagerOpenVR::GetHMDs(nsTArray<RefPtr<VRDisplayHost>>& aHMDResult) -{ - if (!mOpenVRInstalled) { - return; - } - - if (!vr_IsHmdPresent()) { - if (mOpenVRHMD) { - mOpenVRHMD = nullptr; - } - } else if (mOpenVRHMD == nullptr) { - ::vr::HmdError err; - - vr_InitInternal(&err, ::vr::EVRApplicationType::VRApplication_Scene); - if (err) { - return; - } - - ::vr::IVRSystem *system = (::vr::IVRSystem *)vr_GetGenericInterface(::vr::IVRSystem_Version, &err); - if (err || !system) { - vr_ShutdownInternal(); - return; - } - ::vr::IVRChaperone *chaperone = (::vr::IVRChaperone *)vr_GetGenericInterface(::vr::IVRChaperone_Version, &err); - if (err || !chaperone) { - vr_ShutdownInternal(); - return; - } - ::vr::IVRCompositor *compositor = (::vr::IVRCompositor*)vr_GetGenericInterface(::vr::IVRCompositor_Version, &err); - if (err || !compositor) { - vr_ShutdownInternal(); - return; - } - - mOpenVRHMD = new VRDisplayOpenVR(system, chaperone, compositor); - } - - if (mOpenVRHMD) { - aHMDResult.AppendElement(mOpenVRHMD); - } -} - -VRControllerOpenVR::VRControllerOpenVR() - : VRControllerHost(VRDeviceType::OpenVR) -{ - MOZ_COUNT_CTOR_INHERITED(VRControllerOpenVR, VRControllerHost); - mControllerInfo.mControllerName.AssignLiteral("OpenVR HMD"); -#ifdef MOZ_GAMEPAD - mControllerInfo.mMappingType = static_cast<uint32_t>(GamepadMappingType::_empty); -#else - mControllerInfo.mMappingType = 0; -#endif - mControllerInfo.mNumButtons = gNumOpenVRButtonMask; - mControllerInfo.mNumAxes = gNumOpenVRAxis; -} - -VRControllerOpenVR::~VRControllerOpenVR() -{ - MOZ_COUNT_DTOR_INHERITED(VRControllerOpenVR, VRControllerHost); -} - -void -VRControllerOpenVR::SetTrackedIndex(uint32_t aTrackedIndex) -{ - mTrackedIndex = aTrackedIndex; -} - -uint32_t -VRControllerOpenVR::GetTrackedIndex() -{ - return mTrackedIndex; -} - -VRControllerManagerOpenVR::VRControllerManagerOpenVR() - : mOpenVRInstalled(false), mVRSystem(nullptr) -{ -} - -VRControllerManagerOpenVR::~VRControllerManagerOpenVR() -{ - Destroy(); -} - -/*static*/ already_AddRefed<VRControllerManagerOpenVR> -VRControllerManagerOpenVR::Create() -{ - if (!gfxPrefs::VREnabled() || !gfxPrefs::VROpenVREnabled()) { - return nullptr; - } - - RefPtr<VRControllerManagerOpenVR> manager = new VRControllerManagerOpenVR(); - return manager.forget(); -} - -bool -VRControllerManagerOpenVR::Init() -{ - if (mOpenVRInstalled) - return true; - - if (!vr_IsRuntimeInstalled()) - return false; - - // Loading the OpenVR Runtime - vr::EVRInitError err = vr::VRInitError_None; - - vr_InitInternal(&err, vr::VRApplication_Scene); - if (err != vr::VRInitError_None) { - return false; - } - - mVRSystem = (vr::IVRSystem *)vr_GetGenericInterface(vr::IVRSystem_Version, &err); - if ((err != vr::VRInitError_None) || !mVRSystem) { - vr_ShutdownInternal(); - return false; - } - - mOpenVRInstalled = true; - return true; -} - -void -VRControllerManagerOpenVR::Destroy() -{ - mOpenVRController.Clear(); - mOpenVRInstalled = false; -} - -void -VRControllerManagerOpenVR::HandleInput() -{ - RefPtr<impl::VRControllerOpenVR> controller; - vr::VRControllerState_t state; - uint32_t axis = 0; - - if (!mOpenVRInstalled) { - return; - } - - MOZ_ASSERT(mVRSystem); - - vr::TrackedDevicePose_t poses[vr::k_unMaxTrackedDeviceCount]; - mVRSystem->GetDeviceToAbsoluteTrackingPose(vr::TrackingUniverseSeated, 0.0f, - poses, vr::k_unMaxTrackedDeviceCount); - // Process OpenVR controller state - for (uint32_t i = 0; i < mOpenVRController.Length(); ++i) { - controller = mOpenVRController[i]; - - MOZ_ASSERT(mVRSystem->GetTrackedDeviceClass(controller->GetTrackedIndex()) - == vr::TrackedDeviceClass_Controller); - - if (mVRSystem->GetControllerState(controller->GetTrackedIndex(), &state)) { - HandleButtonPress(controller->GetIndex(), state.ulButtonPressed); - - axis = static_cast<uint32_t>(VRControllerAxisType::TrackpadXAxis); - HandleAxisMove(controller->GetIndex(), axis, - state.rAxis[gOpenVRAxes[axis]].x); - - axis = static_cast<uint32_t>(VRControllerAxisType::TrackpadYAxis); - HandleAxisMove(controller->GetIndex(), axis, - state.rAxis[gOpenVRAxes[axis]].y); - - axis = static_cast<uint32_t>(VRControllerAxisType::Trigger); - HandleAxisMove(controller->GetIndex(), axis, - state.rAxis[gOpenVRAxes[axis]].x); - } - - // Start to process pose - const ::vr::TrackedDevicePose_t& pose = poses[controller->GetTrackedIndex()]; - - if (pose.bDeviceIsConnected && pose.bPoseIsValid && - pose.eTrackingResult == vr::TrackingResult_Running_OK) { - gfx::Matrix4x4 m; - - // NOTE! mDeviceToAbsoluteTracking is a 3x4 matrix, not 4x4. But - // because of its arrangement, we can copy the 12 elements in and - // then transpose them to the right place. We do this so we can - // pull out a Quaternion. - memcpy(&m.components, &pose.mDeviceToAbsoluteTracking, sizeof(float) * 12); - m.Transpose(); - - gfx::Quaternion rot; - rot.SetFromRotationMatrix(m); - rot.Invert(); - - GamepadPoseState poseState; - poseState.flags |= GamepadCapabilityFlags::Cap_Orientation; - poseState.orientation[0] = rot.x; - poseState.orientation[1] = rot.y; - poseState.orientation[2] = rot.z; - poseState.orientation[3] = rot.w; - poseState.angularVelocity[0] = pose.vAngularVelocity.v[0]; - poseState.angularVelocity[1] = pose.vAngularVelocity.v[1]; - poseState.angularVelocity[2] = pose.vAngularVelocity.v[2]; - - poseState.flags |= GamepadCapabilityFlags::Cap_Position; - poseState.position[0] = m._41; - poseState.position[1] = m._42; - poseState.position[2] = m._43; - poseState.linearVelocity[0] = pose.vVelocity.v[0]; - poseState.linearVelocity[1] = pose.vVelocity.v[1]; - poseState.linearVelocity[2] = pose.vVelocity.v[2]; - HandlePoseTracking(controller->GetIndex(), poseState, controller); - } - } -} - -void -VRControllerManagerOpenVR::HandleButtonPress(uint32_t aControllerIdx, - uint64_t aButtonPressed) -{ - uint64_t buttonMask = 0; - RefPtr<impl::VRControllerOpenVR> controller; - controller = mOpenVRController[aControllerIdx]; - uint64_t diff = (controller->GetButtonPressed() ^ aButtonPressed); - - if (!diff) { - return; - } - - for (uint32_t i = 0; i < gNumOpenVRButtonMask; ++i) { - buttonMask = gOpenVRButtonMask[i]; - - if (diff & buttonMask) { - // diff & aButtonPressed would be true while a new button press - // event, otherwise it is an old press event and needs to notify - // the button has been released. - NewButtonEvent(aControllerIdx, i, diff & aButtonPressed); - } - } - - controller->SetButtonPressed(aButtonPressed); -} - -void -VRControllerManagerOpenVR::HandleAxisMove(uint32_t aControllerIdx, uint32_t aAxis, - float aValue) -{ - if (aValue != 0.0f) { - NewAxisMove(aControllerIdx, aAxis, aValue); - } -} - -void -VRControllerManagerOpenVR::HandlePoseTracking(uint32_t aControllerIdx, - const GamepadPoseState& aPose, - VRControllerHost* aController) -{ - if (aPose != aController->GetPose()) { - aController->SetPose(aPose); - NewPoseState(aControllerIdx, aPose); - } -} - -void -VRControllerManagerOpenVR::GetControllers(nsTArray<RefPtr<VRControllerHost>>& aControllerResult) -{ - if (!mOpenVRInstalled) { - return; - } - - aControllerResult.Clear(); - for (uint32_t i = 0; i < mOpenVRController.Length(); ++i) { - aControllerResult.AppendElement(mOpenVRController[i]); - } -} - -void -VRControllerManagerOpenVR::ScanForDevices() -{ - // Remove the existing gamepads - for (uint32_t i = 0; i < mOpenVRController.Length(); ++i) { - RemoveGamepad(mOpenVRController[i]->GetIndex()); - } - mControllerCount = 0; - mOpenVRController.Clear(); - - if (!mVRSystem) - return; - - // Basically, we would have HMDs in the tracked devices, but we are just interested in the controllers. - for ( vr::TrackedDeviceIndex_t trackedDevice = vr::k_unTrackedDeviceIndex_Hmd + 1; - trackedDevice < vr::k_unMaxTrackedDeviceCount; ++trackedDevice ) { - if (!mVRSystem->IsTrackedDeviceConnected(trackedDevice)) { - continue; - } - - if (mVRSystem->GetTrackedDeviceClass(trackedDevice) != vr::TrackedDeviceClass_Controller) { - continue; - } - - RefPtr<VRControllerOpenVR> openVRController = new VRControllerOpenVR(); - openVRController->SetIndex(mControllerCount); - openVRController->SetTrackedIndex(trackedDevice); - mOpenVRController.AppendElement(openVRController); - -// Only in MOZ_GAMEPAD platform, We add gamepads. -#ifdef MOZ_GAMEPAD - // Not already present, add it. - AddGamepad("OpenVR Gamepad", static_cast<uint32_t>(GamepadMappingType::_empty), - gNumOpenVRButtonMask, gNumOpenVRAxis); - ++mControllerCount; -#endif - } -}
\ No newline at end of file diff --git a/gfx/vr/gfxVROpenVR.h b/gfx/vr/gfxVROpenVR.h deleted file mode 100644 index 829f88253..000000000 --- a/gfx/vr/gfxVROpenVR.h +++ /dev/null @@ -1,140 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_OPENVR_H -#define GFX_VR_OPENVR_H - -#include "nsTArray.h" -#include "nsIScreen.h" -#include "nsCOMPtr.h" -#include "mozilla/RefPtr.h" - -#include "mozilla/gfx/2D.h" -#include "mozilla/EnumeratedArray.h" - -#include "gfxVR.h" - -// OpenVR Interfaces -namespace vr { -class IVRChaperone; -class IVRCompositor; -class IVRSystem; -struct TrackedDevicePose_t; -} - -namespace mozilla { -namespace gfx { -namespace impl { - -class VRDisplayOpenVR : public VRDisplayHost -{ -public: - virtual void NotifyVSync() override; - virtual VRHMDSensorState GetSensorState() override; - virtual VRHMDSensorState GetImmediateSensorState() override; - void ZeroSensor() override; - -protected: - virtual void StartPresentation() override; - virtual void StopPresentation() override; -#if defined(XP_WIN) - virtual void SubmitFrame(mozilla::layers::TextureSourceD3D11* aSource, - const IntSize& aSize, - const VRHMDSensorState& aSensorState, - const gfx::Rect& aLeftEyeRect, - const gfx::Rect& aRightEyeRect) override; -#endif - -public: - explicit VRDisplayOpenVR(::vr::IVRSystem *aVRSystem, - ::vr::IVRChaperone *aVRChaperone, - ::vr::IVRCompositor *aVRCompositor); - -protected: - virtual ~VRDisplayOpenVR(); - void Destroy(); - - VRHMDSensorState GetSensorState(double timeOffset); - - // not owned by us; global from OpenVR - ::vr::IVRSystem *mVRSystem; - ::vr::IVRChaperone *mVRChaperone; - ::vr::IVRCompositor *mVRCompositor; - - bool mIsPresenting; - - void UpdateStageParameters(); -}; - -} // namespace impl - -class VRDisplayManagerOpenVR : public VRDisplayManager -{ -public: - static already_AddRefed<VRDisplayManagerOpenVR> Create(); - - virtual bool Init() override; - virtual void Destroy() override; - virtual void GetHMDs(nsTArray<RefPtr<VRDisplayHost> >& aHMDResult) override; -protected: - VRDisplayManagerOpenVR(); - - // there can only be one - RefPtr<impl::VRDisplayOpenVR> mOpenVRHMD; - bool mOpenVRInstalled; -}; - -namespace impl { - -class VRControllerOpenVR : public VRControllerHost -{ -public: - explicit VRControllerOpenVR(); - void SetTrackedIndex(uint32_t aTrackedIndex); - uint32_t GetTrackedIndex(); - -protected: - virtual ~VRControllerOpenVR(); - - // The index of tracked devices from vr::IVRSystem. - uint32_t mTrackedIndex; -}; - -} // namespace impl - -class VRControllerManagerOpenVR : public VRControllerManager -{ -public: - static already_AddRefed<VRControllerManagerOpenVR> Create(); - - virtual bool Init() override; - virtual void Destroy() override; - virtual void HandleInput() override; - virtual void GetControllers(nsTArray<RefPtr<VRControllerHost>>& - aControllerResult) override; - virtual void ScanForDevices() override; - -private: - VRControllerManagerOpenVR(); - ~VRControllerManagerOpenVR(); - - virtual void HandleButtonPress(uint32_t aControllerIdx, - uint64_t aButtonPressed) override; - virtual void HandleAxisMove(uint32_t aControllerIdx, uint32_t aAxis, - float aValue) override; - virtual void HandlePoseTracking(uint32_t aControllerIdx, - const dom::GamepadPoseState& aPose, - VRControllerHost* aController) override; - - bool mOpenVRInstalled; - nsTArray<RefPtr<impl::VRControllerOpenVR>> mOpenVRController; - vr::IVRSystem *mVRSystem; -}; - -} // namespace gfx -} // namespace mozilla - - -#endif /* GFX_VR_OPENVR_H */ diff --git a/gfx/vr/ipc/PVRLayer.ipdl b/gfx/vr/ipc/PVRLayer.ipdl deleted file mode 100644 index 593fccdd4..000000000 --- a/gfx/vr/ipc/PVRLayer.ipdl +++ /dev/null @@ -1,27 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -include protocol PVRManager; -include protocol PTexture; - -namespace mozilla { -namespace gfx { - -async protocol PVRLayer -{ - manager PVRManager; - -parent: - async SubmitFrame(PTexture aTexture); - async Destroy(); - -child: - async __delete__(); -}; - -} // gfx -} // mozilla diff --git a/gfx/vr/ipc/PVRManager.ipdl b/gfx/vr/ipc/PVRManager.ipdl deleted file mode 100644 index 65f114fba..000000000 --- a/gfx/vr/ipc/PVRManager.ipdl +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -include LayersSurfaces; -include protocol PLayer; -include protocol PTexture; -include protocol PVRLayer; -include LayersMessages; -include GamepadEventTypes; - -include "VRMessageUtils.h"; - -using struct mozilla::gfx::VRFieldOfView from "gfxVR.h"; -using struct mozilla::gfx::VRDisplayInfo from "gfxVR.h"; -using struct mozilla::gfx::VRSensorUpdate from "gfxVR.h"; -using struct mozilla::gfx::VRHMDSensorState from "gfxVR.h"; -using struct mozilla::gfx::VRControllerInfo from "gfxVR.h"; -using mozilla::layers::LayersBackend from "mozilla/layers/LayersTypes.h"; -using mozilla::layers::TextureFlags from "mozilla/layers/CompositorTypes.h"; - - -namespace mozilla { -namespace gfx { - -/** - * The PVRManager protocol is used to enable communication of VR display - * enumeration and sensor state between the compositor thread and - * content threads/processes. - */ -sync protocol PVRManager -{ - manages PTexture; - manages PVRLayer; - -parent: - async PTexture(SurfaceDescriptor aSharedData, LayersBackend aBackend, - TextureFlags aTextureFlags, uint64_t aSerial); - - async PVRLayer(uint32_t aDisplayID, float aLeftEyeX, float aLeftEyeY, float aLeftEyeWidth, float aLeftEyeHeight, float aRightEyeX, float aRightEyeY, float aRightEyeWidth, float aRightEyeHeight); - - // (Re)Enumerate VR Displays. An updated list of VR displays will be returned - // asynchronously to children via UpdateDisplayInfo. - async RefreshDisplays(); - - // GetDisplays synchronously returns the VR displays that have already been - // enumerated by RefreshDisplays() but does not enumerate new ones. - sync GetDisplays() returns(VRDisplayInfo[] aDisplayInfo); - - // Reset the sensor of the display identified by aDisplayID so that the current - // sensor state is the "Zero" position. - async ResetSensor(uint32_t aDisplayID); - - sync GetSensorState(uint32_t aDisplayID) returns(VRHMDSensorState aState); - sync GetImmediateSensorState(uint32_t aDisplayID) returns(VRHMDSensorState aState); - sync SetHaveEventListener(bool aHaveEventListener); - - async ControllerListenerAdded(); - async ControllerListenerRemoved(); - // GetControllers synchronously returns the VR controllers that have already been - // enumerated by RefreshVRControllers() but does not enumerate new ones. - sync GetControllers() returns(VRControllerInfo[] aControllerInfo); - -child: - - async ParentAsyncMessages(AsyncParentMessageData[] aMessages); - - // Notify children of updated VR display enumeration and details. This will - // be sent to all children when the parent receives RefreshDisplays, even - // if no changes have been detected. This ensures that Promises exposed - // through DOM calls are always resolved. - async UpdateDisplayInfo(VRDisplayInfo[] aDisplayUpdates); - - async NotifyVSync(); - async NotifyVRVSync(uint32_t aDisplayID); - async GamepadUpdate(GamepadChangeEvent aGamepadEvent); - - async __delete__(); - -}; - -} // gfx -} // mozilla diff --git a/gfx/vr/ipc/VRLayerChild.cpp b/gfx/vr/ipc/VRLayerChild.cpp deleted file mode 100644 index cffe9c1f1..000000000 --- a/gfx/vr/ipc/VRLayerChild.cpp +++ /dev/null @@ -1,86 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VRLayerChild.h" -#include "GLScreenBuffer.h" -#include "mozilla/layers/TextureClientSharedSurface.h" -#include "SharedSurface.h" // for SharedSurface -#include "SharedSurfaceGL.h" // for SharedSurface -#include "mozilla/layers/LayersMessages.h" // for TimedTexture -#include "nsICanvasRenderingContextInternal.h" -#include "mozilla/dom/HTMLCanvasElement.h" - -namespace mozilla { -namespace gfx { - -VRLayerChild::VRLayerChild(uint32_t aVRDisplayID, VRManagerChild* aVRManagerChild) - : mVRDisplayID(aVRDisplayID) - , mCanvasElement(nullptr) - , mShSurfClient(nullptr) - , mFront(nullptr) -{ - MOZ_COUNT_CTOR(VRLayerChild); -} - -VRLayerChild::~VRLayerChild() -{ - if (mCanvasElement) { - mCanvasElement->StopVRPresentation(); - } - - ClearSurfaces(); - - MOZ_COUNT_DTOR(VRLayerChild); -} - -void -VRLayerChild::Initialize(dom::HTMLCanvasElement* aCanvasElement) -{ - MOZ_ASSERT(aCanvasElement); - mCanvasElement = aCanvasElement; - mCanvasElement->StartVRPresentation(); - - VRManagerChild *vrmc = VRManagerChild::Get(); - vrmc->RunFrameRequestCallbacks(); -} - -void -VRLayerChild::SubmitFrame() -{ - if (!mCanvasElement) { - return; - } - - mShSurfClient = mCanvasElement->GetVRFrame(); - if (!mShSurfClient) { - return; - } - - gl::SharedSurface* surf = mShSurfClient->Surf(); - if (surf->mType == gl::SharedSurfaceType::Basic) { - gfxCriticalError() << "SharedSurfaceType::Basic not supported for WebVR"; - return; - } - - mFront = mShSurfClient; - mShSurfClient = nullptr; - - mFront->SetAddedToCompositableClient(); - VRManagerChild* vrmc = VRManagerChild::Get(); - mFront->SyncWithObject(vrmc->GetSyncObject()); - MOZ_ALWAYS_TRUE(mFront->InitIPDLActor(vrmc)); - - SendSubmitFrame(mFront->GetIPDLActor()); -} - -void -VRLayerChild::ClearSurfaces() -{ - mFront = nullptr; - mShSurfClient = nullptr; -} - -} // namespace gfx -} // namespace mozilla diff --git a/gfx/vr/ipc/VRLayerChild.h b/gfx/vr/ipc/VRLayerChild.h deleted file mode 100644 index df42dddac..000000000 --- a/gfx/vr/ipc/VRLayerChild.h +++ /dev/null @@ -1,53 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_LAYERCHILD_H -#define GFX_VR_LAYERCHILD_H - -#include "VRManagerChild.h" - -#include "mozilla/RefPtr.h" -#include "mozilla/gfx/PVRLayerChild.h" -#include "GLContext.h" -#include "gfxVR.h" - -class nsICanvasRenderingContextInternal; - -namespace mozilla { -class WebGLContext; -namespace dom { -class HTMLCanvasElement; -} -namespace layers { -class SharedSurfaceTextureClient; -} -namespace gl { -class SurfaceFactory; -} -namespace gfx { - -class VRLayerChild : public PVRLayerChild { - NS_INLINE_DECL_REFCOUNTING(VRLayerChild) - -public: - VRLayerChild(uint32_t aVRDisplayID, VRManagerChild* aVRManagerChild); - void Initialize(dom::HTMLCanvasElement* aCanvasElement); - void SubmitFrame(); - -protected: - virtual ~VRLayerChild(); - void ClearSurfaces(); - - uint32_t mVRDisplayID; - - RefPtr<dom::HTMLCanvasElement> mCanvasElement; - RefPtr<layers::SharedSurfaceTextureClient> mShSurfClient; - RefPtr<layers::TextureClient> mFront; -}; - -} // namespace gfx -} // namespace mozilla - -#endif diff --git a/gfx/vr/ipc/VRLayerParent.cpp b/gfx/vr/ipc/VRLayerParent.cpp deleted file mode 100644 index 6c6980817..000000000 --- a/gfx/vr/ipc/VRLayerParent.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - - -#include "VRLayerParent.h" -#include "mozilla/Unused.h" - -namespace mozilla { -namespace gfx { - -VRLayerParent::VRLayerParent(uint32_t aVRDisplayID, const Rect& aLeftEyeRect, const Rect& aRightEyeRect) - : mIPCOpen(true) - , mVRDisplayID(aVRDisplayID) - , mLeftEyeRect(aLeftEyeRect) - , mRightEyeRect(aRightEyeRect) -{ - MOZ_COUNT_CTOR(VRLayerParent); -} - -VRLayerParent::~VRLayerParent() -{ - MOZ_COUNT_DTOR(VRLayerParent); -} - -bool -VRLayerParent::RecvDestroy() -{ - Destroy(); - return true; -} - -void -VRLayerParent::ActorDestroy(ActorDestroyReason aWhy) -{ - mIPCOpen = false; -} - -void -VRLayerParent::Destroy() -{ - if (mIPCOpen) { - Unused << PVRLayerParent::Send__delete__(this); - } -} - -bool -VRLayerParent::RecvSubmitFrame(PTextureParent* texture) -{ - VRManager* vm = VRManager::Get(); - vm->SubmitFrame(this, texture, mLeftEyeRect, mRightEyeRect); - - return true; -} - - -} // namespace gfx -} // namespace mozilla diff --git a/gfx/vr/ipc/VRLayerParent.h b/gfx/vr/ipc/VRLayerParent.h deleted file mode 100644 index bd69c9546..000000000 --- a/gfx/vr/ipc/VRLayerParent.h +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef GFX_VR_LAYERPARENT_H -#define GFX_VR_LAYERPARENT_H - -#include "VRManager.h" - -#include "mozilla/RefPtr.h" -#include "mozilla/gfx/PVRLayerParent.h" -#include "gfxVR.h" - -namespace mozilla { -namespace gfx { - -class VRLayerParent : public PVRLayerParent { - NS_INLINE_DECL_REFCOUNTING(VRLayerParent) - -public: - VRLayerParent(uint32_t aVRDisplayID, const Rect& aLeftEyeRect, const Rect& aRightEyeRect); - virtual bool RecvSubmitFrame(PTextureParent* texture) override; - virtual bool RecvDestroy() override; - uint32_t GetDisplayID() const { return mVRDisplayID; } -protected: - virtual void ActorDestroy(ActorDestroyReason aWhy) override; - - virtual ~VRLayerParent(); - void Destroy(); - - bool mIPCOpen; - - uint32_t mVRDisplayID; - gfx::IntSize mSize; - gfx::Rect mLeftEyeRect; - gfx::Rect mRightEyeRect; -}; - -} // namespace gfx -} // namespace mozilla - -#endif diff --git a/gfx/vr/ipc/VRManagerChild.cpp b/gfx/vr/ipc/VRManagerChild.cpp deleted file mode 100644 index 70ced86c3..000000000 --- a/gfx/vr/ipc/VRManagerChild.cpp +++ /dev/null @@ -1,593 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VRManagerChild.h" -#include "VRManagerParent.h" -#include "VRDisplayClient.h" -#include "nsGlobalWindow.h" -#include "mozilla/StaticPtr.h" -#include "mozilla/layers/CompositorThread.h" // for CompositorThread -#include "mozilla/dom/Navigator.h" -#include "mozilla/dom/VREventObserver.h" -#include "mozilla/dom/WindowBinding.h" // for FrameRequestCallback -#include "mozilla/dom/ContentChild.h" -#include "mozilla/layers/TextureClient.h" -#include "nsContentUtils.h" - -#ifdef MOZ_GAMEPAD -#include "mozilla/dom/GamepadManager.h" -#endif - -using layers::TextureClient; - -namespace { -const nsTArray<RefPtr<dom::VREventObserver>>::index_type kNoIndex = - nsTArray<RefPtr<dom::VREventObserver> >::NoIndex; -} // namespace - -namespace mozilla { -namespace gfx { - -static StaticRefPtr<VRManagerChild> sVRManagerChildSingleton; -static StaticRefPtr<VRManagerParent> sVRManagerParentSingleton; - -void ReleaseVRManagerParentSingleton() { - sVRManagerParentSingleton = nullptr; -} - -VRManagerChild::VRManagerChild() - : TextureForwarder() - , mDisplaysInitialized(false) - , mInputFrameID(-1) - , mMessageLoop(MessageLoop::current()) - , mFrameRequestCallbackCounter(0) - , mBackend(layers::LayersBackend::LAYERS_NONE) -{ - MOZ_COUNT_CTOR(VRManagerChild); - MOZ_ASSERT(NS_IsMainThread()); - - mStartTimeStamp = TimeStamp::Now(); -} - -VRManagerChild::~VRManagerChild() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_COUNT_DTOR(VRManagerChild); -} - -/*static*/ void -VRManagerChild::IdentifyTextureHost(const TextureFactoryIdentifier& aIdentifier) -{ - if (sVRManagerChildSingleton) { - sVRManagerChildSingleton->mBackend = aIdentifier.mParentBackend; - sVRManagerChildSingleton->mSyncObject = SyncObject::CreateSyncObject(aIdentifier.mSyncHandle); - } -} - -layers::LayersBackend -VRManagerChild::GetBackendType() const -{ - return mBackend; -} - -/*static*/ VRManagerChild* -VRManagerChild::Get() -{ - MOZ_ASSERT(sVRManagerChildSingleton); - return sVRManagerChildSingleton; -} - -/* static */ bool -VRManagerChild::IsCreated() -{ - return !!sVRManagerChildSingleton; -} - -/* static */ bool -VRManagerChild::InitForContent(Endpoint<PVRManagerChild>&& aEndpoint) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!sVRManagerChildSingleton); - - RefPtr<VRManagerChild> child(new VRManagerChild()); - if (!aEndpoint.Bind(child)) { - NS_RUNTIMEABORT("Couldn't Open() Compositor channel."); - return false; - } - sVRManagerChildSingleton = child; - return true; -} - -/* static */ bool -VRManagerChild::ReinitForContent(Endpoint<PVRManagerChild>&& aEndpoint) -{ - MOZ_ASSERT(NS_IsMainThread()); - - ShutDown(); - - return InitForContent(Move(aEndpoint)); -} - -/*static*/ void -VRManagerChild::InitSameProcess() -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!sVRManagerChildSingleton); - - sVRManagerChildSingleton = new VRManagerChild(); - sVRManagerParentSingleton = VRManagerParent::CreateSameProcess(); - sVRManagerChildSingleton->Open(sVRManagerParentSingleton->GetIPCChannel(), - mozilla::layers::CompositorThreadHolder::Loop(), - mozilla::ipc::ChildSide); -} - -/* static */ void -VRManagerChild::InitWithGPUProcess(Endpoint<PVRManagerChild>&& aEndpoint) -{ - MOZ_ASSERT(NS_IsMainThread()); - MOZ_ASSERT(!sVRManagerChildSingleton); - - sVRManagerChildSingleton = new VRManagerChild(); - if (!aEndpoint.Bind(sVRManagerChildSingleton)) { - NS_RUNTIMEABORT("Couldn't Open() Compositor channel."); - return; - } -} - -/*static*/ void -VRManagerChild::ShutDown() -{ - MOZ_ASSERT(NS_IsMainThread()); - if (sVRManagerChildSingleton) { - sVRManagerChildSingleton->Destroy(); - sVRManagerChildSingleton = nullptr; - } -} - -/*static*/ void -VRManagerChild::DeferredDestroy(RefPtr<VRManagerChild> aVRManagerChild) -{ - aVRManagerChild->Close(); -} - -void -VRManagerChild::Destroy() -{ - mTexturesWaitingRecycled.Clear(); - - // Keep ourselves alive until everything has been shut down - RefPtr<VRManagerChild> selfRef = this; - - // The DeferredDestroyVRManager task takes ownership of - // the VRManagerChild and will release it when it runs. - MessageLoop::current()->PostTask( - NewRunnableFunction(DeferredDestroy, selfRef)); -} - -layers::PTextureChild* -VRManagerChild::AllocPTextureChild(const SurfaceDescriptor&, - const LayersBackend&, - const TextureFlags&, - const uint64_t&) -{ - return TextureClient::CreateIPDLActor(); -} - -bool -VRManagerChild::DeallocPTextureChild(PTextureChild* actor) -{ - return TextureClient::DestroyIPDLActor(actor); -} - -PVRLayerChild* -VRManagerChild::AllocPVRLayerChild(const uint32_t& aDisplayID, - const float& aLeftEyeX, - const float& aLeftEyeY, - const float& aLeftEyeWidth, - const float& aLeftEyeHeight, - const float& aRightEyeX, - const float& aRightEyeY, - const float& aRightEyeWidth, - const float& aRightEyeHeight) -{ - RefPtr<VRLayerChild> layer = new VRLayerChild(aDisplayID, this); - return layer.forget().take(); -} - -bool -VRManagerChild::DeallocPVRLayerChild(PVRLayerChild* actor) -{ - delete actor; - return true; -} - -void -VRManagerChild::UpdateDisplayInfo(nsTArray<VRDisplayInfo>& aDisplayUpdates) -{ - bool bDisplayConnected = false; - bool bDisplayDisconnected = false; - - // Check if any displays have been disconnected - for (auto& display : mDisplays) { - bool found = false; - for (auto& displayUpdate : aDisplayUpdates) { - if (display->GetDisplayInfo().GetDisplayID() == displayUpdate.GetDisplayID()) { - found = true; - break; - } - } - if (!found) { - display->NotifyDisconnected(); - bDisplayDisconnected = true; - } - } - - // mDisplays could be a hashed container for more scalability, but not worth - // it now as we expect < 10 entries. - nsTArray<RefPtr<VRDisplayClient>> displays; - for (VRDisplayInfo& displayUpdate : aDisplayUpdates) { - bool isNewDisplay = true; - for (auto& display : mDisplays) { - const VRDisplayInfo& prevInfo = display->GetDisplayInfo(); - if (prevInfo.GetDisplayID() == displayUpdate.GetDisplayID()) { - if (displayUpdate.GetIsConnected() && !prevInfo.GetIsConnected()) { - bDisplayConnected = true; - } - if (!displayUpdate.GetIsConnected() && prevInfo.GetIsConnected()) { - bDisplayDisconnected = true; - } - display->UpdateDisplayInfo(displayUpdate); - displays.AppendElement(display); - isNewDisplay = false; - break; - } - } - if (isNewDisplay) { - displays.AppendElement(new VRDisplayClient(displayUpdate)); - bDisplayConnected = true; - } - } - - mDisplays = displays; - - if (bDisplayConnected) { - FireDOMVRDisplayConnectEvent(); - } - if (bDisplayDisconnected) { - FireDOMVRDisplayDisconnectEvent(); - } - - mDisplaysInitialized = true; -} - -bool -VRManagerChild::RecvUpdateDisplayInfo(nsTArray<VRDisplayInfo>&& aDisplayUpdates) -{ - UpdateDisplayInfo(aDisplayUpdates); - for (auto& windowId : mNavigatorCallbacks) { - /** We must call NotifyVRDisplaysUpdated for every - * window's Navigator in mNavigatorCallbacks to ensure that - * the promise returned by Navigator.GetVRDevices - * can resolve. This must happen even if no changes - * to VRDisplays have been detected here. - */ - nsGlobalWindow* window = nsGlobalWindow::GetInnerWindowWithId(windowId); - if (!window) { - continue; - } - ErrorResult result; - dom::Navigator* nav = window->GetNavigator(result); - if (NS_WARN_IF(result.Failed())) { - continue; - } - nav->NotifyVRDisplaysUpdated(); - } - mNavigatorCallbacks.Clear(); - return true; -} - -bool -VRManagerChild::GetVRDisplays(nsTArray<RefPtr<VRDisplayClient>>& aDisplays) -{ - if (!mDisplaysInitialized) { - /** - * If we haven't received any asynchronous callback after requesting - * display enumeration with RefreshDisplays, get the existing displays - * that have already been enumerated by other VRManagerChild instances. - */ - nsTArray<VRDisplayInfo> displays; - Unused << SendGetDisplays(&displays); - UpdateDisplayInfo(displays); - } - aDisplays = mDisplays; - return true; -} - -bool -VRManagerChild::RefreshVRDisplaysWithCallback(uint64_t aWindowId) -{ - bool success = SendRefreshDisplays(); - if (success) { - mNavigatorCallbacks.AppendElement(aWindowId); - } - return success; -} - -int -VRManagerChild::GetInputFrameID() -{ - return mInputFrameID; -} - -bool -VRManagerChild::RecvParentAsyncMessages(InfallibleTArray<AsyncParentMessageData>&& aMessages) -{ - for (InfallibleTArray<AsyncParentMessageData>::index_type i = 0; i < aMessages.Length(); ++i) { - const AsyncParentMessageData& message = aMessages[i]; - - switch (message.type()) { - case AsyncParentMessageData::TOpNotifyNotUsed: { - const OpNotifyNotUsed& op = message.get_OpNotifyNotUsed(); - NotifyNotUsed(op.TextureId(), op.fwdTransactionId()); - break; - } - default: - NS_ERROR("unknown AsyncParentMessageData type"); - return false; - } - } - return true; -} - -PTextureChild* -VRManagerChild::CreateTexture(const SurfaceDescriptor& aSharedData, - LayersBackend aLayersBackend, - TextureFlags aFlags, - uint64_t aSerial) -{ - return SendPTextureConstructor(aSharedData, aLayersBackend, aFlags, aSerial); -} - -void -VRManagerChild::CancelWaitForRecycle(uint64_t aTextureId) -{ - RefPtr<TextureClient> client = mTexturesWaitingRecycled.Get(aTextureId); - if (!client) { - return; - } - mTexturesWaitingRecycled.Remove(aTextureId); -} - -void -VRManagerChild::NotifyNotUsed(uint64_t aTextureId, uint64_t aFwdTransactionId) -{ - RefPtr<TextureClient> client = mTexturesWaitingRecycled.Get(aTextureId); - if (!client) { - return; - } - mTexturesWaitingRecycled.Remove(aTextureId); -} - -bool -VRManagerChild::AllocShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) -{ - return PVRManagerChild::AllocShmem(aSize, aType, aShmem); -} - -bool -VRManagerChild::AllocUnsafeShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) -{ - return PVRManagerChild::AllocUnsafeShmem(aSize, aType, aShmem); -} - -bool -VRManagerChild::DeallocShmem(ipc::Shmem& aShmem) -{ - return PVRManagerChild::DeallocShmem(aShmem); -} - -PVRLayerChild* -VRManagerChild::CreateVRLayer(uint32_t aDisplayID, const Rect& aLeftEyeRect, const Rect& aRightEyeRect) -{ - return SendPVRLayerConstructor(aDisplayID, - aLeftEyeRect.x, aLeftEyeRect.y, aLeftEyeRect.width, aLeftEyeRect.height, - aRightEyeRect.x, aRightEyeRect.y, aRightEyeRect.width, aRightEyeRect.height); -} - - -// XXX TODO - VRManagerChild::FrameRequest is the same as nsIDocument::FrameRequest, should we consolodate these? -struct VRManagerChild::FrameRequest -{ - FrameRequest(mozilla::dom::FrameRequestCallback& aCallback, - int32_t aHandle) : - mCallback(&aCallback), - mHandle(aHandle) - {} - - // Conversion operator so that we can append these to a - // FrameRequestCallbackList - operator const RefPtr<mozilla::dom::FrameRequestCallback>& () const { - return mCallback; - } - - // Comparator operators to allow RemoveElementSorted with an - // integer argument on arrays of FrameRequest - bool operator==(int32_t aHandle) const { - return mHandle == aHandle; - } - bool operator<(int32_t aHandle) const { - return mHandle < aHandle; - } - - RefPtr<mozilla::dom::FrameRequestCallback> mCallback; - int32_t mHandle; -}; - -nsresult -VRManagerChild::ScheduleFrameRequestCallback(mozilla::dom::FrameRequestCallback& aCallback, - int32_t *aHandle) -{ - if (mFrameRequestCallbackCounter == INT32_MAX) { - // Can't increment without overflowing; bail out - return NS_ERROR_NOT_AVAILABLE; - } - int32_t newHandle = ++mFrameRequestCallbackCounter; - - DebugOnly<FrameRequest*> request = - mFrameRequestCallbacks.AppendElement(FrameRequest(aCallback, newHandle)); - NS_ASSERTION(request, "This is supposed to be infallible!"); - - *aHandle = newHandle; - return NS_OK; -} - -void -VRManagerChild::CancelFrameRequestCallback(int32_t aHandle) -{ - // mFrameRequestCallbacks is stored sorted by handle - mFrameRequestCallbacks.RemoveElementSorted(aHandle); -} - -bool -VRManagerChild::RecvNotifyVSync() -{ - for (auto& display : mDisplays) { - display->NotifyVsync(); - } - - return true; -} - -bool -VRManagerChild::RecvNotifyVRVSync(const uint32_t& aDisplayID) -{ - for (auto& display : mDisplays) { - if (display->GetDisplayInfo().GetDisplayID() == aDisplayID) { - display->NotifyVRVsync(); - } - } - - return true; -} - -bool -VRManagerChild::RecvGamepadUpdate(const GamepadChangeEvent& aGamepadEvent) -{ -#ifdef MOZ_GAMEPAD - // VRManagerChild could be at other processes, but GamepadManager - // only exists at the content process or the same process - // in non-e10s mode. - MOZ_ASSERT(XRE_IsContentProcess() || IsSameProcess()); - - RefPtr<GamepadManager> gamepadManager(GamepadManager::GetService()); - if (gamepadManager) { - gamepadManager->Update(aGamepadEvent); - } -#endif - - return true; -} - -void -VRManagerChild::RunFrameRequestCallbacks() -{ - TimeStamp nowTime = TimeStamp::Now(); - mozilla::TimeDuration duration = nowTime - mStartTimeStamp; - DOMHighResTimeStamp timeStamp = duration.ToMilliseconds(); - - - nsTArray<FrameRequest> callbacks; - callbacks.AppendElements(mFrameRequestCallbacks); - mFrameRequestCallbacks.Clear(); - for (auto& callback : callbacks) { - callback.mCallback->Call(timeStamp); - } -} - -void -VRManagerChild::FireDOMVRDisplayConnectEvent() -{ - nsContentUtils::AddScriptRunner(NewRunnableMethod(this, - &VRManagerChild::FireDOMVRDisplayConnectEventInternal)); -} - -void -VRManagerChild::FireDOMVRDisplayDisconnectEvent() -{ - nsContentUtils::AddScriptRunner(NewRunnableMethod(this, - &VRManagerChild::FireDOMVRDisplayDisconnectEventInternal)); -} - -void -VRManagerChild::FireDOMVRDisplayPresentChangeEvent() -{ - nsContentUtils::AddScriptRunner(NewRunnableMethod(this, - &VRManagerChild::FireDOMVRDisplayPresentChangeEventInternal)); -} - -void -VRManagerChild::FireDOMVRDisplayConnectEventInternal() -{ - for (auto& listener : mListeners) { - listener->NotifyVRDisplayConnect(); - } -} - -void -VRManagerChild::FireDOMVRDisplayDisconnectEventInternal() -{ - for (auto& listener : mListeners) { - listener->NotifyVRDisplayDisconnect(); - } -} - -void -VRManagerChild::FireDOMVRDisplayPresentChangeEventInternal() -{ - for (auto& listener : mListeners) { - listener->NotifyVRDisplayPresentChange(); - } -} - -void -VRManagerChild::AddListener(dom::VREventObserver* aObserver) -{ - MOZ_ASSERT(aObserver); - - if (mListeners.IndexOf(aObserver) != kNoIndex) { - return; // already exists - } - - mListeners.AppendElement(aObserver); - if (mListeners.Length() == 1) { - Unused << SendSetHaveEventListener(true); - } -} - -void -VRManagerChild::RemoveListener(dom::VREventObserver* aObserver) -{ - MOZ_ASSERT(aObserver); - - mListeners.RemoveElement(aObserver); - if (mListeners.IsEmpty()) { - Unused << SendSetHaveEventListener(false); - } -} - -void -VRManagerChild::HandleFatalError(const char* aName, const char* aMsg) const -{ - dom::ContentChild::FatalErrorIfNotUsingGPUProcess(aName, aMsg, OtherPid()); -} - -} // namespace gfx -} // namespace mozilla diff --git a/gfx/vr/ipc/VRManagerChild.h b/gfx/vr/ipc/VRManagerChild.h deleted file mode 100644 index c898cd2f8..000000000 --- a/gfx/vr/ipc/VRManagerChild.h +++ /dev/null @@ -1,185 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef MOZILLA_GFX_VR_VRMANAGERCHILD_H -#define MOZILLA_GFX_VR_VRMANAGERCHILD_H - -#include "mozilla/gfx/PVRManagerChild.h" -#include "mozilla/ipc/SharedMemory.h" // for SharedMemory, etc -#include "ThreadSafeRefcountingWithMainThreadDestruction.h" -#include "mozilla/layers/ISurfaceAllocator.h" // for ISurfaceAllocator -#include "mozilla/layers/LayersTypes.h" // for LayersBackend -#include "mozilla/layers/TextureForwarder.h" - -namespace mozilla { -namespace dom { -class GamepadManager; -class Navigator; -class VRDisplay; -class VREventObserver; -} // namespace dom -namespace layers { -class PCompositableChild; -class TextureClient; -} -namespace gfx { -class VRLayerChild; -class VRDisplayClient; - -class VRManagerChild : public PVRManagerChild - , public layers::TextureForwarder - , public layers::KnowsCompositor -{ -public: - NS_INLINE_DECL_THREADSAFE_REFCOUNTING(VRManagerChild, override); - - TextureForwarder* GetTextureForwarder() override { return this; } - LayersIPCActor* GetLayersIPCActor() override { return this; } - - static VRManagerChild* Get(); - - // Indicate that an observer wants to receive VR events. - void AddListener(dom::VREventObserver* aObserver); - // Indicate that an observer should no longer receive VR events. - void RemoveListener(dom::VREventObserver* aObserver); - - int GetInputFrameID(); - bool GetVRDisplays(nsTArray<RefPtr<VRDisplayClient> >& aDisplays); - bool RefreshVRDisplaysWithCallback(uint64_t aWindowId); - - static void InitSameProcess(); - static void InitWithGPUProcess(Endpoint<PVRManagerChild>&& aEndpoint); - static bool InitForContent(Endpoint<PVRManagerChild>&& aEndpoint); - static bool ReinitForContent(Endpoint<PVRManagerChild>&& aEndpoint); - static void ShutDown(); - - static bool IsCreated(); - - virtual PTextureChild* CreateTexture(const SurfaceDescriptor& aSharedData, - layers::LayersBackend aLayersBackend, - TextureFlags aFlags, - uint64_t aSerial) override; - virtual void CancelWaitForRecycle(uint64_t aTextureId) override; - - PVRLayerChild* CreateVRLayer(uint32_t aDisplayID, const Rect& aLeftEyeRect, const Rect& aRightEyeRect); - - static void IdentifyTextureHost(const layers::TextureFactoryIdentifier& aIdentifier); - layers::LayersBackend GetBackendType() const; - layers::SyncObject* GetSyncObject() { return mSyncObject; } - - virtual MessageLoop* GetMessageLoop() const override { return mMessageLoop; } - virtual base::ProcessId GetParentPid() const override { return OtherPid(); } - - nsresult ScheduleFrameRequestCallback(mozilla::dom::FrameRequestCallback& aCallback, - int32_t *aHandle); - void CancelFrameRequestCallback(int32_t aHandle); - void RunFrameRequestCallbacks(); - - void UpdateDisplayInfo(nsTArray<VRDisplayInfo>& aDisplayUpdates); - void FireDOMVRDisplayConnectEvent(); - void FireDOMVRDisplayDisconnectEvent(); - void FireDOMVRDisplayPresentChangeEvent(); - - virtual void HandleFatalError(const char* aName, const char* aMsg) const override; - -protected: - explicit VRManagerChild(); - ~VRManagerChild(); - void Destroy(); - static void DeferredDestroy(RefPtr<VRManagerChild> aVRManagerChild); - - virtual PTextureChild* AllocPTextureChild(const SurfaceDescriptor& aSharedData, - const layers::LayersBackend& aLayersBackend, - const TextureFlags& aFlags, - const uint64_t& aSerial) override; - virtual bool DeallocPTextureChild(PTextureChild* actor) override; - - virtual PVRLayerChild* AllocPVRLayerChild(const uint32_t& aDisplayID, - const float& aLeftEyeX, - const float& aLeftEyeY, - const float& aLeftEyeWidth, - const float& aLeftEyeHeight, - const float& aRightEyeX, - const float& aRightEyeY, - const float& aRightEyeWidth, - const float& aRightEyeHeight) override; - virtual bool DeallocPVRLayerChild(PVRLayerChild* actor) override; - - virtual bool RecvUpdateDisplayInfo(nsTArray<VRDisplayInfo>&& aDisplayUpdates) override; - - virtual bool RecvParentAsyncMessages(InfallibleTArray<AsyncParentMessageData>&& aMessages) override; - - virtual bool RecvNotifyVSync() override; - virtual bool RecvNotifyVRVSync(const uint32_t& aDisplayID) override; - virtual bool RecvGamepadUpdate(const GamepadChangeEvent& aGamepadEvent) override; - - // ShmemAllocator - - virtual bool AllocShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) override; - - virtual bool AllocUnsafeShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) override; - - virtual bool DeallocShmem(ipc::Shmem& aShmem) override; - - virtual bool IsSameProcess() const override - { - return OtherPid() == base::GetCurrentProcId(); - } - - friend class layers::CompositorBridgeChild; - -private: - - void FireDOMVRDisplayConnectEventInternal(); - void FireDOMVRDisplayDisconnectEventInternal(); - void FireDOMVRDisplayPresentChangeEventInternal(); - /** - * Notify id of Texture When host side end its use. Transaction id is used to - * make sure if there is no newer usage. - */ - void NotifyNotUsed(uint64_t aTextureId, uint64_t aFwdTransactionId); - - nsTArray<RefPtr<VRDisplayClient> > mDisplays; - bool mDisplaysInitialized; - nsTArray<uint64_t> mNavigatorCallbacks; - - int32_t mInputFrameID; - - MessageLoop* mMessageLoop; - - struct FrameRequest; - - nsTArray<FrameRequest> mFrameRequestCallbacks; - /** - * The current frame request callback handle - */ - int32_t mFrameRequestCallbackCounter; - mozilla::TimeStamp mStartTimeStamp; - - // Array of Weak pointers, instance is owned by nsGlobalWindow::mVREventObserver. - nsTArray<dom::VREventObserver*> mListeners; - - /** - * Hold TextureClients refs until end of their usages on host side. - * It defer calling of TextureClient recycle callback. - */ - nsDataHashtable<nsUint64HashKey, RefPtr<layers::TextureClient> > mTexturesWaitingRecycled; - - layers::LayersBackend mBackend; - RefPtr<layers::SyncObject> mSyncObject; - - DISALLOW_COPY_AND_ASSIGN(VRManagerChild); -}; - -} // namespace mozilla -} // namespace gfx - -#endif // MOZILLA_GFX_VR_VRMANAGERCHILD_H diff --git a/gfx/vr/ipc/VRManagerParent.cpp b/gfx/vr/ipc/VRManagerParent.cpp deleted file mode 100644 index 725d7dd1d..000000000 --- a/gfx/vr/ipc/VRManagerParent.cpp +++ /dev/null @@ -1,332 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "VRManagerParent.h" -#include "ipc/VRLayerParent.h" -#include "mozilla/gfx/PVRManagerParent.h" -#include "mozilla/ipc/ProtocolTypes.h" -#include "mozilla/ipc/ProtocolUtils.h" // for IToplevelProtocol -#include "mozilla/TimeStamp.h" // for TimeStamp -#include "mozilla/layers/CompositorThread.h" -#include "mozilla/Unused.h" -#include "VRManager.h" - -namespace mozilla { -using namespace layers; -namespace gfx { - -VRManagerParent::VRManagerParent(ProcessId aChildProcessId, bool aIsContentChild) - : HostIPCAllocator() - , mHaveEventListener(false) - , mIsContentChild(aIsContentChild) -{ - MOZ_COUNT_CTOR(VRManagerParent); - MOZ_ASSERT(NS_IsMainThread()); - - SetOtherProcessId(aChildProcessId); -} - -VRManagerParent::~VRManagerParent() -{ - MOZ_ASSERT(!mVRManagerHolder); - - MOZ_COUNT_DTOR(VRManagerParent); -} - -PTextureParent* -VRManagerParent::AllocPTextureParent(const SurfaceDescriptor& aSharedData, - const LayersBackend& aLayersBackend, - const TextureFlags& aFlags, - const uint64_t& aSerial) -{ - return layers::TextureHost::CreateIPDLActor(this, aSharedData, aLayersBackend, aFlags, aSerial); -} - -bool -VRManagerParent::DeallocPTextureParent(PTextureParent* actor) -{ - return layers::TextureHost::DestroyIPDLActor(actor); -} - -PVRLayerParent* -VRManagerParent::AllocPVRLayerParent(const uint32_t& aDisplayID, - const float& aLeftEyeX, - const float& aLeftEyeY, - const float& aLeftEyeWidth, - const float& aLeftEyeHeight, - const float& aRightEyeX, - const float& aRightEyeY, - const float& aRightEyeWidth, - const float& aRightEyeHeight) -{ - RefPtr<VRLayerParent> layer; - layer = new VRLayerParent(aDisplayID, - Rect(aLeftEyeX, aLeftEyeY, aLeftEyeWidth, aLeftEyeHeight), - Rect(aRightEyeX, aRightEyeY, aRightEyeWidth, aRightEyeHeight)); - VRManager* vm = VRManager::Get(); - RefPtr<gfx::VRDisplayHost> display = vm->GetDisplay(aDisplayID); - if (display) { - display->AddLayer(layer); - } - return layer.forget().take(); -} - -bool -VRManagerParent::DeallocPVRLayerParent(PVRLayerParent* actor) -{ - gfx::VRLayerParent* layer = static_cast<gfx::VRLayerParent*>(actor); - - VRManager* vm = VRManager::Get(); - RefPtr<gfx::VRDisplayHost> display = vm->GetDisplay(layer->GetDisplayID()); - if (display) { - display->RemoveLayer(layer); - } - - delete actor; - return true; -} - -bool -VRManagerParent::AllocShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) -{ - return PVRManagerParent::AllocShmem(aSize, aType, aShmem); -} - -bool -VRManagerParent::AllocUnsafeShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) -{ - return PVRManagerParent::AllocUnsafeShmem(aSize, aType, aShmem); -} - -void -VRManagerParent::DeallocShmem(ipc::Shmem& aShmem) -{ - PVRManagerParent::DeallocShmem(aShmem); -} - -bool -VRManagerParent::IsSameProcess() const -{ - return OtherPid() == base::GetCurrentProcId(); -} - -void -VRManagerParent::NotifyNotUsed(PTextureParent* aTexture, uint64_t aTransactionId) -{ - MOZ_ASSERT_UNREACHABLE("unexpected to be called"); -} - -void -VRManagerParent::SendAsyncMessage(const InfallibleTArray<AsyncParentMessageData>& aMessage) -{ - MOZ_ASSERT_UNREACHABLE("unexpected to be called"); -} - -base::ProcessId -VRManagerParent::GetChildProcessId() -{ - return OtherPid(); -} - -void -VRManagerParent::RegisterWithManager() -{ - VRManager* vm = VRManager::Get(); - vm->AddVRManagerParent(this); - mVRManagerHolder = vm; -} - -void -VRManagerParent::UnregisterFromManager() -{ - VRManager* vm = VRManager::Get(); - vm->RemoveVRManagerParent(this); - mVRManagerHolder = nullptr; -} - -/* static */ bool -VRManagerParent::CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint) -{ - MessageLoop* loop = layers::CompositorThreadHolder::Loop(); - - RefPtr<VRManagerParent> vmp = new VRManagerParent(aEndpoint.OtherPid(), true); - loop->PostTask(NewRunnableMethod<Endpoint<PVRManagerParent>&&>( - vmp, &VRManagerParent::Bind, Move(aEndpoint))); - - return true; -} - -void -VRManagerParent::Bind(Endpoint<PVRManagerParent>&& aEndpoint) -{ - if (!aEndpoint.Bind(this)) { - return; - } - mSelfRef = this; - - RegisterWithManager(); -} - -/*static*/ void -VRManagerParent::RegisterVRManagerInCompositorThread(VRManagerParent* aVRManager) -{ - aVRManager->RegisterWithManager(); -} - -/*static*/ VRManagerParent* -VRManagerParent::CreateSameProcess() -{ - MessageLoop* loop = mozilla::layers::CompositorThreadHolder::Loop(); - RefPtr<VRManagerParent> vmp = new VRManagerParent(base::GetCurrentProcId(), false); - vmp->mCompositorThreadHolder = layers::CompositorThreadHolder::GetSingleton(); - vmp->mSelfRef = vmp; - loop->PostTask(NewRunnableFunction(RegisterVRManagerInCompositorThread, vmp.get())); - return vmp.get(); -} - -bool -VRManagerParent::CreateForGPUProcess(Endpoint<PVRManagerParent>&& aEndpoint) -{ - MessageLoop* loop = mozilla::layers::CompositorThreadHolder::Loop(); - - RefPtr<VRManagerParent> vmp = new VRManagerParent(aEndpoint.OtherPid(), false); - vmp->mCompositorThreadHolder = layers::CompositorThreadHolder::GetSingleton(); - loop->PostTask(NewRunnableMethod<Endpoint<PVRManagerParent>&&>( - vmp, &VRManagerParent::Bind, Move(aEndpoint))); - return true; -} - -void -VRManagerParent::DeferredDestroy() -{ - mCompositorThreadHolder = nullptr; - mSelfRef = nullptr; -} - -void -VRManagerParent::ActorDestroy(ActorDestroyReason why) -{ - UnregisterFromManager(); - MessageLoop::current()->PostTask(NewRunnableMethod(this, &VRManagerParent::DeferredDestroy)); -} - -void -VRManagerParent::OnChannelConnected(int32_t aPid) -{ - mCompositorThreadHolder = layers::CompositorThreadHolder::GetSingleton(); -} - -bool -VRManagerParent::RecvRefreshDisplays() -{ - // This is called to refresh the VR Displays for Navigator.GetVRDevices(). - // We must pass "true" to VRManager::RefreshVRDisplays() - // to ensure that the promise returned by Navigator.GetVRDevices - // can resolve even if there are no changes to the VR Displays. - VRManager* vm = VRManager::Get(); - vm->RefreshVRDisplays(true); - - return true; -} - -bool -VRManagerParent::RecvGetDisplays(nsTArray<VRDisplayInfo> *aDisplays) -{ - VRManager* vm = VRManager::Get(); - vm->GetVRDisplayInfo(*aDisplays); - return true; -} - -bool -VRManagerParent::RecvResetSensor(const uint32_t& aDisplayID) -{ - VRManager* vm = VRManager::Get(); - RefPtr<gfx::VRDisplayHost> display = vm->GetDisplay(aDisplayID); - if (display != nullptr) { - display->ZeroSensor(); - } - - return true; -} - -bool -VRManagerParent::RecvGetSensorState(const uint32_t& aDisplayID, VRHMDSensorState* aState) -{ - VRManager* vm = VRManager::Get(); - RefPtr<gfx::VRDisplayHost> display = vm->GetDisplay(aDisplayID); - if (display != nullptr) { - *aState = display->GetSensorState(); - } - return true; -} - -bool -VRManagerParent::RecvGetImmediateSensorState(const uint32_t& aDisplayID, VRHMDSensorState* aState) -{ - VRManager* vm = VRManager::Get(); - RefPtr<gfx::VRDisplayHost> display = vm->GetDisplay(aDisplayID); - if (display != nullptr) { - *aState = display->GetImmediateSensorState(); - } - return true; -} - -bool -VRManagerParent::HaveEventListener() -{ - return mHaveEventListener; -} - -bool -VRManagerParent::RecvSetHaveEventListener(const bool& aHaveEventListener) -{ - mHaveEventListener = aHaveEventListener; - return true; -} - -bool -VRManagerParent::RecvControllerListenerAdded() -{ - VRManager* vm = VRManager::Get(); - // Ask the connected gamepads to be added to GamepadManager - vm->ScanForDevices(); - - return true; -} - -bool -VRManagerParent::RecvControllerListenerRemoved() -{ - return true; -} - -bool -VRManagerParent::RecvGetControllers(nsTArray<VRControllerInfo> *aControllers) -{ - VRManager* vm = VRManager::Get(); - vm->GetVRControllerInfo(*aControllers); - return true; -} - -bool -VRManagerParent::SendGamepadUpdate(const GamepadChangeEvent& aGamepadEvent) -{ - // GamepadManager only exists at the content process - // or the same process in non-e10s mode. - if (mIsContentChild || IsSameProcess()) { - return PVRManagerParent::SendGamepadUpdate(aGamepadEvent); - } else { - return true; - } -} - -} // namespace gfx -} // namespace mozilla diff --git a/gfx/vr/ipc/VRManagerParent.h b/gfx/vr/ipc/VRManagerParent.h deleted file mode 100644 index d4611c187..000000000 --- a/gfx/vr/ipc/VRManagerParent.h +++ /dev/null @@ -1,118 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * vim: sw=2 ts=8 et : - */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef MOZILLA_GFX_VR_VRMANAGERPARENT_H -#define MOZILLA_GFX_VR_VRMANAGERPARENT_H - -#include "mozilla/layers/CompositableTransactionParent.h" -#include "mozilla/layers/CompositorThread.h" // for CompositorThreadHolder -#include "mozilla/gfx/PVRManagerParent.h" // for PVRManagerParent -#include "mozilla/gfx/PVRLayerParent.h" // for PVRLayerParent -#include "mozilla/ipc/ProtocolUtils.h" // for IToplevelProtocol -#include "mozilla/TimeStamp.h" // for TimeStamp -#include "gfxVR.h" // for VRFieldOfView - -namespace mozilla { -using namespace layers; -namespace gfx { - -class VRManager; - -class VRManagerParent final : public PVRManagerParent - , public HostIPCAllocator - , public ShmemAllocator -{ -public: - explicit VRManagerParent(ProcessId aChildProcessId, bool aIsContentChild); - - static VRManagerParent* CreateSameProcess(); - static bool CreateForGPUProcess(Endpoint<PVRManagerParent>&& aEndpoint); - static bool CreateForContent(Endpoint<PVRManagerParent>&& aEndpoint); - - virtual base::ProcessId GetChildProcessId() override; - - // ShmemAllocator - - virtual ShmemAllocator* AsShmemAllocator() override { return this; } - - virtual bool AllocShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) override; - - virtual bool AllocUnsafeShmem(size_t aSize, - ipc::SharedMemory::SharedMemoryType aType, - ipc::Shmem* aShmem) override; - - virtual void DeallocShmem(ipc::Shmem& aShmem) override; - - virtual bool IsSameProcess() const override; - bool HaveEventListener(); - - virtual void NotifyNotUsed(PTextureParent* aTexture, uint64_t aTransactionId) override; - virtual void SendAsyncMessage(const InfallibleTArray<AsyncParentMessageData>& aMessage) override; - bool SendGamepadUpdate(const GamepadChangeEvent& aGamepadEvent); - -protected: - ~VRManagerParent(); - - virtual PTextureParent* AllocPTextureParent(const SurfaceDescriptor& aSharedData, - const LayersBackend& aLayersBackend, - const TextureFlags& aFlags, - const uint64_t& aSerial) override; - virtual bool DeallocPTextureParent(PTextureParent* actor) override; - - virtual PVRLayerParent* AllocPVRLayerParent(const uint32_t& aDisplayID, - const float& aLeftEyeX, - const float& aLeftEyeY, - const float& aLeftEyeWidth, - const float& aLeftEyeHeight, - const float& aRightEyeX, - const float& aRightEyeY, - const float& aRightEyeWidth, - const float& aRightEyeHeight) override; - virtual bool DeallocPVRLayerParent(PVRLayerParent* actor) override; - - virtual void ActorDestroy(ActorDestroyReason why) override; - void OnChannelConnected(int32_t pid) override; - - virtual bool RecvRefreshDisplays() override; - virtual bool RecvGetDisplays(nsTArray<VRDisplayInfo> *aDisplays) override; - virtual bool RecvResetSensor(const uint32_t& aDisplayID) override; - virtual bool RecvGetSensorState(const uint32_t& aDisplayID, VRHMDSensorState* aState) override; - virtual bool RecvGetImmediateSensorState(const uint32_t& aDisplayID, VRHMDSensorState* aState) override; - virtual bool RecvSetHaveEventListener(const bool& aHaveEventListener) override; - virtual bool RecvControllerListenerAdded() override; - virtual bool RecvControllerListenerRemoved() override; - virtual bool RecvGetControllers(nsTArray<VRControllerInfo> *aControllers) override; - -private: - void RegisterWithManager(); - void UnregisterFromManager(); - - void Bind(Endpoint<PVRManagerParent>&& aEndpoint); - - static void RegisterVRManagerInCompositorThread(VRManagerParent* aVRManager); - - void DeferredDestroy(); - - // This keeps us alive until ActorDestroy(), at which point we do a - // deferred destruction of ourselves. - RefPtr<VRManagerParent> mSelfRef; - - // Keep the compositor thread alive, until we have destroyed ourselves. - RefPtr<layers::CompositorThreadHolder> mCompositorThreadHolder; - - // Keep the VRManager alive, until we have destroyed ourselves. - RefPtr<VRManager> mVRManagerHolder; - bool mHaveEventListener; - bool mIsContentChild; -}; - -} // namespace mozilla -} // namespace gfx - -#endif // MOZILLA_GFX_VR_VRMANAGERPARENT_H diff --git a/gfx/vr/ipc/VRMessageUtils.h b/gfx/vr/ipc/VRMessageUtils.h deleted file mode 100644 index c066047db..000000000 --- a/gfx/vr/ipc/VRMessageUtils.h +++ /dev/null @@ -1,193 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set sw=2 ts=8 et tw=80 : */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_gfx_vr_VRMessageUtils_h -#define mozilla_gfx_vr_VRMessageUtils_h - -#include "ipc/IPCMessageUtils.h" -#include "mozilla/GfxMessageUtils.h" -#include "VRManager.h" - -#include "gfxVR.h" - -namespace IPC { - -template<> -struct ParamTraits<mozilla::gfx::VRDeviceType> : - public ContiguousEnumSerializer<mozilla::gfx::VRDeviceType, - mozilla::gfx::VRDeviceType(0), - mozilla::gfx::VRDeviceType(mozilla::gfx::VRDeviceType::NumVRDeviceTypes)> {}; - -template<> -struct ParamTraits<mozilla::gfx::VRDisplayCapabilityFlags> : - public BitFlagsEnumSerializer<mozilla::gfx::VRDisplayCapabilityFlags, - mozilla::gfx::VRDisplayCapabilityFlags::Cap_All> {}; - -template <> -struct ParamTraits<mozilla::gfx::VRDisplayInfo> -{ - typedef mozilla::gfx::VRDisplayInfo paramType; - - static void Write(Message* aMsg, const paramType& aParam) - { - WriteParam(aMsg, aParam.mType); - WriteParam(aMsg, aParam.mDisplayID); - WriteParam(aMsg, aParam.mDisplayName); - WriteParam(aMsg, aParam.mCapabilityFlags); - WriteParam(aMsg, aParam.mEyeResolution); - WriteParam(aMsg, aParam.mIsConnected); - WriteParam(aMsg, aParam.mIsPresenting); - WriteParam(aMsg, aParam.mStageSize); - WriteParam(aMsg, aParam.mSittingToStandingTransform); - for (int i = 0; i < mozilla::gfx::VRDisplayInfo::NumEyes; i++) { - WriteParam(aMsg, aParam.mEyeFOV[i]); - WriteParam(aMsg, aParam.mEyeTranslation[i]); - } - } - - static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) - { - if (!ReadParam(aMsg, aIter, &(aResult->mType)) || - !ReadParam(aMsg, aIter, &(aResult->mDisplayID)) || - !ReadParam(aMsg, aIter, &(aResult->mDisplayName)) || - !ReadParam(aMsg, aIter, &(aResult->mCapabilityFlags)) || - !ReadParam(aMsg, aIter, &(aResult->mEyeResolution)) || - !ReadParam(aMsg, aIter, &(aResult->mIsConnected)) || - !ReadParam(aMsg, aIter, &(aResult->mIsPresenting)) || - !ReadParam(aMsg, aIter, &(aResult->mStageSize)) || - !ReadParam(aMsg, aIter, &(aResult->mSittingToStandingTransform))) { - return false; - } - for (int i = 0; i < mozilla::gfx::VRDisplayInfo::NumEyes; i++) { - if (!ReadParam(aMsg, aIter, &(aResult->mEyeFOV[i])) || - !ReadParam(aMsg, aIter, &(aResult->mEyeTranslation[i]))) { - return false; - } - } - - return true; - } -}; - -template <> -struct ParamTraits<mozilla::gfx::VRHMDSensorState> -{ - typedef mozilla::gfx::VRHMDSensorState paramType; - - static void Write(Message* aMsg, const paramType& aParam) - { - WriteParam(aMsg, aParam.timestamp); - WriteParam(aMsg, aParam.inputFrameID); - WriteParam(aMsg, aParam.flags); - WriteParam(aMsg, aParam.orientation[0]); - WriteParam(aMsg, aParam.orientation[1]); - WriteParam(aMsg, aParam.orientation[2]); - WriteParam(aMsg, aParam.orientation[3]); - WriteParam(aMsg, aParam.position[0]); - WriteParam(aMsg, aParam.position[1]); - WriteParam(aMsg, aParam.position[2]); - WriteParam(aMsg, aParam.angularVelocity[0]); - WriteParam(aMsg, aParam.angularVelocity[1]); - WriteParam(aMsg, aParam.angularVelocity[2]); - WriteParam(aMsg, aParam.angularAcceleration[0]); - WriteParam(aMsg, aParam.angularAcceleration[1]); - WriteParam(aMsg, aParam.angularAcceleration[2]); - WriteParam(aMsg, aParam.linearVelocity[0]); - WriteParam(aMsg, aParam.linearVelocity[1]); - WriteParam(aMsg, aParam.linearVelocity[2]); - WriteParam(aMsg, aParam.linearAcceleration[0]); - WriteParam(aMsg, aParam.linearAcceleration[1]); - WriteParam(aMsg, aParam.linearAcceleration[2]); - } - - static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) - { - if (!ReadParam(aMsg, aIter, &(aResult->timestamp)) || - !ReadParam(aMsg, aIter, &(aResult->inputFrameID)) || - !ReadParam(aMsg, aIter, &(aResult->flags)) || - !ReadParam(aMsg, aIter, &(aResult->orientation[0])) || - !ReadParam(aMsg, aIter, &(aResult->orientation[1])) || - !ReadParam(aMsg, aIter, &(aResult->orientation[2])) || - !ReadParam(aMsg, aIter, &(aResult->orientation[3])) || - !ReadParam(aMsg, aIter, &(aResult->position[0])) || - !ReadParam(aMsg, aIter, &(aResult->position[1])) || - !ReadParam(aMsg, aIter, &(aResult->position[2])) || - !ReadParam(aMsg, aIter, &(aResult->angularVelocity[0])) || - !ReadParam(aMsg, aIter, &(aResult->angularVelocity[1])) || - !ReadParam(aMsg, aIter, &(aResult->angularVelocity[2])) || - !ReadParam(aMsg, aIter, &(aResult->angularAcceleration[0])) || - !ReadParam(aMsg, aIter, &(aResult->angularAcceleration[1])) || - !ReadParam(aMsg, aIter, &(aResult->angularAcceleration[2])) || - !ReadParam(aMsg, aIter, &(aResult->linearVelocity[0])) || - !ReadParam(aMsg, aIter, &(aResult->linearVelocity[1])) || - !ReadParam(aMsg, aIter, &(aResult->linearVelocity[2])) || - !ReadParam(aMsg, aIter, &(aResult->linearAcceleration[0])) || - !ReadParam(aMsg, aIter, &(aResult->linearAcceleration[1])) || - !ReadParam(aMsg, aIter, &(aResult->linearAcceleration[2]))) { - return false; - } - return true; - } -}; - -template <> -struct ParamTraits<mozilla::gfx::VRFieldOfView> -{ - typedef mozilla::gfx::VRFieldOfView paramType; - - static void Write(Message* aMsg, const paramType& aParam) - { - WriteParam(aMsg, aParam.upDegrees); - WriteParam(aMsg, aParam.rightDegrees); - WriteParam(aMsg, aParam.downDegrees); - WriteParam(aMsg, aParam.leftDegrees); - } - - static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) - { - if (!ReadParam(aMsg, aIter, &(aResult->upDegrees)) || - !ReadParam(aMsg, aIter, &(aResult->rightDegrees)) || - !ReadParam(aMsg, aIter, &(aResult->downDegrees)) || - !ReadParam(aMsg, aIter, &(aResult->leftDegrees))) { - return false; - } - - return true; - } -}; - -template <> -struct ParamTraits<mozilla::gfx::VRControllerInfo> -{ - typedef mozilla::gfx::VRControllerInfo paramType; - - static void Write(Message* aMsg, const paramType& aParam) - { - WriteParam(aMsg, aParam.mType); - WriteParam(aMsg, aParam.mControllerID); - WriteParam(aMsg, aParam.mControllerName); - WriteParam(aMsg, aParam.mMappingType); - WriteParam(aMsg, aParam.mNumButtons); - WriteParam(aMsg, aParam.mNumAxes); - } - - static bool Read(const Message* aMsg, PickleIterator* aIter, paramType* aResult) - { - if (!ReadParam(aMsg, aIter, &(aResult->mType)) || - !ReadParam(aMsg, aIter, &(aResult->mControllerID)) || - !ReadParam(aMsg, aIter, &(aResult->mControllerName)) || - !ReadParam(aMsg, aIter, &(aResult->mMappingType)) || - !ReadParam(aMsg, aIter, &(aResult->mNumButtons)) || - !ReadParam(aMsg, aIter, &(aResult->mNumAxes))) { - return false; - } - - return true; - } -}; -} // namespace IPC - -#endif // mozilla_gfx_vr_VRMessageUtils_h diff --git a/gfx/vr/moz.build b/gfx/vr/moz.build deleted file mode 100644 index 5ab724d4a..000000000 --- a/gfx/vr/moz.build +++ /dev/null @@ -1,71 +0,0 @@ -# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- -# vim: set filetype=python: -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -EXPORTS += [ - 'gfxVR.h', - 'ipc/VRLayerChild.h', - 'ipc/VRManagerChild.h', - 'ipc/VRManagerParent.h', - 'ipc/VRMessageUtils.h', - 'VRDisplayClient.h', - 'VRDisplayPresentation.h', - 'VRManager.h', -] - -LOCAL_INCLUDES += [ - '/dom/base', - '/gfx/layers/d3d11', - '/gfx/thebes', -] - -UNIFIED_SOURCES += [ - 'gfxVR.cpp', - 'gfxVROpenVR.cpp', - 'gfxVROSVR.cpp', - 'ipc/VRLayerChild.cpp', - 'ipc/VRLayerParent.cpp', - 'ipc/VRManagerChild.cpp', - 'ipc/VRManagerParent.cpp', - 'VRDisplayClient.cpp', - 'VRDisplayHost.cpp', - 'VRDisplayPresentation.cpp', - 'VRManager.cpp', -] - -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': - SOURCES += [ - 'gfxVROculus.cpp', - ] - -IPDL_SOURCES = [ - 'ipc/PVRLayer.ipdl', - 'ipc/PVRManager.ipdl', -] - -# For building with the real SDK instead of our local hack -#SOURCES += [ -# 'OVR_CAPI_Util.cpp', -# 'OVR_CAPIShim.c', -# 'OVR_StereoProjection.cpp', -#] -# -#CXXFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"] -#CFLAGS += ["-Ic:/proj/ovr/OculusSDK-0.6.0-beta/LibOVR/Include"] - -CXXFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] -CXXFLAGS += CONFIG['TK_CFLAGS'] -CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] -CFLAGS += CONFIG['TK_CFLAGS'] - -include('/ipc/chromium/chromium-config.mozbuild') - -FINAL_LIBRARY = 'xul' - -# This is intended as a temporary hack to enable VS2015 builds. -if CONFIG['_MSC_VER']: - # ovr_capi_dynamic.h '<unnamed-tag>': Alignment specifier is less than - # actual alignment (8), and will be ignored - CXXFLAGS += ['-wd4359'] diff --git a/gfx/vr/openvr/LICENSE b/gfx/vr/openvr/LICENSE deleted file mode 100644 index ee83337d7..000000000 --- a/gfx/vr/openvr/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2015, Valve Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - -3. Neither the name of the copyright holder nor the names of its contributors -may be used to endorse or promote products derived from this software without -specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/gfx/vr/openvr/README b/gfx/vr/openvr/README deleted file mode 100644 index 5e67e5a3a..000000000 --- a/gfx/vr/openvr/README +++ /dev/null @@ -1,2 +0,0 @@ -See https://github.com/ValveSoftware/openvr/ - diff --git a/gfx/vr/openvr/openvr.h b/gfx/vr/openvr/openvr.h deleted file mode 100644 index deb3142fd..000000000 --- a/gfx/vr/openvr/openvr.h +++ /dev/null @@ -1,3352 +0,0 @@ -#pragma once - -// openvr.h -//========= Copyright Valve Corporation ============// -// Dynamically generated file. Do not modify this file directly. - -#ifndef _OPENVR_API -#define _OPENVR_API - -#include <stdint.h> - - - -// vrtypes.h -#ifndef _INCLUDE_VRTYPES_H -#define _INCLUDE_VRTYPES_H - -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -typedef void* glSharedTextureHandle_t; -typedef int32_t glInt_t; -typedef uint32_t glUInt_t; - -// right-handed system -// +y is up -// +x is to the right -// -z is going away from you -// Distance unit is meters -struct HmdMatrix34_t -{ - float m[3][4]; -}; - -struct HmdMatrix44_t -{ - float m[4][4]; -}; - -struct HmdVector3_t -{ - float v[3]; -}; - -struct HmdVector4_t -{ - float v[4]; -}; - -struct HmdVector3d_t -{ - double v[3]; -}; - -struct HmdVector2_t -{ - float v[2]; -}; - -struct HmdQuaternion_t -{ - double w, x, y, z; -}; - -struct HmdColor_t -{ - float r, g, b, a; -}; - -struct HmdQuad_t -{ - HmdVector3_t vCorners[ 4 ]; -}; - -struct HmdRect2_t -{ - HmdVector2_t vTopLeft; - HmdVector2_t vBottomRight; -}; - -/** Used to return the post-distortion UVs for each color channel. -* UVs range from 0 to 1 with 0,0 in the upper left corner of the -* source render target. The 0,0 to 1,1 range covers a single eye. */ -struct DistortionCoordinates_t -{ - float rfRed[2]; - float rfGreen[2]; - float rfBlue[2]; -}; - -enum EVREye -{ - Eye_Left = 0, - Eye_Right = 1 -}; - -enum EGraphicsAPIConvention -{ - API_DirectX = 0, // Normalized Z goes from 0 at the viewer to 1 at the far clip plane - API_OpenGL = 1, // Normalized Z goes from 1 at the viewer to -1 at the far clip plane -}; - -enum EColorSpace -{ - ColorSpace_Auto = 0, // Assumes 'gamma' for 8-bit per component formats, otherwise 'linear'. This mirrors the DXGI formats which have _SRGB variants. - ColorSpace_Gamma = 1, // Texture data can be displayed directly on the display without any conversion (a.k.a. display native format). - ColorSpace_Linear = 2, // Same as gamma but has been converted to a linear representation using DXGI's sRGB conversion algorithm. -}; - -struct Texture_t -{ - void* handle; // Native d3d texture pointer or GL texture id. - EGraphicsAPIConvention eType; - EColorSpace eColorSpace; -}; - -enum ETrackingResult -{ - TrackingResult_Uninitialized = 1, - - TrackingResult_Calibrating_InProgress = 100, - TrackingResult_Calibrating_OutOfRange = 101, - - TrackingResult_Running_OK = 200, - TrackingResult_Running_OutOfRange = 201, -}; - -static const uint32_t k_unTrackingStringSize = 32; -static const uint32_t k_unMaxDriverDebugResponseSize = 32768; - -/** Used to pass device IDs to API calls */ -typedef uint32_t TrackedDeviceIndex_t; -static const uint32_t k_unTrackedDeviceIndex_Hmd = 0; -static const uint32_t k_unMaxTrackedDeviceCount = 16; -static const uint32_t k_unTrackedDeviceIndexOther = 0xFFFFFFFE; -static const uint32_t k_unTrackedDeviceIndexInvalid = 0xFFFFFFFF; - -/** Describes what kind of object is being tracked at a given ID */ -enum ETrackedDeviceClass -{ - TrackedDeviceClass_Invalid = 0, // the ID was not valid. - TrackedDeviceClass_HMD = 1, // Head-Mounted Displays - TrackedDeviceClass_Controller = 2, // Tracked controllers - TrackedDeviceClass_TrackingReference = 4, // Camera and base stations that serve as tracking reference points - - TrackedDeviceClass_Other = 1000, -}; - - -/** Describes what specific role associated with a tracked device */ -enum ETrackedControllerRole -{ - TrackedControllerRole_Invalid = 0, // Invalid value for controller type - TrackedControllerRole_LeftHand = 1, // Tracked device associated with the left hand - TrackedControllerRole_RightHand = 2, // Tracked device associated with the right hand -}; - - -/** describes a single pose for a tracked object */ -struct TrackedDevicePose_t -{ - HmdMatrix34_t mDeviceToAbsoluteTracking; - HmdVector3_t vVelocity; // velocity in tracker space in m/s - HmdVector3_t vAngularVelocity; // angular velocity in radians/s (?) - ETrackingResult eTrackingResult; - bool bPoseIsValid; - - // This indicates that there is a device connected for this spot in the pose array. - // It could go from true to false if the user unplugs the device. - bool bDeviceIsConnected; -}; - -/** Identifies which style of tracking origin the application wants to use -* for the poses it is requesting */ -enum ETrackingUniverseOrigin -{ - TrackingUniverseSeated = 0, // Poses are provided relative to the seated zero pose - TrackingUniverseStanding = 1, // Poses are provided relative to the safe bounds configured by the user - TrackingUniverseRawAndUncalibrated = 2, // Poses are provided in the coordinate system defined by the driver. You probably don't want this one. -}; - - -/** Each entry in this enum represents a property that can be retrieved about a -* tracked device. Many fields are only valid for one ETrackedDeviceClass. */ -enum ETrackedDeviceProperty -{ - // general properties that apply to all device classes - Prop_TrackingSystemName_String = 1000, - Prop_ModelNumber_String = 1001, - Prop_SerialNumber_String = 1002, - Prop_RenderModelName_String = 1003, - Prop_WillDriftInYaw_Bool = 1004, - Prop_ManufacturerName_String = 1005, - Prop_TrackingFirmwareVersion_String = 1006, - Prop_HardwareRevision_String = 1007, - Prop_AllWirelessDongleDescriptions_String = 1008, - Prop_ConnectedWirelessDongle_String = 1009, - Prop_DeviceIsWireless_Bool = 1010, - Prop_DeviceIsCharging_Bool = 1011, - Prop_DeviceBatteryPercentage_Float = 1012, // 0 is empty, 1 is full - Prop_StatusDisplayTransform_Matrix34 = 1013, - Prop_Firmware_UpdateAvailable_Bool = 1014, - Prop_Firmware_ManualUpdate_Bool = 1015, - Prop_Firmware_ManualUpdateURL_String = 1016, - Prop_HardwareRevision_Uint64 = 1017, - Prop_FirmwareVersion_Uint64 = 1018, - Prop_FPGAVersion_Uint64 = 1019, - Prop_VRCVersion_Uint64 = 1020, - Prop_RadioVersion_Uint64 = 1021, - Prop_DongleVersion_Uint64 = 1022, - Prop_BlockServerShutdown_Bool = 1023, - Prop_CanUnifyCoordinateSystemWithHmd_Bool = 1024, - Prop_ContainsProximitySensor_Bool = 1025, - Prop_DeviceProvidesBatteryStatus_Bool = 1026, - Prop_DeviceCanPowerOff_Bool = 1027, - Prop_Firmware_ProgrammingTarget_String = 1028, - Prop_DeviceClass_Int32 = 1029, - Prop_HasCamera_Bool = 1030, - Prop_DriverVersion_String = 1031, - Prop_Firmware_ForceUpdateRequired_Bool = 1032, - - // Properties that are unique to TrackedDeviceClass_HMD - Prop_ReportsTimeSinceVSync_Bool = 2000, - Prop_SecondsFromVsyncToPhotons_Float = 2001, - Prop_DisplayFrequency_Float = 2002, - Prop_UserIpdMeters_Float = 2003, - Prop_CurrentUniverseId_Uint64 = 2004, - Prop_PreviousUniverseId_Uint64 = 2005, - Prop_DisplayFirmwareVersion_Uint64 = 2006, - Prop_IsOnDesktop_Bool = 2007, - Prop_DisplayMCType_Int32 = 2008, - Prop_DisplayMCOffset_Float = 2009, - Prop_DisplayMCScale_Float = 2010, - Prop_EdidVendorID_Int32 = 2011, - Prop_DisplayMCImageLeft_String = 2012, - Prop_DisplayMCImageRight_String = 2013, - Prop_DisplayGCBlackClamp_Float = 2014, - Prop_EdidProductID_Int32 = 2015, - Prop_CameraToHeadTransform_Matrix34 = 2016, - Prop_DisplayGCType_Int32 = 2017, - Prop_DisplayGCOffset_Float = 2018, - Prop_DisplayGCScale_Float = 2019, - Prop_DisplayGCPrescale_Float = 2020, - Prop_DisplayGCImage_String = 2021, - Prop_LensCenterLeftU_Float = 2022, - Prop_LensCenterLeftV_Float = 2023, - Prop_LensCenterRightU_Float = 2024, - Prop_LensCenterRightV_Float = 2025, - Prop_UserHeadToEyeDepthMeters_Float = 2026, - Prop_CameraFirmwareVersion_Uint64 = 2027, - Prop_CameraFirmwareDescription_String = 2028, - Prop_DisplayFPGAVersion_Uint64 = 2029, - Prop_DisplayBootloaderVersion_Uint64 = 2030, - Prop_DisplayHardwareVersion_Uint64 = 2031, - Prop_AudioFirmwareVersion_Uint64 = 2032, - Prop_CameraCompatibilityMode_Int32 = 2033, - Prop_ScreenshotHorizontalFieldOfViewDegrees_Float = 2034, - Prop_ScreenshotVerticalFieldOfViewDegrees_Float = 2035, - Prop_DisplaySuppressed_Bool = 2036, - - // Properties that are unique to TrackedDeviceClass_Controller - Prop_AttachedDeviceId_String = 3000, - Prop_SupportedButtons_Uint64 = 3001, - Prop_Axis0Type_Int32 = 3002, // Return value is of type EVRControllerAxisType - Prop_Axis1Type_Int32 = 3003, // Return value is of type EVRControllerAxisType - Prop_Axis2Type_Int32 = 3004, // Return value is of type EVRControllerAxisType - Prop_Axis3Type_Int32 = 3005, // Return value is of type EVRControllerAxisType - Prop_Axis4Type_Int32 = 3006, // Return value is of type EVRControllerAxisType - Prop_ControllerRoleHint_Int32 = 3007, // Return value is of type ETrackedControllerRole - - // Properties that are unique to TrackedDeviceClass_TrackingReference - Prop_FieldOfViewLeftDegrees_Float = 4000, - Prop_FieldOfViewRightDegrees_Float = 4001, - Prop_FieldOfViewTopDegrees_Float = 4002, - Prop_FieldOfViewBottomDegrees_Float = 4003, - Prop_TrackingRangeMinimumMeters_Float = 4004, - Prop_TrackingRangeMaximumMeters_Float = 4005, - Prop_ModeLabel_String = 4006, - - // Vendors are free to expose private debug data in this reserved region - Prop_VendorSpecific_Reserved_Start = 10000, - Prop_VendorSpecific_Reserved_End = 10999, -}; - -/** No string property will ever be longer than this length */ -static const uint32_t k_unMaxPropertyStringSize = 32 * 1024; - -/** Used to return errors that occur when reading properties. */ -enum ETrackedPropertyError -{ - TrackedProp_Success = 0, - TrackedProp_WrongDataType = 1, - TrackedProp_WrongDeviceClass = 2, - TrackedProp_BufferTooSmall = 3, - TrackedProp_UnknownProperty = 4, - TrackedProp_InvalidDevice = 5, - TrackedProp_CouldNotContactServer = 6, - TrackedProp_ValueNotProvidedByDevice = 7, - TrackedProp_StringExceedsMaximumLength = 8, - TrackedProp_NotYetAvailable = 9, // The property value isn't known yet, but is expected soon. Call again later. -}; - -/** Allows the application to control what part of the provided texture will be used in the -* frame buffer. */ -struct VRTextureBounds_t -{ - float uMin, vMin; - float uMax, vMax; -}; - - -/** Allows the application to control how scene textures are used by the compositor when calling Submit. */ -enum EVRSubmitFlags -{ - // Simple render path. App submits rendered left and right eye images with no lens distortion correction applied. - Submit_Default = 0x00, - - // App submits final left and right eye images with lens distortion already applied (lens distortion makes the images appear - // barrel distorted with chromatic aberration correction applied). The app would have used the data returned by - // vr::IVRSystem::ComputeDistortion() to apply the correct distortion to the rendered images before calling Submit(). - Submit_LensDistortionAlreadyApplied = 0x01, - - // If the texture pointer passed in is actually a renderbuffer (e.g. for MSAA in OpenGL) then set this flag. - Submit_GlRenderBuffer = 0x02, -}; - - -/** Status of the overall system or tracked objects */ -enum EVRState -{ - VRState_Undefined = -1, - VRState_Off = 0, - VRState_Searching = 1, - VRState_Searching_Alert = 2, - VRState_Ready = 3, - VRState_Ready_Alert = 4, - VRState_NotReady = 5, - VRState_Standby = 6, - VRState_Ready_Alert_Low = 7, -}; - -/** The types of events that could be posted (and what the parameters mean for each event type) */ -enum EVREventType -{ - VREvent_None = 0, - - VREvent_TrackedDeviceActivated = 100, - VREvent_TrackedDeviceDeactivated = 101, - VREvent_TrackedDeviceUpdated = 102, - VREvent_TrackedDeviceUserInteractionStarted = 103, - VREvent_TrackedDeviceUserInteractionEnded = 104, - VREvent_IpdChanged = 105, - VREvent_EnterStandbyMode = 106, - VREvent_LeaveStandbyMode = 107, - VREvent_TrackedDeviceRoleChanged = 108, - VREvent_WatchdogWakeUpRequested = 109, - - VREvent_ButtonPress = 200, // data is controller - VREvent_ButtonUnpress = 201, // data is controller - VREvent_ButtonTouch = 202, // data is controller - VREvent_ButtonUntouch = 203, // data is controller - - VREvent_MouseMove = 300, // data is mouse - VREvent_MouseButtonDown = 301, // data is mouse - VREvent_MouseButtonUp = 302, // data is mouse - VREvent_FocusEnter = 303, // data is overlay - VREvent_FocusLeave = 304, // data is overlay - VREvent_Scroll = 305, // data is mouse - VREvent_TouchPadMove = 306, // data is mouse - VREvent_OverlayFocusChanged = 307, // data is overlay, global event - - VREvent_InputFocusCaptured = 400, // data is process DEPRECATED - VREvent_InputFocusReleased = 401, // data is process DEPRECATED - VREvent_SceneFocusLost = 402, // data is process - VREvent_SceneFocusGained = 403, // data is process - VREvent_SceneApplicationChanged = 404, // data is process - The App actually drawing the scene changed (usually to or from the compositor) - VREvent_SceneFocusChanged = 405, // data is process - New app got access to draw the scene - VREvent_InputFocusChanged = 406, // data is process - VREvent_SceneApplicationSecondaryRenderingStarted = 407, // data is process - - VREvent_HideRenderModels = 410, // Sent to the scene application to request hiding render models temporarily - VREvent_ShowRenderModels = 411, // Sent to the scene application to request restoring render model visibility - - VREvent_OverlayShown = 500, - VREvent_OverlayHidden = 501, - VREvent_DashboardActivated = 502, - VREvent_DashboardDeactivated = 503, - VREvent_DashboardThumbSelected = 504, // Sent to the overlay manager - data is overlay - VREvent_DashboardRequested = 505, // Sent to the overlay manager - data is overlay - VREvent_ResetDashboard = 506, // Send to the overlay manager - VREvent_RenderToast = 507, // Send to the dashboard to render a toast - data is the notification ID - VREvent_ImageLoaded = 508, // Sent to overlays when a SetOverlayRaw or SetOverlayFromFile call finishes loading - VREvent_ShowKeyboard = 509, // Sent to keyboard renderer in the dashboard to invoke it - VREvent_HideKeyboard = 510, // Sent to keyboard renderer in the dashboard to hide it - VREvent_OverlayGamepadFocusGained = 511, // Sent to an overlay when IVROverlay::SetFocusOverlay is called on it - VREvent_OverlayGamepadFocusLost = 512, // Send to an overlay when it previously had focus and IVROverlay::SetFocusOverlay is called on something else - VREvent_OverlaySharedTextureChanged = 513, - VREvent_DashboardGuideButtonDown = 514, - VREvent_DashboardGuideButtonUp = 515, - VREvent_ScreenshotTriggered = 516, // Screenshot button combo was pressed, Dashboard should request a screenshot - VREvent_ImageFailed = 517, // Sent to overlays when a SetOverlayRaw or SetOverlayfromFail fails to load - - // Screenshot API - VREvent_RequestScreenshot = 520, // Sent by vrclient application to compositor to take a screenshot - VREvent_ScreenshotTaken = 521, // Sent by compositor to the application that the screenshot has been taken - VREvent_ScreenshotFailed = 522, // Sent by compositor to the application that the screenshot failed to be taken - VREvent_SubmitScreenshotToDashboard = 523, // Sent by compositor to the dashboard that a completed screenshot was submitted - VREvent_ScreenshotProgressToDashboard = 524, // Sent by compositor to the dashboard that a completed screenshot was submitted - - VREvent_Notification_Shown = 600, - VREvent_Notification_Hidden = 601, - VREvent_Notification_BeginInteraction = 602, - VREvent_Notification_Destroyed = 603, - - VREvent_Quit = 700, // data is process - VREvent_ProcessQuit = 701, // data is process - VREvent_QuitAborted_UserPrompt = 702, // data is process - VREvent_QuitAcknowledged = 703, // data is process - VREvent_DriverRequestedQuit = 704, // The driver has requested that SteamVR shut down - - VREvent_ChaperoneDataHasChanged = 800, - VREvent_ChaperoneUniverseHasChanged = 801, - VREvent_ChaperoneTempDataHasChanged = 802, - VREvent_ChaperoneSettingsHaveChanged = 803, - VREvent_SeatedZeroPoseReset = 804, - - VREvent_AudioSettingsHaveChanged = 820, - - VREvent_BackgroundSettingHasChanged = 850, - VREvent_CameraSettingsHaveChanged = 851, - VREvent_ReprojectionSettingHasChanged = 852, - VREvent_ModelSkinSettingsHaveChanged = 853, - VREvent_EnvironmentSettingsHaveChanged = 854, - - VREvent_StatusUpdate = 900, - - VREvent_MCImageUpdated = 1000, - - VREvent_FirmwareUpdateStarted = 1100, - VREvent_FirmwareUpdateFinished = 1101, - - VREvent_KeyboardClosed = 1200, - VREvent_KeyboardCharInput = 1201, - VREvent_KeyboardDone = 1202, // Sent when DONE button clicked on keyboard - - VREvent_ApplicationTransitionStarted = 1300, - VREvent_ApplicationTransitionAborted = 1301, - VREvent_ApplicationTransitionNewAppStarted = 1302, - VREvent_ApplicationListUpdated = 1303, - VREvent_ApplicationMimeTypeLoad = 1304, - - VREvent_Compositor_MirrorWindowShown = 1400, - VREvent_Compositor_MirrorWindowHidden = 1401, - VREvent_Compositor_ChaperoneBoundsShown = 1410, - VREvent_Compositor_ChaperoneBoundsHidden = 1411, - - VREvent_TrackedCamera_StartVideoStream = 1500, - VREvent_TrackedCamera_StopVideoStream = 1501, - VREvent_TrackedCamera_PauseVideoStream = 1502, - VREvent_TrackedCamera_ResumeVideoStream = 1503, - - VREvent_PerformanceTest_EnableCapture = 1600, - VREvent_PerformanceTest_DisableCapture = 1601, - VREvent_PerformanceTest_FidelityLevel = 1602, - - // Vendors are free to expose private events in this reserved region - VREvent_VendorSpecific_Reserved_Start = 10000, - VREvent_VendorSpecific_Reserved_End = 19999, -}; - - -/** Level of Hmd activity */ -enum EDeviceActivityLevel -{ - k_EDeviceActivityLevel_Unknown = -1, - k_EDeviceActivityLevel_Idle = 0, - k_EDeviceActivityLevel_UserInteraction = 1, - k_EDeviceActivityLevel_UserInteraction_Timeout = 2, - k_EDeviceActivityLevel_Standby = 3, -}; - - -/** VR controller button and axis IDs */ -enum EVRButtonId -{ - k_EButton_System = 0, - k_EButton_ApplicationMenu = 1, - k_EButton_Grip = 2, - k_EButton_DPad_Left = 3, - k_EButton_DPad_Up = 4, - k_EButton_DPad_Right = 5, - k_EButton_DPad_Down = 6, - k_EButton_A = 7, - - k_EButton_Axis0 = 32, - k_EButton_Axis1 = 33, - k_EButton_Axis2 = 34, - k_EButton_Axis3 = 35, - k_EButton_Axis4 = 36, - - // aliases for well known controllers - k_EButton_SteamVR_Touchpad = k_EButton_Axis0, - k_EButton_SteamVR_Trigger = k_EButton_Axis1, - - k_EButton_Dashboard_Back = k_EButton_Grip, - - k_EButton_Max = 64 -}; - -inline uint64_t ButtonMaskFromId( EVRButtonId id ) { return 1ull << id; } - -/** used for controller button events */ -struct VREvent_Controller_t -{ - uint32_t button; // EVRButtonId enum -}; - - -/** used for simulated mouse events in overlay space */ -enum EVRMouseButton -{ - VRMouseButton_Left = 0x0001, - VRMouseButton_Right = 0x0002, - VRMouseButton_Middle = 0x0004, -}; - - -/** used for simulated mouse events in overlay space */ -struct VREvent_Mouse_t -{ - float x, y; // co-ords are in GL space, bottom left of the texture is 0,0 - uint32_t button; // EVRMouseButton enum -}; - -/** used for simulated mouse wheel scroll in overlay space */ -struct VREvent_Scroll_t -{ - float xdelta, ydelta; // movement in fraction of the pad traversed since last delta, 1.0 for a full swipe - uint32_t repeatCount; -}; - -/** when in mouse input mode you can receive data from the touchpad, these events are only sent if the users finger - is on the touchpad (or just released from it) -**/ -struct VREvent_TouchPadMove_t -{ - // true if the users finger is detected on the touch pad - bool bFingerDown; - - // How long the finger has been down in seconds - float flSecondsFingerDown; - - // These values indicate the starting finger position (so you can do some basic swipe stuff) - float fValueXFirst; - float fValueYFirst; - - // This is the raw sampled coordinate without deadzoning - float fValueXRaw; - float fValueYRaw; -}; - -/** notification related events. Details will still change at this point */ -struct VREvent_Notification_t -{ - uint64_t ulUserValue; - uint32_t notificationId; -}; - -/** Used for events about processes */ -struct VREvent_Process_t -{ - uint32_t pid; - uint32_t oldPid; - bool bForced; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Overlay_t -{ - uint64_t overlayHandle; -}; - - -/** Used for a few events about overlays */ -struct VREvent_Status_t -{ - uint32_t statusState; // EVRState enum -}; - -/** Used for keyboard events **/ -struct VREvent_Keyboard_t -{ - char cNewInput[8]; // Up to 11 bytes of new input - uint64_t uUserValue; // Possible flags about the new input -}; - -struct VREvent_Ipd_t -{ - float ipdMeters; -}; - -struct VREvent_Chaperone_t -{ - uint64_t m_nPreviousUniverse; - uint64_t m_nCurrentUniverse; -}; - -/** Not actually used for any events */ -struct VREvent_Reserved_t -{ - uint64_t reserved0; - uint64_t reserved1; -}; - -struct VREvent_PerformanceTest_t -{ - uint32_t m_nFidelityLevel; -}; - -struct VREvent_SeatedZeroPoseReset_t -{ - bool bResetBySystemMenu; -}; - -struct VREvent_Screenshot_t -{ - uint32_t handle; - uint32_t type; -}; - -struct VREvent_ScreenshotProgress_t -{ - float progress; -}; - -struct VREvent_ApplicationLaunch_t -{ - uint32_t pid; - uint32_t unArgsHandle; -}; - -/** If you change this you must manually update openvr_interop.cs.py */ -typedef union -{ - VREvent_Reserved_t reserved; - VREvent_Controller_t controller; - VREvent_Mouse_t mouse; - VREvent_Scroll_t scroll; - VREvent_Process_t process; - VREvent_Notification_t notification; - VREvent_Overlay_t overlay; - VREvent_Status_t status; - VREvent_Keyboard_t keyboard; - VREvent_Ipd_t ipd; - VREvent_Chaperone_t chaperone; - VREvent_PerformanceTest_t performanceTest; - VREvent_TouchPadMove_t touchPadMove; - VREvent_SeatedZeroPoseReset_t seatedZeroPoseReset; - VREvent_Screenshot_t screenshot; - VREvent_ScreenshotProgress_t screenshotProgress; - VREvent_ApplicationLaunch_t applicationLaunch; -} VREvent_Data_t; - -/** An event posted by the server to all running applications */ -struct VREvent_t -{ - uint32_t eventType; // EVREventType enum - TrackedDeviceIndex_t trackedDeviceIndex; - float eventAgeSeconds; - // event data must be the end of the struct as its size is variable - VREvent_Data_t data; -}; - - -/** The mesh to draw into the stencil (or depth) buffer to perform -* early stencil (or depth) kills of pixels that will never appear on the HMD. -* This mesh draws on all the pixels that will be hidden after distortion. -* -* If the HMD does not provide a visible area mesh pVertexData will be -* NULL and unTriangleCount will be 0. */ -struct HiddenAreaMesh_t -{ - const HmdVector2_t *pVertexData; - uint32_t unTriangleCount; -}; - - -/** Identifies what kind of axis is on the controller at index n. Read this type -* with pVRSystem->Get( nControllerDeviceIndex, Prop_Axis0Type_Int32 + n ); -*/ -enum EVRControllerAxisType -{ - k_eControllerAxis_None = 0, - k_eControllerAxis_TrackPad = 1, - k_eControllerAxis_Joystick = 2, - k_eControllerAxis_Trigger = 3, // Analog trigger data is in the X axis -}; - - -/** contains information about one axis on the controller */ -struct VRControllerAxis_t -{ - float x; // Ranges from -1.0 to 1.0 for joysticks and track pads. Ranges from 0.0 to 1.0 for triggers were 0 is fully released. - float y; // Ranges from -1.0 to 1.0 for joysticks and track pads. Is always 0.0 for triggers. -}; - - -/** the number of axes in the controller state */ -static const uint32_t k_unControllerStateAxisCount = 5; - - -/** Holds all the state of a controller at one moment in time. */ -struct VRControllerState001_t -{ - // If packet num matches that on your prior call, then the controller state hasn't been changed since - // your last call and there is no need to process it - uint32_t unPacketNum; - - // bit flags for each of the buttons. Use ButtonMaskFromId to turn an ID into a mask - uint64_t ulButtonPressed; - uint64_t ulButtonTouched; - - // Axis data for the controller's analog inputs - VRControllerAxis_t rAxis[ k_unControllerStateAxisCount ]; -}; - - -typedef VRControllerState001_t VRControllerState_t; - - -/** determines how to provide output to the application of various event processing functions. */ -enum EVRControllerEventOutputType -{ - ControllerEventOutput_OSEvents = 0, - ControllerEventOutput_VREvents = 1, -}; - - - -/** Collision Bounds Style */ -enum ECollisionBoundsStyle -{ - COLLISION_BOUNDS_STYLE_BEGINNER = 0, - COLLISION_BOUNDS_STYLE_INTERMEDIATE, - COLLISION_BOUNDS_STYLE_SQUARES, - COLLISION_BOUNDS_STYLE_ADVANCED, - COLLISION_BOUNDS_STYLE_NONE, - - COLLISION_BOUNDS_STYLE_COUNT -}; - -/** Allows the application to customize how the overlay appears in the compositor */ -struct Compositor_OverlaySettings -{ - uint32_t size; // sizeof(Compositor_OverlaySettings) - bool curved, antialias; - float scale, distance, alpha; - float uOffset, vOffset, uScale, vScale; - float gridDivs, gridWidth, gridScale; - HmdMatrix44_t transform; -}; - -/** used to refer to a single VR overlay */ -typedef uint64_t VROverlayHandle_t; - -static const VROverlayHandle_t k_ulOverlayHandleInvalid = 0; - -/** Errors that can occur around VR overlays */ -enum EVROverlayError -{ - VROverlayError_None = 0, - - VROverlayError_UnknownOverlay = 10, - VROverlayError_InvalidHandle = 11, - VROverlayError_PermissionDenied = 12, - VROverlayError_OverlayLimitExceeded = 13, // No more overlays could be created because the maximum number already exist - VROverlayError_WrongVisibilityType = 14, - VROverlayError_KeyTooLong = 15, - VROverlayError_NameTooLong = 16, - VROverlayError_KeyInUse = 17, - VROverlayError_WrongTransformType = 18, - VROverlayError_InvalidTrackedDevice = 19, - VROverlayError_InvalidParameter = 20, - VROverlayError_ThumbnailCantBeDestroyed = 21, - VROverlayError_ArrayTooSmall = 22, - VROverlayError_RequestFailed = 23, - VROverlayError_InvalidTexture = 24, - VROverlayError_UnableToLoadFile = 25, - VROVerlayError_KeyboardAlreadyInUse = 26, - VROverlayError_NoNeighbor = 27, -}; - -/** enum values to pass in to VR_Init to identify whether the application will -* draw a 3D scene. */ -enum EVRApplicationType -{ - VRApplication_Other = 0, // Some other kind of application that isn't covered by the other entries - VRApplication_Scene = 1, // Application will submit 3D frames - VRApplication_Overlay = 2, // Application only interacts with overlays - VRApplication_Background = 3, // Application should not start SteamVR if it's not already running, and should not - // keep it running if everything else quits. - VRApplication_Utility = 4, // Init should not try to load any drivers. The application needs access to utility - // interfaces (like IVRSettings and IVRApplications) but not hardware. - VRApplication_VRMonitor = 5, // Reserved for vrmonitor - VRApplication_SteamWatchdog = 6,// Reserved for Steam - - VRApplication_Max -}; - - -/** error codes for firmware */ -enum EVRFirmwareError -{ - VRFirmwareError_None = 0, - VRFirmwareError_Success = 1, - VRFirmwareError_Fail = 2, -}; - - -/** error codes for notifications */ -enum EVRNotificationError -{ - VRNotificationError_OK = 0, - VRNotificationError_InvalidNotificationId = 100, - VRNotificationError_NotificationQueueFull = 101, - VRNotificationError_InvalidOverlayHandle = 102, - VRNotificationError_SystemWithUserValueAlreadyExists = 103, -}; - - -/** error codes returned by Vr_Init */ - -// Please add adequate error description to https://developer.valvesoftware.com/w/index.php?title=Category:SteamVRHelp -enum EVRInitError -{ - VRInitError_None = 0, - VRInitError_Unknown = 1, - - VRInitError_Init_InstallationNotFound = 100, - VRInitError_Init_InstallationCorrupt = 101, - VRInitError_Init_VRClientDLLNotFound = 102, - VRInitError_Init_FileNotFound = 103, - VRInitError_Init_FactoryNotFound = 104, - VRInitError_Init_InterfaceNotFound = 105, - VRInitError_Init_InvalidInterface = 106, - VRInitError_Init_UserConfigDirectoryInvalid = 107, - VRInitError_Init_HmdNotFound = 108, - VRInitError_Init_NotInitialized = 109, - VRInitError_Init_PathRegistryNotFound = 110, - VRInitError_Init_NoConfigPath = 111, - VRInitError_Init_NoLogPath = 112, - VRInitError_Init_PathRegistryNotWritable = 113, - VRInitError_Init_AppInfoInitFailed = 114, - VRInitError_Init_Retry = 115, // Used internally to cause retries to vrserver - VRInitError_Init_InitCanceledByUser = 116, // The calling application should silently exit. The user canceled app startup - VRInitError_Init_AnotherAppLaunching = 117, - VRInitError_Init_SettingsInitFailed = 118, - VRInitError_Init_ShuttingDown = 119, - VRInitError_Init_TooManyObjects = 120, - VRInitError_Init_NoServerForBackgroundApp = 121, - VRInitError_Init_NotSupportedWithCompositor = 122, - VRInitError_Init_NotAvailableToUtilityApps = 123, - VRInitError_Init_Internal = 124, - VRInitError_Init_HmdDriverIdIsNone = 125, - VRInitError_Init_HmdNotFoundPresenceFailed = 126, - VRInitError_Init_VRMonitorNotFound = 127, - VRInitError_Init_VRMonitorStartupFailed = 128, - VRInitError_Init_LowPowerWatchdogNotSupported = 129, - VRInitError_Init_InvalidApplicationType = 130, - VRInitError_Init_NotAvailableToWatchdogApps = 131, - VRInitError_Init_WatchdogDisabledInSettings = 132, - - VRInitError_Driver_Failed = 200, - VRInitError_Driver_Unknown = 201, - VRInitError_Driver_HmdUnknown = 202, - VRInitError_Driver_NotLoaded = 203, - VRInitError_Driver_RuntimeOutOfDate = 204, - VRInitError_Driver_HmdInUse = 205, - VRInitError_Driver_NotCalibrated = 206, - VRInitError_Driver_CalibrationInvalid = 207, - VRInitError_Driver_HmdDisplayNotFound = 208, - VRInitError_Driver_TrackedDeviceInterfaceUnknown = 209, - // VRInitError_Driver_HmdDisplayNotFoundAfterFix = 210, // not needed: here for historic reasons - VRInitError_Driver_HmdDriverIdOutOfBounds = 211, - VRInitError_Driver_HmdDisplayMirrored = 212, - - VRInitError_IPC_ServerInitFailed = 300, - VRInitError_IPC_ConnectFailed = 301, - VRInitError_IPC_SharedStateInitFailed = 302, - VRInitError_IPC_CompositorInitFailed = 303, - VRInitError_IPC_MutexInitFailed = 304, - VRInitError_IPC_Failed = 305, - VRInitError_IPC_CompositorConnectFailed = 306, - VRInitError_IPC_CompositorInvalidConnectResponse = 307, - VRInitError_IPC_ConnectFailedAfterMultipleAttempts = 308, - - VRInitError_Compositor_Failed = 400, - VRInitError_Compositor_D3D11HardwareRequired = 401, - VRInitError_Compositor_FirmwareRequiresUpdate = 402, - VRInitError_Compositor_OverlayInitFailed = 403, - VRInitError_Compositor_ScreenshotsInitFailed = 404, - - VRInitError_VendorSpecific_UnableToConnectToOculusRuntime = 1000, - - VRInitError_VendorSpecific_HmdFound_CantOpenDevice = 1101, - VRInitError_VendorSpecific_HmdFound_UnableToRequestConfigStart = 1102, - VRInitError_VendorSpecific_HmdFound_NoStoredConfig = 1103, - VRInitError_VendorSpecific_HmdFound_ConfigTooBig = 1104, - VRInitError_VendorSpecific_HmdFound_ConfigTooSmall = 1105, - VRInitError_VendorSpecific_HmdFound_UnableToInitZLib = 1106, - VRInitError_VendorSpecific_HmdFound_CantReadFirmwareVersion = 1107, - VRInitError_VendorSpecific_HmdFound_UnableToSendUserDataStart = 1108, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataStart = 1109, - VRInitError_VendorSpecific_HmdFound_UnableToGetUserDataNext = 1110, - VRInitError_VendorSpecific_HmdFound_UserDataAddressRange = 1111, - VRInitError_VendorSpecific_HmdFound_UserDataError = 1112, - VRInitError_VendorSpecific_HmdFound_ConfigFailedSanityCheck = 1113, - - VRInitError_Steam_SteamInstallationNotFound = 2000, -}; - -enum EVRScreenshotType -{ - VRScreenshotType_None = 0, - VRScreenshotType_Mono = 1, // left eye only - VRScreenshotType_Stereo = 2, - VRScreenshotType_Cubemap = 3, - VRScreenshotType_MonoPanorama = 4, - VRScreenshotType_StereoPanorama = 5 -}; - -enum EVRScreenshotPropertyFilenames -{ - VRScreenshotPropertyFilenames_Preview = 0, - VRScreenshotPropertyFilenames_VR = 1, -}; - -enum EVRTrackedCameraError -{ - VRTrackedCameraError_None = 0, - VRTrackedCameraError_OperationFailed = 100, - VRTrackedCameraError_InvalidHandle = 101, - VRTrackedCameraError_InvalidFrameHeaderVersion = 102, - VRTrackedCameraError_OutOfHandles = 103, - VRTrackedCameraError_IPCFailure = 104, - VRTrackedCameraError_NotSupportedForThisDevice = 105, - VRTrackedCameraError_SharedMemoryFailure = 106, - VRTrackedCameraError_FrameBufferingFailure = 107, - VRTrackedCameraError_StreamSetupFailure = 108, - VRTrackedCameraError_InvalidGLTextureId = 109, - VRTrackedCameraError_InvalidSharedTextureHandle = 110, - VRTrackedCameraError_FailedToGetGLTextureId = 111, - VRTrackedCameraError_SharedTextureFailure = 112, - VRTrackedCameraError_NoFrameAvailable = 113, - VRTrackedCameraError_InvalidArgument = 114, - VRTrackedCameraError_InvalidFrameBufferSize = 115, -}; - -enum EVRTrackedCameraFrameType -{ - VRTrackedCameraFrameType_Distorted = 0, // This is the camera video frame size in pixels, still distorted. - VRTrackedCameraFrameType_Undistorted, // In pixels, an undistorted inscribed rectangle region without invalid regions. This size is subject to changes shortly. - VRTrackedCameraFrameType_MaximumUndistorted, // In pixels, maximum undistorted with invalid regions. Non zero alpha component identifies valid regions. - MAX_CAMERA_FRAME_TYPES -}; - -typedef uint64_t TrackedCameraHandle_t; -#define INVALID_TRACKED_CAMERA_HANDLE ((vr::TrackedCameraHandle_t)0) - -struct CameraVideoStreamFrameHeader_t -{ - EVRTrackedCameraFrameType eFrameType; - - uint32_t nWidth; - uint32_t nHeight; - uint32_t nBytesPerPixel; - - uint32_t nFrameSequence; - - TrackedDevicePose_t standingTrackedDevicePose; -}; - -// Screenshot types -typedef uint32_t ScreenshotHandle_t; - -static const uint32_t k_unScreenshotHandleInvalid = 0; - -#pragma pack( pop ) - -// figure out how to import from the VR API dll -#if defined(_WIN32) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __declspec( dllexport ) -#else -#define VR_INTERFACE extern "C" __declspec( dllimport ) -#endif - -#elif defined(__GNUC__) || defined(COMPILER_GCC) || defined(__APPLE__) - -#ifdef VR_API_EXPORT -#define VR_INTERFACE extern "C" __attribute__((visibility("default"))) -#else -#define VR_INTERFACE extern "C" -#endif - -#else -#error "Unsupported Platform." -#endif - - -#if defined( _WIN32 ) -#define VR_CALLTYPE __cdecl -#else -#define VR_CALLTYPE -#endif - -} // namespace vr - -#endif // _INCLUDE_VRTYPES_H - - -// vrannotation.h -#ifdef API_GEN -# define VR_CLANG_ATTR(ATTR) __attribute__((annotate( ATTR ))) -#else -# define VR_CLANG_ATTR(ATTR) -#endif - -#define VR_METHOD_DESC(DESC) VR_CLANG_ATTR( "desc:" #DESC ";" ) -#define VR_IGNOREATTR() VR_CLANG_ATTR( "ignore" ) -#define VR_OUT_STRUCT() VR_CLANG_ATTR( "out_struct: ;" ) -#define VR_OUT_STRING() VR_CLANG_ATTR( "out_string: ;" ) -#define VR_OUT_ARRAY_CALL(COUNTER,FUNCTION,PARAMS) VR_CLANG_ATTR( "out_array_call:" #COUNTER "," #FUNCTION "," #PARAMS ";" ) -#define VR_OUT_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "out_array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT(COUNTER) VR_CLANG_ATTR( "array_count:" #COUNTER ";" ) -#define VR_ARRAY_COUNT_D(COUNTER, DESC) VR_CLANG_ATTR( "array_count:" #COUNTER ";desc:" #DESC ) -#define VR_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "buffer_count:" #COUNTER ";" ) -#define VR_OUT_BUFFER_COUNT(COUNTER) VR_CLANG_ATTR( "out_buffer_count:" #COUNTER ";" ) -#define VR_OUT_STRING_COUNT(COUNTER) VR_CLANG_ATTR( "out_string_count:" #COUNTER ";" ) - -// ivrsystem.h -namespace vr -{ - -class IVRSystem -{ -public: - - - // ------------------------------------ - // Display Methods - // ------------------------------------ - - /** Suggested size for the intermediate render target that the distortion pulls from. */ - virtual void GetRecommendedRenderTargetSize( uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** The projection matrix for the specified eye */ - virtual HmdMatrix44_t GetProjectionMatrix( EVREye eEye, float fNearZ, float fFarZ, EGraphicsAPIConvention eProjType ) = 0; - - /** The components necessary to build your own projection matrix in case your - * application is doing something fancy like infinite Z */ - virtual void GetProjectionRaw( EVREye eEye, float *pfLeft, float *pfRight, float *pfTop, float *pfBottom ) = 0; - - /** Returns the result of the distortion function for the specified eye and input UVs. UVs go from 0,0 in - * the upper left of that eye's viewport and 1,1 in the lower right of that eye's viewport. */ - virtual DistortionCoordinates_t ComputeDistortion( EVREye eEye, float fU, float fV ) = 0; - - /** Returns the transform from eye space to the head space. Eye space is the per-eye flavor of head - * space that provides stereo disparity. Instead of Model * View * Projection the sequence is Model * View * Eye^-1 * Projection. - * Normally View and Eye^-1 will be multiplied together and treated as View in your application. - */ - virtual HmdMatrix34_t GetEyeToHeadTransform( EVREye eEye ) = 0; - - /** Returns the number of elapsed seconds since the last recorded vsync event. This - * will come from a vsync timer event in the timer if possible or from the application-reported - * time if that is not available. If no vsync times are available the function will - * return zero for vsync time and frame counter and return false from the method. */ - virtual bool GetTimeSinceLastVsync( float *pfSecondsSinceLastVsync, uint64_t *pulFrameCounter ) = 0; - - /** [D3D9 Only] - * Returns the adapter index that the user should pass into CreateDevice to set up D3D9 in such - * a way that it can go full screen exclusive on the HMD. Returns -1 if there was an error. - */ - virtual int32_t GetD3D9AdapterIndex() = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex ) = 0; - - // ------------------------------------ - // Display Mode methods - // ------------------------------------ - - /** Use to determine if the headset display is part of the desktop (i.e. extended) or hidden (i.e. direct mode). */ - virtual bool IsDisplayOnDesktop() = 0; - - /** Set the display visibility (true = extended, false = direct mode). Return value of true indicates that the change was successful. */ - virtual bool SetDisplayVisibility( bool bIsVisibleOnDesktop ) = 0; - - // ------------------------------------ - // Tracking Methods - // ------------------------------------ - - /** The pose that the tracker thinks that the HMD will be in at the specified number of seconds into the - * future. Pass 0 to get the state at the instant the method is called. Most of the time the application should - * calculate the time until the photons will be emitted from the display and pass that time into the method. - * - * This is roughly analogous to the inverse of the view matrix in most applications, though - * many games will need to do some additional rotation or translation on top of the rotation - * and translation provided by the head pose. - * - * For devices where bPoseIsValid is true the application can use the pose to position the device - * in question. The provided array can be any size up to k_unMaxTrackedDeviceCount. - * - * Seated experiences should call this method with TrackingUniverseSeated and receive poses relative - * to the seated zero pose. Standing experiences should call this method with TrackingUniverseStanding - * and receive poses relative to the Chaperone Play Area. TrackingUniverseRawAndUncalibrated should - * probably not be used unless the application is the Chaperone calibration tool itself, but will provide - * poses relative to the hardware-specific coordinate system in the driver. - */ - virtual void GetDeviceToAbsoluteTrackingPose( ETrackingUniverseOrigin eOrigin, float fPredictedSecondsToPhotonsFromNow, VR_ARRAY_COUNT(unTrackedDevicePoseArrayCount) TrackedDevicePose_t *pTrackedDevicePoseArray, uint32_t unTrackedDevicePoseArrayCount ) = 0; - - /** Sets the zero pose for the seated tracker coordinate system to the current position and yaw of the HMD. After - * ResetSeatedZeroPose all GetDeviceToAbsoluteTrackingPose calls that pass TrackingUniverseSeated as the origin - * will be relative to this new zero pose. The new zero coordinate system will not change the fact that the Y axis - * is up in the real world, so the next pose returned from GetDeviceToAbsoluteTrackingPose after a call to - * ResetSeatedZeroPose may not be exactly an identity matrix. - * - * NOTE: This function overrides the user's previously saved seated zero pose and should only be called as the result of a user action. - * Users are also able to set their seated zero pose via the OpenVR Dashboard. - **/ - virtual void ResetSeatedZeroPose() = 0; - - /** Returns the transform from the seated zero pose to the standing absolute tracking system. This allows - * applications to represent the seated origin to used or transform object positions from one coordinate - * system to the other. - * - * The seated origin may or may not be inside the Play Area or Collision Bounds returned by IVRChaperone. Its position - * depends on what the user has set from the Dashboard settings and previous calls to ResetSeatedZeroPose. */ - virtual HmdMatrix34_t GetSeatedZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Returns the transform from the tracking origin to the standing absolute tracking system. This allows - * applications to convert from raw tracking space to the calibrated standing coordinate system. */ - virtual HmdMatrix34_t GetRawZeroPoseToStandingAbsoluteTrackingPose() = 0; - - /** Get a sorted array of device indices of a given class of tracked devices (e.g. controllers). Devices are sorted right to left - * relative to the specified tracked device (default: hmd -- pass in -1 for absolute tracking space). Returns the number of devices - * in the list, or the size of the array needed if not large enough. */ - virtual uint32_t GetSortedTrackedDeviceIndicesOfClass( ETrackedDeviceClass eTrackedDeviceClass, VR_ARRAY_COUNT(unTrackedDeviceIndexArrayCount) vr::TrackedDeviceIndex_t *punTrackedDeviceIndexArray, uint32_t unTrackedDeviceIndexArrayCount, vr::TrackedDeviceIndex_t unRelativeToTrackedDeviceIndex = k_unTrackedDeviceIndex_Hmd ) = 0; - - /** Returns the level of activity on the device. */ - virtual EDeviceActivityLevel GetTrackedDeviceActivityLevel( vr::TrackedDeviceIndex_t unDeviceId ) = 0; - - /** Convenience utility to apply the specified transform to the specified pose. - * This properly transforms all pose components, including velocity and angular velocity - */ - virtual void ApplyTransform( TrackedDevicePose_t *pOutputPose, const TrackedDevicePose_t *pTrackedDevicePose, const HmdMatrix34_t *pTransform ) = 0; - - /** Returns the device index associated with a specific role, for example the left hand or the right hand. */ - virtual vr::TrackedDeviceIndex_t GetTrackedDeviceIndexForControllerRole( vr::ETrackedControllerRole unDeviceType ) = 0; - - /** Returns the controller type associated with a device index. */ - virtual vr::ETrackedControllerRole GetControllerRoleForTrackedDeviceIndex( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - // ------------------------------------ - // Property methods - // ------------------------------------ - - /** Returns the device class of a tracked device. If there has not been a device connected in this slot - * since the application started this function will return TrackedDevice_Invalid. For previous detected - * devices the function will return the previously observed device class. - * - * To determine which devices exist on the system, just loop from 0 to k_unMaxTrackedDeviceCount and check - * the device class. Every device with something other than TrackedDevice_Invalid is associated with an - * actual tracked device. */ - virtual ETrackedDeviceClass GetTrackedDeviceClass( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns true if there is a device connected in this slot. */ - virtual bool IsTrackedDeviceConnected( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - /** Returns a bool property. If the device index is not valid or the property is not a bool type this function will return false. */ - virtual bool GetBoolTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a float property. If the device index is not valid or the property is not a float type this function will return 0. */ - virtual float GetFloatTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns an int property. If the device index is not valid or the property is not a int type this function will return 0. */ - virtual int32_t GetInt32TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a uint64 property. If the device index is not valid or the property is not a uint64 type this function will return 0. */ - virtual uint64_t GetUint64TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a matrix property. If the device index is not valid or the property is not a matrix type, this function will return identity. */ - virtual HmdMatrix34_t GetMatrix34TrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, ETrackedPropertyError *pError = 0L ) = 0; - - /** Returns a string property. If the device index is not valid or the property is not a string type this function will - * return 0. Otherwise it returns the length of the number of bytes necessary to hold this string including the trailing - * null. Strings will generally fit in buffers of k_unTrackingStringSize characters. */ - virtual uint32_t GetStringTrackedDeviceProperty( vr::TrackedDeviceIndex_t unDeviceIndex, ETrackedDeviceProperty prop, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, ETrackedPropertyError *pError = 0L ) = 0; - - /** returns a string that corresponds with the specified property error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetPropErrorNameFromEnum( ETrackedPropertyError error ) = 0; - - // ------------------------------------ - // Event methods - // ------------------------------------ - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEvent( VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns true and fills the event with the next event on the queue if there is one. If there are no events - * this method returns false. Fills in the pose of the associated tracked device in the provided pose struct. - * This pose will always be older than the call to this function and should not be used to render the device. - uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextEventWithPose( ETrackingUniverseOrigin eOrigin, VREvent_t *pEvent, uint32_t uncbVREvent, vr::TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** returns the name of an EVREvent enum value */ - virtual const char *GetEventTypeNameFromEnum( EVREventType eType ) = 0; - - // ------------------------------------ - // Rendering helper methods - // ------------------------------------ - - /** Returns the stencil mesh information for the current HMD. If this HMD does not have a stencil mesh the vertex data and count will be - * NULL and 0 respectively. This mesh is meant to be rendered into the stencil buffer (or into the depth buffer setting nearz) before rendering - * each eye's view. The pixels covered by this mesh will never be seen by the user after the lens distortion is applied and based on visibility to the panels. - * This will improve perf by letting the GPU early-reject pixels the user will never see before running the pixel shader. - * NOTE: Render this mesh with backface culling disabled since the winding order of the vertices can be different per-HMD or per-eye. - */ - virtual HiddenAreaMesh_t GetHiddenAreaMesh( EVREye eEye ) = 0; - - - // ------------------------------------ - // Controller methods - // ------------------------------------ - - /** Fills the supplied struct with the current state of the controller. Returns false if the controller index - * is invalid. */ - virtual bool GetControllerState( vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState ) = 0; - - /** fills the supplied struct with the current state of the controller and the provided pose with the pose of - * the controller when the controller state was updated most recently. Use this form if you need a precise controller - * pose as input to your application when the user presses or releases a button. */ - virtual bool GetControllerStateWithPose( ETrackingUniverseOrigin eOrigin, vr::TrackedDeviceIndex_t unControllerDeviceIndex, vr::VRControllerState_t *pControllerState, TrackedDevicePose_t *pTrackedDevicePose ) = 0; - - /** Trigger a single haptic pulse on a controller. After this call the application may not trigger another haptic pulse on this controller - * and axis combination for 5ms. */ - virtual void TriggerHapticPulse( vr::TrackedDeviceIndex_t unControllerDeviceIndex, uint32_t unAxisId, unsigned short usDurationMicroSec ) = 0; - - /** returns the name of an EVRButtonId enum value */ - virtual const char *GetButtonIdNameFromEnum( EVRButtonId eButtonId ) = 0; - - /** returns the name of an EVRControllerAxisType enum value */ - virtual const char *GetControllerAxisTypeNameFromEnum( EVRControllerAxisType eAxisType ) = 0; - - /** Tells OpenVR that this process wants exclusive access to controller button states and button events. Other apps will be notified that - * they have lost input focus with a VREvent_InputFocusCaptured event. Returns false if input focus could not be captured for - * some reason. */ - virtual bool CaptureInputFocus() = 0; - - /** Tells OpenVR that this process no longer wants exclusive access to button states and button events. Other apps will be notified - * that input focus has been released with a VREvent_InputFocusReleased event. */ - virtual void ReleaseInputFocus() = 0; - - /** Returns true if input focus is captured by another process. */ - virtual bool IsInputFocusCapturedByAnotherProcess() = 0; - - // ------------------------------------ - // Debug Methods - // ------------------------------------ - - /** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k, - * but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated. - * The size of the response including its terminating null is returned. */ - virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0; - - - // ------------------------------------ - // Firmware methods - // ------------------------------------ - - /** Performs the actual firmware update if applicable. - * The following events will be sent, if VRFirmwareError_None was returned: VREvent_FirmwareUpdateStarted, VREvent_FirmwareUpdateFinished - * Use the properties Prop_Firmware_UpdateAvailable_Bool, Prop_Firmware_ManualUpdate_Bool, and Prop_Firmware_ManualUpdateURL_String - * to figure our whether a firmware update is available, and to figure out whether its a manual update - * Prop_Firmware_ManualUpdateURL_String should point to an URL describing the manual update process */ - virtual vr::EVRFirmwareError PerformFirmwareUpdate( vr::TrackedDeviceIndex_t unDeviceIndex ) = 0; - - - // ------------------------------------ - // Application life cycle methods - // ------------------------------------ - - /** Call this to acknowledge to the system that VREvent_Quit has been received and that the process is exiting. - * This extends the timeout until the process is killed. */ - virtual void AcknowledgeQuit_Exiting() = 0; - - /** Call this to tell the system that the user is being prompted to save data. This - * halts the timeout and dismisses the dashboard (if it was up). Applications should be sure to actually - * prompt the user to save and then exit afterward, otherwise the user will be left in a confusing state. */ - virtual void AcknowledgeQuit_UserPrompt() = 0; - -}; - -static const char * const IVRSystem_Version = "IVRSystem_012"; - -} - - -// ivrapplications.h -namespace vr -{ - - /** Used for all errors reported by the IVRApplications interface */ - enum EVRApplicationError - { - VRApplicationError_None = 0, - - VRApplicationError_AppKeyAlreadyExists = 100, // Only one application can use any given key - VRApplicationError_NoManifest = 101, // the running application does not have a manifest - VRApplicationError_NoApplication = 102, // No application is running - VRApplicationError_InvalidIndex = 103, - VRApplicationError_UnknownApplication = 104, // the application could not be found - VRApplicationError_IPCFailed = 105, // An IPC failure caused the request to fail - VRApplicationError_ApplicationAlreadyRunning = 106, - VRApplicationError_InvalidManifest = 107, - VRApplicationError_InvalidApplication = 108, - VRApplicationError_LaunchFailed = 109, // the process didn't start - VRApplicationError_ApplicationAlreadyStarting = 110, // the system was already starting the same application - VRApplicationError_LaunchInProgress = 111, // The system was already starting a different application - VRApplicationError_OldApplicationQuitting = 112, - VRApplicationError_TransitionAborted = 113, - VRApplicationError_IsTemplate = 114, // error when you try to call LaunchApplication() on a template type app (use LaunchTemplateApplication) - - VRApplicationError_BufferTooSmall = 200, // The provided buffer was too small to fit the requested data - VRApplicationError_PropertyNotSet = 201, // The requested property was not set - VRApplicationError_UnknownProperty = 202, - VRApplicationError_InvalidParameter = 203, - }; - - /** The maximum length of an application key */ - static const uint32_t k_unMaxApplicationKeyLength = 128; - - /** these are the properties available on applications. */ - enum EVRApplicationProperty - { - VRApplicationProperty_Name_String = 0, - - VRApplicationProperty_LaunchType_String = 11, - VRApplicationProperty_WorkingDirectory_String = 12, - VRApplicationProperty_BinaryPath_String = 13, - VRApplicationProperty_Arguments_String = 14, - VRApplicationProperty_URL_String = 15, - - VRApplicationProperty_Description_String = 50, - VRApplicationProperty_NewsURL_String = 51, - VRApplicationProperty_ImagePath_String = 52, - VRApplicationProperty_Source_String = 53, - - VRApplicationProperty_IsDashboardOverlay_Bool = 60, - VRApplicationProperty_IsTemplate_Bool = 61, - VRApplicationProperty_IsInstanced_Bool = 62, - - VRApplicationProperty_LastLaunchTime_Uint64 = 70, - }; - - /** These are states the scene application startup process will go through. */ - enum EVRApplicationTransitionState - { - VRApplicationTransition_None = 0, - - VRApplicationTransition_OldAppQuitSent = 10, - VRApplicationTransition_WaitingForExternalLaunch = 11, - - VRApplicationTransition_NewAppLaunched = 20, - }; - - struct AppOverrideKeys_t - { - const char *pchKey; - const char *pchValue; - }; - - class IVRApplications - { - public: - - // --------------- Application management --------------- // - - /** Adds an application manifest to the list to load when building the list of installed applications. - * Temporary manifests are not automatically loaded */ - virtual EVRApplicationError AddApplicationManifest( const char *pchApplicationManifestFullPath, bool bTemporary = false ) = 0; - - /** Removes an application manifest from the list to load when building the list of installed applications. */ - virtual EVRApplicationError RemoveApplicationManifest( const char *pchApplicationManifestFullPath ) = 0; - - /** Returns true if an application is installed */ - virtual bool IsApplicationInstalled( const char *pchAppKey ) = 0; - - /** Returns the number of applications available in the list */ - virtual uint32_t GetApplicationCount() = 0; - - /** Returns the key of the specified application. The index is at least 0 and is less than the return - * value of GetApplicationCount(). The buffer should be at least k_unMaxApplicationKeyLength in order to - * fit the key. */ - virtual EVRApplicationError GetApplicationKeyByIndex( uint32_t unApplicationIndex, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the key of the application for the specified Process Id. The buffer should be at least - * k_unMaxApplicationKeyLength in order to fit the key. */ - virtual EVRApplicationError GetApplicationKeyByProcessId( uint32_t unProcessId, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Launches the application. The existing scene application will exit and then the new application will start. - * This call is not valid for dashboard overlay applications. */ - virtual EVRApplicationError LaunchApplication( const char *pchAppKey ) = 0; - - /** Launches an instance of an application of type template, with its app key being pchNewAppKey (which must be unique) and optionally override sections - * from the manifest file via AppOverrideKeys_t - */ - virtual EVRApplicationError LaunchTemplateApplication( const char *pchTemplateAppKey, const char *pchNewAppKey, VR_ARRAY_COUNT( unKeys ) const AppOverrideKeys_t *pKeys, uint32_t unKeys ) = 0; - - /** launches the application currently associated with this mime type and passes it the option args, typically the filename or object name of the item being launched */ - virtual vr::EVRApplicationError LaunchApplicationFromMimeType( const char *pchMimeType, const char *pchArgs ) = 0; - - /** Launches the dashboard overlay application if it is not already running. This call is only valid for - * dashboard overlay applications. */ - virtual EVRApplicationError LaunchDashboardOverlay( const char *pchAppKey ) = 0; - - /** Cancel a pending launch for an application */ - virtual bool CancelApplicationLaunch( const char *pchAppKey ) = 0; - - /** Identifies a running application. OpenVR can't always tell which process started in response - * to a URL. This function allows a URL handler (or the process itself) to identify the app key - * for the now running application. Passing a process ID of 0 identifies the calling process. - * The application must be one that's known to the system via a call to AddApplicationManifest. */ - virtual EVRApplicationError IdentifyApplication( uint32_t unProcessId, const char *pchAppKey ) = 0; - - /** Returns the process ID for an application. Return 0 if the application was not found or is not running. */ - virtual uint32_t GetApplicationProcessId( const char *pchAppKey ) = 0; - - /** Returns a string for an applications error */ - virtual const char *GetApplicationsErrorNameFromEnum( EVRApplicationError error ) = 0; - - // --------------- Application properties --------------- // - - /** Returns a value for an application property. The required buffer size to fit this value will be returned. */ - virtual uint32_t GetApplicationPropertyString( const char *pchAppKey, EVRApplicationProperty eProperty, char *pchPropertyValueBuffer, uint32_t unPropertyValueBufferLen, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a bool value for an application property. Returns false in all error cases. */ - virtual bool GetApplicationPropertyBool( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Returns a uint64 value for an application property. Returns 0 in all error cases. */ - virtual uint64_t GetApplicationPropertyUint64( const char *pchAppKey, EVRApplicationProperty eProperty, EVRApplicationError *peError = nullptr ) = 0; - - /** Sets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual EVRApplicationError SetApplicationAutoLaunch( const char *pchAppKey, bool bAutoLaunch ) = 0; - - /** Gets the application auto-launch flag. This is only valid for applications which return true for VRApplicationProperty_IsDashboardOverlay_Bool. */ - virtual bool GetApplicationAutoLaunch( const char *pchAppKey ) = 0; - - /** Adds this mime-type to the list of supported mime types for this application*/ - virtual EVRApplicationError SetDefaultApplicationForMimeType( const char *pchAppKey, const char *pchMimeType ) = 0; - - /** return the app key that will open this mime type */ - virtual bool GetDefaultApplicationForMimeType( const char *pchMimeType, char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Get the list of supported mime types for this application, comma-delimited */ - virtual bool GetApplicationSupportedMimeTypes( const char *pchAppKey, char *pchMimeTypesBuffer, uint32_t unMimeTypesBuffer ) = 0; - - /** Get the list of app-keys that support this mime type, comma-delimited, the return value is number of bytes you need to return the full string */ - virtual uint32_t GetApplicationsThatSupportMimeType( const char *pchMimeType, char *pchAppKeysThatSupportBuffer, uint32_t unAppKeysThatSupportBuffer ) = 0; - - /** Get the args list from an app launch that had the process already running, you call this when you get a VREvent_ApplicationMimeTypeLoad */ - virtual uint32_t GetApplicationLaunchArguments( uint32_t unHandle, char *pchArgs, uint32_t unArgs ) = 0; - - // --------------- Transition methods --------------- // - - /** Returns the app key for the application that is starting up */ - virtual EVRApplicationError GetStartingApplication( char *pchAppKeyBuffer, uint32_t unAppKeyBufferLen ) = 0; - - /** Returns the application transition state */ - virtual EVRApplicationTransitionState GetTransitionState() = 0; - - /** Returns errors that would prevent the specified application from launching immediately. Calling this function will - * cause the current scene application to quit, so only call it when you are actually about to launch something else. - * What the caller should do about these failures depends on the failure: - * VRApplicationError_OldApplicationQuitting - An existing application has been told to quit. Wait for a VREvent_ProcessQuit - * and try again. - * VRApplicationError_ApplicationAlreadyStarting - This application is already starting. This is a permanent failure. - * VRApplicationError_LaunchInProgress - A different application is already starting. This is a permanent failure. - * VRApplicationError_None - Go ahead and launch. Everything is clear. - */ - virtual EVRApplicationError PerformApplicationPrelaunchCheck( const char *pchAppKey ) = 0; - - /** Returns a string for an application transition state */ - virtual const char *GetApplicationsTransitionStateNameFromEnum( EVRApplicationTransitionState state ) = 0; - - /** Returns true if the outgoing scene app has requested a save prompt before exiting */ - virtual bool IsQuitUserPromptRequested() = 0; - - /** Starts a subprocess within the calling application. This - * suppresses all application transition UI and automatically identifies the new executable - * as part of the same application. On success the calling process should exit immediately. - * If working directory is NULL or "" the directory portion of the binary path will be - * the working directory. */ - virtual EVRApplicationError LaunchInternalProcess( const char *pchBinaryPath, const char *pchArguments, const char *pchWorkingDirectory ) = 0; - }; - - static const char * const IVRApplications_Version = "IVRApplications_006"; - -} // namespace vr - -// ivrsettings.h -namespace vr -{ - enum EVRSettingsError - { - VRSettingsError_None = 0, - VRSettingsError_IPCFailed = 1, - VRSettingsError_WriteFailed = 2, - VRSettingsError_ReadFailed = 3, - }; - - // The maximum length of a settings key - static const uint32_t k_unMaxSettingsKeyLength = 128; - - class IVRSettings - { - public: - virtual const char *GetSettingsErrorNameFromEnum( EVRSettingsError eError ) = 0; - - // Returns true if file sync occurred (force or settings dirty) - virtual bool Sync( bool bForce = false, EVRSettingsError *peError = nullptr ) = 0; - - virtual bool GetBool( const char *pchSection, const char *pchSettingsKey, bool bDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetBool( const char *pchSection, const char *pchSettingsKey, bool bValue, EVRSettingsError *peError = nullptr ) = 0; - virtual int32_t GetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetInt32( const char *pchSection, const char *pchSettingsKey, int32_t nValue, EVRSettingsError *peError = nullptr ) = 0; - virtual float GetFloat( const char *pchSection, const char *pchSettingsKey, float flDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetFloat( const char *pchSection, const char *pchSettingsKey, float flValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void GetString( const char *pchSection, const char *pchSettingsKey, VR_OUT_STRING() char *pchValue, uint32_t unValueLen, const char *pchDefaultValue, EVRSettingsError *peError = nullptr ) = 0; - virtual void SetString( const char *pchSection, const char *pchSettingsKey, const char *pchValue, EVRSettingsError *peError = nullptr ) = 0; - - virtual void RemoveSection( const char *pchSection, EVRSettingsError *peError = nullptr ) = 0; - virtual void RemoveKeyInSection( const char *pchSection, const char *pchSettingsKey, EVRSettingsError *peError = nullptr ) = 0; - }; - - //----------------------------------------------------------------------------- - static const char * const IVRSettings_Version = "IVRSettings_001"; - - //----------------------------------------------------------------------------- - // steamvr keys - - static const char * const k_pch_SteamVR_Section = "steamvr"; - static const char * const k_pch_SteamVR_RequireHmd_String = "requireHmd"; - static const char * const k_pch_SteamVR_ForcedDriverKey_String = "forcedDriver"; - static const char * const k_pch_SteamVR_ForcedHmdKey_String = "forcedHmd"; - static const char * const k_pch_SteamVR_DisplayDebug_Bool = "displayDebug"; - static const char * const k_pch_SteamVR_DebugProcessPipe_String = "debugProcessPipe"; - static const char * const k_pch_SteamVR_EnableDistortion_Bool = "enableDistortion"; - static const char * const k_pch_SteamVR_DisplayDebugX_Int32 = "displayDebugX"; - static const char * const k_pch_SteamVR_DisplayDebugY_Int32 = "displayDebugY"; - static const char * const k_pch_SteamVR_SendSystemButtonToAllApps_Bool= "sendSystemButtonToAllApps"; - static const char * const k_pch_SteamVR_LogLevel_Int32 = "loglevel"; - static const char * const k_pch_SteamVR_IPD_Float = "ipd"; - static const char * const k_pch_SteamVR_Background_String = "background"; - static const char * const k_pch_SteamVR_BackgroundCameraHeight_Float = "backgroundCameraHeight"; - static const char * const k_pch_SteamVR_BackgroundDomeRadius_Float = "backgroundDomeRadius"; - static const char * const k_pch_SteamVR_Environment_String = "environment"; - static const char * const k_pch_SteamVR_GridColor_String = "gridColor"; - static const char * const k_pch_SteamVR_PlayAreaColor_String = "playAreaColor"; - static const char * const k_pch_SteamVR_ShowStage_Bool = "showStage"; - static const char * const k_pch_SteamVR_ActivateMultipleDrivers_Bool = "activateMultipleDrivers"; - static const char * const k_pch_SteamVR_PowerOffOnExit_Bool = "powerOffOnExit"; - static const char * const k_pch_SteamVR_StandbyAppRunningTimeout_Float = "standbyAppRunningTimeout"; - static const char * const k_pch_SteamVR_StandbyNoAppTimeout_Float = "standbyNoAppTimeout"; - static const char * const k_pch_SteamVR_DirectMode_Bool = "directMode"; - static const char * const k_pch_SteamVR_DirectModeEdidVid_Int32 = "directModeEdidVid"; - static const char * const k_pch_SteamVR_DirectModeEdidPid_Int32 = "directModeEdidPid"; - static const char * const k_pch_SteamVR_UsingSpeakers_Bool = "usingSpeakers"; - static const char * const k_pch_SteamVR_SpeakersForwardYawOffsetDegrees_Float = "speakersForwardYawOffsetDegrees"; - static const char * const k_pch_SteamVR_BaseStationPowerManagement_Bool = "basestationPowerManagement"; - static const char * const k_pch_SteamVR_NeverKillProcesses_Bool = "neverKillProcesses"; - static const char * const k_pch_SteamVR_RenderTargetMultiplier_Float = "renderTargetMultiplier"; - static const char * const k_pch_SteamVR_AllowReprojection_Bool = "allowReprojection"; - static const char * const k_pch_SteamVR_ForceReprojection_Bool = "forceReprojection"; - static const char * const k_pch_SteamVR_ForceFadeOnBadTracking_Bool = "forceFadeOnBadTracking"; - static const char * const k_pch_SteamVR_DefaultMirrorView_Int32 = "defaultMirrorView"; - static const char * const k_pch_SteamVR_ShowMirrorView_Bool = "showMirrorView"; - static const char * const k_pch_SteamVR_StartMonitorFromAppLaunch = "startMonitorFromAppLaunch"; - static const char * const k_pch_SteamVR_AutoLaunchSteamVROnButtonPress = "autoLaunchSteamVROnButtonPress"; - static const char * const k_pch_SteamVR_UseGenericGraphcisDevice_Bool = "useGenericGraphicsDevice"; - - - //----------------------------------------------------------------------------- - // lighthouse keys - - static const char * const k_pch_Lighthouse_Section = "driver_lighthouse"; - static const char * const k_pch_Lighthouse_DisableIMU_Bool = "disableimu"; - static const char * const k_pch_Lighthouse_UseDisambiguation_String = "usedisambiguation"; - static const char * const k_pch_Lighthouse_DisambiguationDebug_Int32 = "disambiguationdebug"; - - static const char * const k_pch_Lighthouse_PrimaryBasestation_Int32 = "primarybasestation"; - static const char * const k_pch_Lighthouse_LighthouseName_String = "lighthousename"; - static const char * const k_pch_Lighthouse_MaxIncidenceAngleDegrees_Float = "maxincidenceangledegrees"; - static const char * const k_pch_Lighthouse_UseLighthouseDirect_Bool = "uselighthousedirect"; - static const char * const k_pch_Lighthouse_DBHistory_Bool = "dbhistory"; - - //----------------------------------------------------------------------------- - // null keys - - static const char * const k_pch_Null_Section = "driver_null"; - static const char * const k_pch_Null_EnableNullDriver_Bool = "enable"; - static const char * const k_pch_Null_SerialNumber_String = "serialNumber"; - static const char * const k_pch_Null_ModelNumber_String = "modelNumber"; - static const char * const k_pch_Null_WindowX_Int32 = "windowX"; - static const char * const k_pch_Null_WindowY_Int32 = "windowY"; - static const char * const k_pch_Null_WindowWidth_Int32 = "windowWidth"; - static const char * const k_pch_Null_WindowHeight_Int32 = "windowHeight"; - static const char * const k_pch_Null_RenderWidth_Int32 = "renderWidth"; - static const char * const k_pch_Null_RenderHeight_Int32 = "renderHeight"; - static const char * const k_pch_Null_SecondsFromVsyncToPhotons_Float = "secondsFromVsyncToPhotons"; - static const char * const k_pch_Null_DisplayFrequency_Float = "displayFrequency"; - - //----------------------------------------------------------------------------- - // user interface keys - static const char * const k_pch_UserInterface_Section = "userinterface"; - static const char * const k_pch_UserInterface_StatusAlwaysOnTop_Bool = "StatusAlwaysOnTop"; - static const char * const k_pch_UserInterface_Screenshots_Bool = "screenshots"; - static const char * const k_pch_UserInterface_ScreenshotType_Int = "screenshotType"; - - //----------------------------------------------------------------------------- - // notification keys - static const char * const k_pch_Notifications_Section = "notifications"; - static const char * const k_pch_Notifications_DoNotDisturb_Bool = "DoNotDisturb"; - - //----------------------------------------------------------------------------- - // keyboard keys - static const char * const k_pch_Keyboard_Section = "keyboard"; - static const char * const k_pch_Keyboard_TutorialCompletions = "TutorialCompletions"; - static const char * const k_pch_Keyboard_ScaleX = "ScaleX"; - static const char * const k_pch_Keyboard_ScaleY = "ScaleY"; - static const char * const k_pch_Keyboard_OffsetLeftX = "OffsetLeftX"; - static const char * const k_pch_Keyboard_OffsetRightX = "OffsetRightX"; - static const char * const k_pch_Keyboard_OffsetY = "OffsetY"; - static const char * const k_pch_Keyboard_Smoothing = "Smoothing"; - - //----------------------------------------------------------------------------- - // perf keys - static const char * const k_pch_Perf_Section = "perfcheck"; - static const char * const k_pch_Perf_HeuristicActive_Bool = "heuristicActive"; - static const char * const k_pch_Perf_NotifyInHMD_Bool = "warnInHMD"; - static const char * const k_pch_Perf_NotifyOnlyOnce_Bool = "warnOnlyOnce"; - static const char * const k_pch_Perf_AllowTimingStore_Bool = "allowTimingStore"; - static const char * const k_pch_Perf_SaveTimingsOnExit_Bool = "saveTimingsOnExit"; - static const char * const k_pch_Perf_TestData_Float = "perfTestData"; - - //----------------------------------------------------------------------------- - // collision bounds keys - static const char * const k_pch_CollisionBounds_Section = "collisionBounds"; - static const char * const k_pch_CollisionBounds_Style_Int32 = "CollisionBoundsStyle"; - static const char * const k_pch_CollisionBounds_GroundPerimeterOn_Bool = "CollisionBoundsGroundPerimeterOn"; - static const char * const k_pch_CollisionBounds_CenterMarkerOn_Bool = "CollisionBoundsCenterMarkerOn"; - static const char * const k_pch_CollisionBounds_PlaySpaceOn_Bool = "CollisionBoundsPlaySpaceOn"; - static const char * const k_pch_CollisionBounds_FadeDistance_Float = "CollisionBoundsFadeDistance"; - static const char * const k_pch_CollisionBounds_ColorGammaR_Int32 = "CollisionBoundsColorGammaR"; - static const char * const k_pch_CollisionBounds_ColorGammaG_Int32 = "CollisionBoundsColorGammaG"; - static const char * const k_pch_CollisionBounds_ColorGammaB_Int32 = "CollisionBoundsColorGammaB"; - static const char * const k_pch_CollisionBounds_ColorGammaA_Int32 = "CollisionBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // camera keys - static const char * const k_pch_Camera_Section = "camera"; - static const char * const k_pch_Camera_EnableCamera_Bool = "enableCamera"; - static const char * const k_pch_Camera_EnableCameraInDashboard_Bool = "enableCameraInDashboard"; - static const char * const k_pch_Camera_EnableCameraForCollisionBounds_Bool = "enableCameraForCollisionBounds"; - static const char * const k_pch_Camera_EnableCameraForRoomView_Bool = "enableCameraForRoomView"; - static const char * const k_pch_Camera_BoundsColorGammaR_Int32 = "cameraBoundsColorGammaR"; - static const char * const k_pch_Camera_BoundsColorGammaG_Int32 = "cameraBoundsColorGammaG"; - static const char * const k_pch_Camera_BoundsColorGammaB_Int32 = "cameraBoundsColorGammaB"; - static const char * const k_pch_Camera_BoundsColorGammaA_Int32 = "cameraBoundsColorGammaA"; - - //----------------------------------------------------------------------------- - // audio keys - static const char * const k_pch_audio_Section = "audio"; - static const char * const k_pch_audio_OnPlaybackDevice_String = "onPlaybackDevice"; - static const char * const k_pch_audio_OnRecordDevice_String = "onRecordDevice"; - static const char * const k_pch_audio_OnPlaybackMirrorDevice_String = "onPlaybackMirrorDevice"; - static const char * const k_pch_audio_OffPlaybackDevice_String = "offPlaybackDevice"; - static const char * const k_pch_audio_OffRecordDevice_String = "offRecordDevice"; - static const char * const k_pch_audio_VIVEHDMIGain = "viveHDMIGain"; - - //----------------------------------------------------------------------------- - // model skin keys - static const char * const k_pch_modelskin_Section = "modelskins"; - -} // namespace vr - -// ivrchaperone.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -enum ChaperoneCalibrationState -{ - // OK! - ChaperoneCalibrationState_OK = 1, // Chaperone is fully calibrated and working correctly - - // Warnings - ChaperoneCalibrationState_Warning = 100, - ChaperoneCalibrationState_Warning_BaseStationMayHaveMoved = 101, // A base station thinks that it might have moved - ChaperoneCalibrationState_Warning_BaseStationRemoved = 102, // There are less base stations than when calibrated - ChaperoneCalibrationState_Warning_SeatedBoundsInvalid = 103, // Seated bounds haven't been calibrated for the current tracking center - - // Errors - ChaperoneCalibrationState_Error = 200, // The UniverseID is invalid - ChaperoneCalibrationState_Error_BaseStationUninitalized = 201, // Tracking center hasn't be calibrated for at least one of the base stations - ChaperoneCalibrationState_Error_BaseStationConflict = 202, // Tracking center is calibrated, but base stations disagree on the tracking space - ChaperoneCalibrationState_Error_PlayAreaInvalid = 203, // Play Area hasn't been calibrated for the current tracking center - ChaperoneCalibrationState_Error_CollisionBoundsInvalid = 204, // Collision Bounds haven't been calibrated for the current tracking center -}; - - -/** HIGH LEVEL TRACKING SPACE ASSUMPTIONS: -* 0,0,0 is the preferred standing area center. -* 0Y is the floor height. -* -Z is the preferred forward facing direction. */ -class IVRChaperone -{ -public: - - /** Get the current state of Chaperone calibration. This state can change at any time during a session due to physical base station changes. **/ - virtual ChaperoneCalibrationState GetCalibrationState() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z. - * Tracking space center (0,0,0) is the center of the Play Area. **/ - virtual bool GetPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds). - * Corners are in counter-clockwise order. - * Standing center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Reload Chaperone data from the .vrchap file on disk. */ - virtual void ReloadInfo( void ) = 0; - - /** Optionally give the chaperone system a hit about the color and brightness in the scene **/ - virtual void SetSceneColor( HmdColor_t color ) = 0; - - /** Get the current chaperone bounds draw color and brightness **/ - virtual void GetBoundsColor( HmdColor_t *pOutputColorArray, int nNumOutputColors, float flCollisionBoundsFadeDistance, HmdColor_t *pOutputCameraColor ) = 0; - - /** Determine whether the bounds are showing right now **/ - virtual bool AreBoundsVisible() = 0; - - /** Force the bounds to show, mostly for utilities **/ - virtual void ForceBoundsVisible( bool bForce ) = 0; -}; - -static const char * const IVRChaperone_Version = "IVRChaperone_003"; - -#pragma pack( pop ) - -} - -// ivrchaperonesetup.h -namespace vr -{ - -enum EChaperoneConfigFile -{ - EChaperoneConfigFile_Live = 1, // The live chaperone config, used by most applications and games - EChaperoneConfigFile_Temp = 2, // The temporary chaperone config, used to live-preview collision bounds in room setup -}; - -enum EChaperoneImportFlags -{ - EChaperoneImport_BoundsOnly = 0x0001, -}; - -/** Manages the working copy of the chaperone info. By default this will be the same as the -* live copy. Any changes made with this interface will stay in the working copy until -* CommitWorkingCopy() is called, at which point the working copy and the live copy will be -* the same again. */ -class IVRChaperoneSetup -{ -public: - - /** Saves the current working copy to disk */ - virtual bool CommitWorkingCopy( EChaperoneConfigFile configFile ) = 0; - - /** Reverts the working copy to match the live chaperone calibration. - * To modify existing data this MUST be do WHILE getting a non-error ChaperoneCalibrationStatus. - * Only after this should you do gets and sets on the existing data. */ - virtual void RevertWorkingCopy() = 0; - - /** Returns the width and depth of the Play Area (formerly named Soft Bounds) in X and Z from the working copy. - * Tracking space center (0,0,0) is the center of the Play Area. */ - virtual bool GetWorkingPlayAreaSize( float *pSizeX, float *pSizeZ ) = 0; - - /** Returns the 4 corner positions of the Play Area (formerly named Soft Bounds) from the working copy. - * Corners are in clockwise order. - * Tracking space center (0,0,0) is the center of the Play Area. - * It's a rectangle. - * 2 sides are parallel to the X axis and 2 sides are parallel to the Z axis. - * Height of every corner is 0Y (on the floor). **/ - virtual bool GetWorkingPlayAreaRect( HmdQuad_t *rect ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified from the working copy. */ - virtual bool GetWorkingCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the number of Quads if the buffer points to null. Otherwise it returns Quads - * into the buffer up to the max specified. */ - virtual bool GetLiveCollisionBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - /** Returns the preferred seated position from the working copy. */ - virtual bool GetWorkingSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Returns the standing origin from the working copy. */ - virtual bool GetWorkingStandingZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Sets the Play Area in the working copy. */ - virtual void SetWorkingPlayAreaSize( float sizeX, float sizeZ ) = 0; - - /** Sets the Collision Bounds in the working copy. */ - virtual void SetWorkingCollisionBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - - /** Sets the preferred seated position in the working copy. */ - virtual void SetWorkingSeatedZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatSeatedZeroPoseToRawTrackingPose ) = 0; - - /** Sets the preferred standing position in the working copy. */ - virtual void SetWorkingStandingZeroPoseToRawTrackingPose( const HmdMatrix34_t *pMatStandingZeroPoseToRawTrackingPose ) = 0; - - /** Tear everything down and reload it from the file on disk */ - virtual void ReloadFromDisk( EChaperoneConfigFile configFile ) = 0; - - /** Returns the preferred seated position. */ - virtual bool GetLiveSeatedZeroPoseToRawTrackingPose( HmdMatrix34_t *pmatSeatedZeroPoseToRawTrackingPose ) = 0; - - virtual void SetWorkingCollisionBoundsTagsInfo( VR_ARRAY_COUNT(unTagCount) uint8_t *pTagsBuffer, uint32_t unTagCount ) = 0; - virtual bool GetLiveCollisionBoundsTagsInfo( VR_OUT_ARRAY_COUNT(punTagCount) uint8_t *pTagsBuffer, uint32_t *punTagCount ) = 0; - - virtual bool SetWorkingPhysicalBoundsInfo( VR_ARRAY_COUNT(unQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t unQuadsCount ) = 0; - virtual bool GetLivePhysicalBoundsInfo( VR_OUT_ARRAY_COUNT(punQuadsCount) HmdQuad_t *pQuadsBuffer, uint32_t* punQuadsCount ) = 0; - - virtual bool ExportLiveToBuffer( VR_OUT_STRING() char *pBuffer, uint32_t *pnBufferLength ) = 0; - virtual bool ImportFromBufferToWorking( const char *pBuffer, uint32_t nImportFlags ) = 0; -}; - -static const char * const IVRChaperoneSetup_Version = "IVRChaperoneSetup_005"; - - -} - -// ivrcompositor.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -/** Errors that can occur with the VR compositor */ -enum EVRCompositorError -{ - VRCompositorError_None = 0, - VRCompositorError_RequestFailed = 1, - VRCompositorError_IncompatibleVersion = 100, - VRCompositorError_DoNotHaveFocus = 101, - VRCompositorError_InvalidTexture = 102, - VRCompositorError_IsNotSceneApplication = 103, - VRCompositorError_TextureIsOnWrongDevice = 104, - VRCompositorError_TextureUsesUnsupportedFormat = 105, - VRCompositorError_SharedTexturesNotSupported = 106, - VRCompositorError_IndexOutOfRange = 107, -}; - -const uint32_t VRCompositor_ReprojectionReason_Cpu = 0x01; -const uint32_t VRCompositor_ReprojectionReason_Gpu = 0x02; - -/** Provides a single frame's timing information to the app */ -struct Compositor_FrameTiming -{ - uint32_t m_nSize; // Set to sizeof( Compositor_FrameTiming ) - uint32_t m_nFrameIndex; - uint32_t m_nNumFramePresents; // number of times this frame was presented - uint32_t m_nNumDroppedFrames; // number of additional times previous frame was scanned out - uint32_t m_nReprojectionFlags; - - /** Absolute time reference for comparing frames. This aligns with the vsync that running start is relative to. */ - double m_flSystemTimeInSeconds; - - /** These times may include work from other processes due to OS scheduling. - * The fewer packets of work these are broken up into, the less likely this will happen. - * GPU work can be broken up by calling Flush. This can sometimes be useful to get the GPU started - * processing that work earlier in the frame. */ - float m_flPreSubmitGpuMs; // time spent rendering the scene (gpu work submitted between WaitGetPoses and second Submit) - float m_flPostSubmitGpuMs; // additional time spent rendering by application (e.g. companion window) - float m_flTotalRenderGpuMs; // time between work submitted immediately after present (ideally vsync) until the end of compositor submitted work - float m_flCompositorRenderGpuMs; // time spend performing distortion correction, rendering chaperone, overlays, etc. - float m_flCompositorRenderCpuMs; // time spent on cpu submitting the above work for this frame - float m_flCompositorIdleCpuMs; // time spent waiting for running start (application could have used this much more time) - - /** Miscellaneous measured intervals. */ - float m_flClientFrameIntervalMs; // time between calls to WaitGetPoses - float m_flPresentCallCpuMs; // time blocked on call to present (usually 0.0, but can go long) - float m_flWaitForPresentCpuMs; // time spent spin-waiting for frame index to change (not near-zero indicates wait object failure) - float m_flSubmitFrameMs; // time spent in IVRCompositor::Submit (not near-zero indicates driver issue) - - /** The following are all relative to this frame's SystemTimeInSeconds */ - float m_flWaitGetPosesCalledMs; - float m_flNewPosesReadyMs; - float m_flNewFrameReadyMs; // second call to IVRCompositor::Submit - float m_flCompositorUpdateStartMs; - float m_flCompositorUpdateEndMs; - float m_flCompositorRenderStartMs; - - vr::TrackedDevicePose_t m_HmdPose; // pose used by app to render this frame -}; - -/** Cumulative stats for current application. These are not cleared until a new app connects, -* but they do stop accumulating once the associated app disconnects. */ -struct Compositor_CumulativeStats -{ - uint32_t m_nPid; // Process id associated with these stats (may no longer be running). - uint32_t m_nNumFramePresents; // total number of times we called present (includes reprojected frames) - uint32_t m_nNumDroppedFrames; // total number of times an old frame was re-scanned out (without reprojection) - uint32_t m_nNumReprojectedFrames; // total number of times a frame was scanned out a second time (with reprojection) - - /** Values recorded at startup before application has fully faded in the first time. */ - uint32_t m_nNumFramePresentsOnStartup; - uint32_t m_nNumDroppedFramesOnStartup; - uint32_t m_nNumReprojectedFramesOnStartup; - - /** Applications may explicitly fade to the compositor. This is usually to handle level transitions, and loading often causes - * system wide hitches. The following stats are collected during this period. Does not include values recorded during startup. */ - uint32_t m_nNumLoading; - uint32_t m_nNumFramePresentsLoading; - uint32_t m_nNumDroppedFramesLoading; - uint32_t m_nNumReprojectedFramesLoading; - - /** If we don't get a new frame from the app in less than 2.5 frames, then we assume the app has hung and start - * fading back to the compositor. The following stats are a result of this, and are a subset of those recorded above. - * Does not include values recorded during start up or loading. */ - uint32_t m_nNumTimedOut; - uint32_t m_nNumFramePresentsTimedOut; - uint32_t m_nNumDroppedFramesTimedOut; - uint32_t m_nNumReprojectedFramesTimedOut; -}; - -#pragma pack( pop ) - -/** Allows the application to interact with the compositor */ -class IVRCompositor -{ -public: - /** Sets tracking space returned by WaitGetPoses */ - virtual void SetTrackingSpace( ETrackingUniverseOrigin eOrigin ) = 0; - - /** Gets current tracking space returned by WaitGetPoses */ - virtual ETrackingUniverseOrigin GetTrackingSpace() = 0; - - /** Returns pose(s) to use to render scene (and optionally poses predicted two frames out for gameplay). */ - virtual EVRCompositorError WaitGetPoses( VR_ARRAY_COUNT(unRenderPoseArrayCount) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT(unGamePoseArrayCount) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Get the last set of poses returned by WaitGetPoses. */ - virtual EVRCompositorError GetLastPoses( VR_ARRAY_COUNT( unRenderPoseArrayCount ) TrackedDevicePose_t* pRenderPoseArray, uint32_t unRenderPoseArrayCount, - VR_ARRAY_COUNT( unGamePoseArrayCount ) TrackedDevicePose_t* pGamePoseArray, uint32_t unGamePoseArrayCount ) = 0; - - /** Interface for accessing last set of poses returned by WaitGetPoses one at a time. - * Returns VRCompositorError_IndexOutOfRange if unDeviceIndex not less than k_unMaxTrackedDeviceCount otherwise VRCompositorError_None. - * It is okay to pass NULL for either pose if you only want one of the values. */ - virtual EVRCompositorError GetLastPoseForTrackedDeviceIndex( TrackedDeviceIndex_t unDeviceIndex, TrackedDevicePose_t *pOutputPose, TrackedDevicePose_t *pOutputGamePose ) = 0; - - /** Updated scene texture to display. If pBounds is NULL the entire texture will be used. If called from an OpenGL app, consider adding a glFlush after - * Submitting both frames to signal the driver to start processing, otherwise it may wait until the command buffer fills up, causing the app to miss frames. - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVRCompositorError Submit( EVREye eEye, const Texture_t *pTexture, const VRTextureBounds_t* pBounds = 0, EVRSubmitFlags nSubmitFlags = Submit_Default ) = 0; - - /** Clears the frame that was sent with the last call to Submit. This will cause the - * compositor to show the grid until Submit is called again. */ - virtual void ClearLastSubmittedFrame() = 0; - - /** Call immediately after presenting your app's window (i.e. companion window) to unblock the compositor. - * This is an optional call, which only needs to be used if you can't instead call WaitGetPoses immediately after Present. - * For example, if your engine's render and game loop are not on separate threads, or blocking the render thread until 3ms before the next vsync would - * introduce a deadlock of some sort. This function tells the compositor that you have finished all rendering after having Submitted buffers for both - * eyes, and it is free to start its rendering work. This should only be called from the same thread you are rendering on. */ - virtual void PostPresentHandoff() = 0; - - /** Returns true if timing data is filled it. Sets oldest timing info if nFramesAgo is larger than the stored history. - * Be sure to set timing.size = sizeof(Compositor_FrameTiming) on struct passed in before calling this function. */ - virtual bool GetFrameTiming( Compositor_FrameTiming *pTiming, uint32_t unFramesAgo = 0 ) = 0; - - /** Returns the time in seconds left in the current (as identified by FrameTiming's frameIndex) frame. - * Due to "running start", this value may roll over to the next frame before ever reaching 0.0. */ - virtual float GetFrameTimeRemaining() = 0; - - /** Fills out stats accumulated for the last connected application. Pass in sizeof( Compositor_CumulativeStats ) as second parameter. */ - virtual void GetCumulativeStats( Compositor_CumulativeStats *pStats, uint32_t nStatsSizeInBytes ) = 0; - - /** Fades the view on the HMD to the specified color. The fade will take fSeconds, and the color values are between - * 0.0 and 1.0. This color is faded on top of the scene based on the alpha parameter. Removing the fade color instantly - * would be FadeToColor( 0.0, 0.0, 0.0, 0.0, 0.0 ). Values are in un-premultiplied alpha space. */ - virtual void FadeToColor( float fSeconds, float fRed, float fGreen, float fBlue, float fAlpha, bool bBackground = false ) = 0; - - /** Fading the Grid in or out in fSeconds */ - virtual void FadeGrid( float fSeconds, bool bFadeIn ) = 0; - - /** Override the skybox used in the compositor (e.g. for during level loads when the app can't feed scene images fast enough) - * Order is Front, Back, Left, Right, Top, Bottom. If only a single texture is passed, it is assumed in lat-long format. - * If two are passed, it is assumed a lat-long stereo pair. */ - virtual EVRCompositorError SetSkyboxOverride( VR_ARRAY_COUNT( unTextureCount ) const Texture_t *pTextures, uint32_t unTextureCount ) = 0; - - /** Resets compositor skybox back to defaults. */ - virtual void ClearSkyboxOverride() = 0; - - /** Brings the compositor window to the front. This is useful for covering any other window that may be on the HMD - * and is obscuring the compositor window. */ - virtual void CompositorBringToFront() = 0; - - /** Pushes the compositor window to the back. This is useful for allowing other applications to draw directly to the HMD. */ - virtual void CompositorGoToBack() = 0; - - /** Tells the compositor process to clean up and exit. You do not need to call this function at shutdown. Under normal - * circumstances the compositor will manage its own life cycle based on what applications are running. */ - virtual void CompositorQuit() = 0; - - /** Return whether the compositor is fullscreen */ - virtual bool IsFullscreen() = 0; - - /** Returns the process ID of the process that is currently rendering the scene */ - virtual uint32_t GetCurrentSceneFocusProcess() = 0; - - /** Returns the process ID of the process that rendered the last frame (or 0 if the compositor itself rendered the frame.) - * Returns 0 when fading out from an app and the app's process Id when fading into an app. */ - virtual uint32_t GetLastFrameRenderer() = 0; - - /** Returns true if the current process has the scene focus */ - virtual bool CanRenderScene() = 0; - - /** Creates a window on the primary monitor to display what is being shown in the headset. */ - virtual void ShowMirrorWindow() = 0; - - /** Closes the mirror window. */ - virtual void HideMirrorWindow() = 0; - - /** Returns true if the mirror window is shown. */ - virtual bool IsMirrorWindowVisible() = 0; - - /** Writes all images that the compositor knows about (including overlays) to a 'screenshots' folder in the SteamVR runtime root. */ - virtual void CompositorDumpImages() = 0; - - /** Let an app know it should be rendering with low resources. */ - virtual bool ShouldAppRenderWithLowResources() = 0; - - /** Override interleaved reprojection logic to force on. */ - virtual void ForceInterleavedReprojectionOn( bool bOverride ) = 0; - - /** Force reconnecting to the compositor process. */ - virtual void ForceReconnectProcess() = 0; - - /** Temporarily suspends rendering (useful for finer control over scene transitions). */ - virtual void SuspendRendering( bool bSuspend ) = 0; - - /** Opens a shared D3D11 texture with the undistorted composited image for each eye. */ - virtual vr::EVRCompositorError GetMirrorTextureD3D11( vr::EVREye eEye, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView ) = 0; - - /** Access to mirror textures from OpenGL. */ - virtual vr::EVRCompositorError GetMirrorTextureGL( vr::EVREye eEye, vr::glUInt_t *pglTextureId, vr::glSharedTextureHandle_t *pglSharedTextureHandle ) = 0; - virtual bool ReleaseSharedGLTexture( vr::glUInt_t glTextureId, vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void LockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; - virtual void UnlockGLSharedTextureForAccess( vr::glSharedTextureHandle_t glSharedTextureHandle ) = 0; -}; - -static const char * const IVRCompositor_Version = "IVRCompositor_016"; - -} // namespace vr - - - -// ivrnotifications.h -namespace vr -{ - -#if defined(__linux__) || defined(__APPLE__) - // The 32-bit version of gcc has the alignment requirement for uint64 and double set to - // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. - // The 64-bit version of gcc has the alignment requirement for these types set to - // 8 meaning that unless we use #pragma pack(4) our structures will get bigger. - // The 64-bit structure packing has to match the 32-bit structure packing for each platform. - #pragma pack( push, 4 ) -#else - #pragma pack( push, 8 ) -#endif - -// Used for passing graphic data -struct NotificationBitmap_t -{ - NotificationBitmap_t() - : m_pImageData( nullptr ) - , m_nWidth( 0 ) - , m_nHeight( 0 ) - , m_nBytesPerPixel( 0 ) - { - }; - - void *m_pImageData; - int32_t m_nWidth; - int32_t m_nHeight; - int32_t m_nBytesPerPixel; -}; - - -/** Be aware that the notification type is used as 'priority' to pick the next notification */ -enum EVRNotificationType -{ - /** Transient notifications are automatically hidden after a period of time set by the user. - * They are used for things like information and chat messages that do not require user interaction. */ - EVRNotificationType_Transient = 0, - - /** Persistent notifications are shown to the user until they are hidden by calling RemoveNotification(). - * They are used for things like phone calls and alarms that require user interaction. */ - EVRNotificationType_Persistent = 1, - - /** System notifications are shown no matter what. It is expected, that the ulUserValue is used as ID. - * If there is already a system notification in the queue with that ID it is not accepted into the queue - * to prevent spamming with system notification */ - EVRNotificationType_Transient_SystemWithUserValue = 2, -}; - -enum EVRNotificationStyle -{ - /** Creates a notification with minimal external styling. */ - EVRNotificationStyle_None = 0, - - /** Used for notifications about overlay-level status. In Steam this is used for events like downloads completing. */ - EVRNotificationStyle_Application = 100, - - /** Used for notifications about contacts that are unknown or not available. In Steam this is used for friend invitations and offline friends. */ - EVRNotificationStyle_Contact_Disabled = 200, - - /** Used for notifications about contacts that are available but inactive. In Steam this is used for friends that are online but not playing a game. */ - EVRNotificationStyle_Contact_Enabled = 201, - - /** Used for notifications about contacts that are available and active. In Steam this is used for friends that are online and currently running a game. */ - EVRNotificationStyle_Contact_Active = 202, -}; - -static const uint32_t k_unNotificationTextMaxSize = 256; - -typedef uint32_t VRNotificationId; - - - -#pragma pack( pop ) - -/** Allows notification sources to interact with the VR system - This current interface is not yet implemented. Do not use yet. */ -class IVRNotifications -{ -public: - /** Create a notification and enqueue it to be shown to the user. - * An overlay handle is required to create a notification, as otherwise it would be impossible for a user to act on it. - * To create a two-line notification, use a line break ('\n') to split the text into two lines. - * The pImage argument may be NULL, in which case the specified overlay's icon will be used instead. */ - virtual EVRNotificationError CreateNotification( VROverlayHandle_t ulOverlayHandle, uint64_t ulUserValue, EVRNotificationType type, const char *pchText, EVRNotificationStyle style, const NotificationBitmap_t *pImage, /* out */ VRNotificationId *pNotificationId ) = 0; - - /** Destroy a notification, hiding it first if it currently shown to the user. */ - virtual EVRNotificationError RemoveNotification( VRNotificationId notificationId ) = 0; - -}; - -static const char * const IVRNotifications_Version = "IVRNotifications_002"; - -} // namespace vr - - - -// ivroverlay.h -namespace vr -{ - - /** The maximum length of an overlay key in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxKeyLength = 128; - - /** The maximum length of an overlay name in bytes, counting the terminating null character. */ - static const uint32_t k_unVROverlayMaxNameLength = 128; - - /** The maximum number of overlays that can exist in the system at one time. */ - static const uint32_t k_unMaxOverlayCount = 64; - - /** Types of input supported by VR Overlays */ - enum VROverlayInputMethod - { - VROverlayInputMethod_None = 0, // No input events will be generated automatically for this overlay - VROverlayInputMethod_Mouse = 1, // Tracked controllers will get mouse events automatically - }; - - /** Allows the caller to figure out which overlay transform getter to call. */ - enum VROverlayTransformType - { - VROverlayTransform_Absolute = 0, - VROverlayTransform_TrackedDeviceRelative = 1, - VROverlayTransform_SystemOverlay = 2, - VROverlayTransform_TrackedComponent = 3, - }; - - /** Overlay control settings */ - enum VROverlayFlags - { - VROverlayFlags_None = 0, - - // The following only take effect when rendered using the high quality render path (see SetHighQualityOverlay). - VROverlayFlags_Curved = 1, - VROverlayFlags_RGSS4X = 2, - - // Set this flag on a dashboard overlay to prevent a tab from showing up for that overlay - VROverlayFlags_NoDashboardTab = 3, - - // Set this flag on a dashboard that is able to deal with gamepad focus events - VROverlayFlags_AcceptsGamepadEvents = 4, - - // Indicates that the overlay should dim/brighten to show gamepad focus - VROverlayFlags_ShowGamepadFocus = 5, - - // When in VROverlayInputMethod_Mouse you can optionally enable sending VRScroll_t - VROverlayFlags_SendVRScrollEvents = 6, - VROverlayFlags_SendVRTouchpadEvents = 7, - - // If set this will render a vertical scroll wheel on the primary controller, - // only needed if not using VROverlayFlags_SendVRScrollEvents but you still want to represent a scroll wheel - VROverlayFlags_ShowTouchPadScrollWheel = 8, - - // If this is set ownership and render access to the overlay are transferred - // to the new scene process on a call to IVRApplications::LaunchInternalProcess - VROverlayFlags_TransferOwnershipToInternalProcess = 9, - - // If set, renders 50% of the texture in each eye, side by side - VROverlayFlags_SideBySide_Parallel = 10, // Texture is left/right - VROverlayFlags_SideBySide_Crossed = 11, // Texture is crossed and right/left - - VROverlayFlags_Panorama = 12, // Texture is a panorama - VROverlayFlags_StereoPanorama = 13, // Texture is a stereo panorama - - // If this is set on an overlay owned by the scene application that overlay - // will be sorted with the "Other" overlays on top of all other scene overlays - VROverlayFlags_SortWithNonSceneOverlays = 14, - }; - - struct VROverlayIntersectionParams_t - { - HmdVector3_t vSource; - HmdVector3_t vDirection; - ETrackingUniverseOrigin eOrigin; - }; - - struct VROverlayIntersectionResults_t - { - HmdVector3_t vPoint; - HmdVector3_t vNormal; - HmdVector2_t vUVs; - float fDistance; - }; - - // Input modes for the Big Picture gamepad text entry - enum EGamepadTextInputMode - { - k_EGamepadTextInputModeNormal = 0, - k_EGamepadTextInputModePassword = 1, - k_EGamepadTextInputModeSubmit = 2, - }; - - // Controls number of allowed lines for the Big Picture gamepad text entry - enum EGamepadTextInputLineMode - { - k_EGamepadTextInputLineModeSingleLine = 0, - k_EGamepadTextInputLineModeMultipleLines = 1 - }; - - /** Directions for changing focus between overlays with the gamepad */ - enum EOverlayDirection - { - OverlayDirection_Up = 0, - OverlayDirection_Down = 1, - OverlayDirection_Left = 2, - OverlayDirection_Right = 3, - - OverlayDirection_Count = 4, - }; - - class IVROverlay - { - public: - - // --------------------------------------------- - // Overlay management methods - // --------------------------------------------- - - /** Finds an existing overlay with the specified key. */ - virtual EVROverlayError FindOverlay( const char *pchOverlayKey, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Creates a new named overlay. All overlays start hidden and with default settings. */ - virtual EVROverlayError CreateOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pOverlayHandle ) = 0; - - /** Destroys the specified overlay. When an application calls VR_Shutdown all overlays created by that app are - * automatically destroyed. */ - virtual EVROverlayError DestroyOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify which overlay to use the high quality render path. This overlay will be composited in during the distortion pass which - * results in it drawing on top of everything else, but also at a higher quality as it samples the source texture directly rather than - * rasterizing into each eye's render texture first. Because if this, only one of these is supported at any given time. It is most useful - * for overlays that are expected to take up most of the user's view (e.g. streaming video). - * This mode does not support mouse input to your overlay. */ - virtual EVROverlayError SetHighQualityOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the overlay handle of the current overlay being rendered using the single high quality overlay render path. - * Otherwise it will return k_ulOverlayHandleInvalid. */ - virtual vr::VROverlayHandle_t GetHighQualityOverlay() = 0; - - /** Fills the provided buffer with the string key of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxKeyLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayKey( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Fills the provided buffer with the friendly name of the overlay. Returns the size of buffer required to store the key, including - * the terminating null character. k_unVROverlayMaxNameLength will be enough bytes to fit the string. */ - virtual uint32_t GetOverlayName( VROverlayHandle_t ulOverlayHandle, VR_OUT_STRING() char *pchValue, uint32_t unBufferSize, EVROverlayError *pError = 0L ) = 0; - - /** Gets the raw image data from an overlay. Overlay image data is always returned as RGBA data, 4 bytes per pixel. If the buffer is not large enough, width and height - * will be set and VROverlayError_ArrayTooSmall is returned. */ - virtual EVROverlayError GetOverlayImageData( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unBufferSize, uint32_t *punWidth, uint32_t *punHeight ) = 0; - - /** returns a string that corresponds with the specified overlay error. The string will be the name - * of the error enum value for all valid error codes */ - virtual const char *GetOverlayErrorNameFromEnum( EVROverlayError error ) = 0; - - - // --------------------------------------------- - // Overlay rendering methods - // --------------------------------------------- - - /** Sets the pid that is allowed to render to this overlay (the creator pid is always allow to render), - * by default this is the pid of the process that made the overlay */ - virtual EVROverlayError SetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle, uint32_t unPID ) = 0; - - /** Gets the pid that is allowed to render to this overlay */ - virtual uint32_t GetOverlayRenderingPid( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Specify flag setting for a given overlay */ - virtual EVROverlayError SetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool bEnabled ) = 0; - - /** Sets flag setting for a given overlay */ - virtual EVROverlayError GetOverlayFlag( VROverlayHandle_t ulOverlayHandle, VROverlayFlags eOverlayFlag, bool *pbEnabled ) = 0; - - /** Sets the color tint of the overlay quad. Use 0.0 to 1.0 per channel. */ - virtual EVROverlayError SetOverlayColor( VROverlayHandle_t ulOverlayHandle, float fRed, float fGreen, float fBlue ) = 0; - - /** Gets the color tint of the overlay quad. */ - virtual EVROverlayError GetOverlayColor( VROverlayHandle_t ulOverlayHandle, float *pfRed, float *pfGreen, float *pfBlue ) = 0; - - /** Sets the alpha of the overlay quad. Use 1.0 for 100 percent opacity to 0.0 for 0 percent opacity. */ - virtual EVROverlayError SetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float fAlpha ) = 0; - - /** Gets the alpha of the overlay quad. By default overlays are rendering at 100 percent alpha (1.0). */ - virtual EVROverlayError GetOverlayAlpha( VROverlayHandle_t ulOverlayHandle, float *pfAlpha ) = 0; - - /** Sets the aspect ratio of the texels in the overlay. 1.0 means the texels are square. 2.0 means the texels - * are twice as wide as they are tall. Defaults to 1.0. */ - virtual EVROverlayError SetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float fTexelAspect ) = 0; - - /** Gets the aspect ratio of the texels in the overlay. Defaults to 1.0 */ - virtual EVROverlayError GetOverlayTexelAspect( VROverlayHandle_t ulOverlayHandle, float *pfTexelAspect ) = 0; - - /** Sets the rendering sort order for the overlay. Overlays are rendered this order: - * Overlays owned by the scene application - * Overlays owned by some other application - * - * Within a category overlays are rendered lowest sort order to highest sort order. Overlays with the same - * sort order are rendered back to front base on distance from the HMD. - * - * Sort order defaults to 0. */ - virtual EVROverlayError SetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t unSortOrder ) = 0; - - /** Gets the sort order of the overlay. See SetOverlaySortOrder for how this works. */ - virtual EVROverlayError GetOverlaySortOrder( VROverlayHandle_t ulOverlayHandle, uint32_t *punSortOrder ) = 0; - - /** Sets the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError SetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float fWidthInMeters ) = 0; - - /** Returns the width of the overlay quad in meters. By default overlays are rendered on a quad that is 1 meter across */ - virtual EVROverlayError GetOverlayWidthInMeters( VROverlayHandle_t ulOverlayHandle, float *pfWidthInMeters ) = 0; - - /** For high-quality curved overlays only, sets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError SetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float fMinDistanceInMeters, float fMaxDistanceInMeters ) = 0; - - /** For high-quality curved overlays only, gets the distance range in meters from the overlay used to automatically curve - * the surface around the viewer. Min is distance is when the surface will be most curved. Max is when least curved. */ - virtual EVROverlayError GetOverlayAutoCurveDistanceRangeInMeters( VROverlayHandle_t ulOverlayHandle, float *pfMinDistanceInMeters, float *pfMaxDistanceInMeters ) = 0; - - /** Sets the colorspace the overlay texture's data is in. Defaults to 'auto'. - * If the texture needs to be resolved, you should call SetOverlayTexture with the appropriate colorspace instead. */ - virtual EVROverlayError SetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace eTextureColorSpace ) = 0; - - /** Gets the overlay's current colorspace setting. */ - virtual EVROverlayError GetOverlayTextureColorSpace( VROverlayHandle_t ulOverlayHandle, EColorSpace *peTextureColorSpace ) = 0; - - /** Sets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError SetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, const VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Gets the part of the texture to use for the overlay. UV Min is the upper left corner and UV Max is the lower right corner. */ - virtual EVROverlayError GetOverlayTextureBounds( VROverlayHandle_t ulOverlayHandle, VRTextureBounds_t *pOverlayTextureBounds ) = 0; - - /** Returns the transform type of this overlay. */ - virtual EVROverlayError GetOverlayTransformType( VROverlayHandle_t ulOverlayHandle, VROverlayTransformType *peTransformType ) = 0; - - /** Sets the transform to absolute tracking origin. */ - virtual EVROverlayError SetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Gets the transform if it is absolute. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformAbsolute( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin *peTrackingOrigin, HmdMatrix34_t *pmatTrackingOriginToOverlayTransform ) = 0; - - /** Sets the transform to relative to the transform of the specified tracked device. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unTrackedDevice, const HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Gets the transform if it is relative to a tracked device. Returns an error if the transform is some other type. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceRelative( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punTrackedDevice, HmdMatrix34_t *pmatTrackedDeviceToOverlayTransform ) = 0; - - /** Sets the transform to draw the overlay on a rendermodel component mesh instead of a quad. This will only draw when the system is - * drawing the device. Overlays with this transform type cannot receive mouse events. */ - virtual EVROverlayError SetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unDeviceIndex, const char *pchComponentName ) = 0; - - /** Gets the transform information when the overlay is rendering on a component. */ - virtual EVROverlayError GetOverlayTransformTrackedDeviceComponent( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t *punDeviceIndex, char *pchComponentName, uint32_t unComponentNameSize ) = 0; - - /** Shows the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError ShowOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Hides the VR overlay. For dashboard overlays, only the Dashboard Manager is allowed to call this. */ - virtual EVROverlayError HideOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns true if the overlay is visible. */ - virtual bool IsOverlayVisible( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Get the transform in 3d space associated with a specific 2d point in the overlay's coordinate space (where 0,0 is the lower left). -Z points out of the overlay */ - virtual EVROverlayError GetTransformForOverlayCoordinates( VROverlayHandle_t ulOverlayHandle, ETrackingUniverseOrigin eTrackingOrigin, HmdVector2_t coordinatesInOverlay, HmdMatrix34_t *pmatTransform ) = 0; - - // --------------------------------------------- - // Overlay input methods - // --------------------------------------------- - - /** Returns true and fills the event with the next event on the overlay's event queue, if there is one. - * If there are no events this method returns false. uncbVREvent should be the size in bytes of the VREvent_t struct */ - virtual bool PollNextOverlayEvent( VROverlayHandle_t ulOverlayHandle, VREvent_t *pEvent, uint32_t uncbVREvent ) = 0; - - /** Returns the current input settings for the specified overlay. */ - virtual EVROverlayError GetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod *peInputMethod ) = 0; - - /** Sets the input settings for the specified overlay. */ - virtual EVROverlayError SetOverlayInputMethod( VROverlayHandle_t ulOverlayHandle, VROverlayInputMethod eInputMethod ) = 0; - - /** Gets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels. */ - virtual EVROverlayError GetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, HmdVector2_t *pvecMouseScale ) = 0; - - /** Sets the mouse scaling factor that is used for mouse events. The actual texture may be a different size, but this is - * typically the size of the underlying UI in pixels (not in world space). */ - virtual EVROverlayError SetOverlayMouseScale( VROverlayHandle_t ulOverlayHandle, const HmdVector2_t *pvecMouseScale ) = 0; - - /** Computes the overlay-space pixel coordinates of where the ray intersects the overlay with the - * specified settings. Returns false if there is no intersection. */ - virtual bool ComputeOverlayIntersection( VROverlayHandle_t ulOverlayHandle, const VROverlayIntersectionParams_t *pParams, VROverlayIntersectionResults_t *pResults ) = 0; - - /** Processes mouse input from the specified controller as though it were a mouse pointed at a compositor overlay with the - * specified settings. The controller is treated like a laser pointer on the -z axis. The point where the laser pointer would - * intersect with the overlay is the mouse position, the trigger is left mouse, and the track pad is right mouse. - * - * Return true if the controller is pointed at the overlay and an event was generated. */ - virtual bool HandleControllerOverlayInteractionAsMouse( VROverlayHandle_t ulOverlayHandle, TrackedDeviceIndex_t unControllerDeviceIndex ) = 0; - - /** Returns true if the specified overlay is the hover target. An overlay is the hover target when it is the last overlay "moused over" - * by the virtual mouse pointer */ - virtual bool IsHoverTargetOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Returns the current Gamepad focus overlay */ - virtual vr::VROverlayHandle_t GetGamepadFocusOverlay() = 0; - - /** Sets the current Gamepad focus overlay */ - virtual EVROverlayError SetGamepadFocusOverlay( VROverlayHandle_t ulNewFocusOverlay ) = 0; - - /** Sets an overlay's neighbor. This will also set the neighbor of the "to" overlay - * to point back to the "from" overlay. If an overlay's neighbor is set to invalid both - * ends will be cleared */ - virtual EVROverlayError SetOverlayNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom, VROverlayHandle_t ulTo ) = 0; - - /** Changes the Gamepad focus from one overlay to one of its neighbors. Returns VROverlayError_NoNeighbor if there is no - * neighbor in that direction */ - virtual EVROverlayError MoveGamepadFocusToNeighbor( EOverlayDirection eDirection, VROverlayHandle_t ulFrom ) = 0; - - // --------------------------------------------- - // Overlay texture methods - // --------------------------------------------- - - /** Texture to draw for the overlay. This function can only be called by the overlay's creator or renderer process (see SetOverlayRenderingPid) . - * - * OpenGL dirty state: - * glBindTexture - */ - virtual EVROverlayError SetOverlayTexture( VROverlayHandle_t ulOverlayHandle, const Texture_t *pTexture ) = 0; - - /** Use this to tell the overlay system to release the texture set for this overlay. */ - virtual EVROverlayError ClearOverlayTexture( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Separate interface for providing the data as a stream of bytes, but there is an upper bound on data - * that can be sent. This function can only be called by the overlay's renderer process. */ - virtual EVROverlayError SetOverlayRaw( VROverlayHandle_t ulOverlayHandle, void *pvBuffer, uint32_t unWidth, uint32_t unHeight, uint32_t unDepth ) = 0; - - /** Separate interface for providing the image through a filename: can be png or jpg, and should not be bigger than 1920x1080. - * This function can only be called by the overlay's renderer process */ - virtual EVROverlayError SetOverlayFromFile( VROverlayHandle_t ulOverlayHandle, const char *pchFilePath ) = 0; - - /** Get the native texture handle/device for an overlay you have created. - * On windows this handle will be a ID3D11ShaderResourceView with a ID3D11Texture2D bound. - * - * The texture will always be sized to match the backing texture you supplied in SetOverlayTexture above. - * - * You MUST call ReleaseNativeOverlayHandle() with pNativeTextureHandle once you are done with this texture. - * - * pNativeTextureHandle is an OUTPUT, it will be a pointer to a ID3D11ShaderResourceView *. - * pNativeTextureRef is an INPUT and should be a ID3D11Resource *. The device used by pNativeTextureRef will be used to bind pNativeTextureHandle. - */ - virtual EVROverlayError GetOverlayTexture( VROverlayHandle_t ulOverlayHandle, void **pNativeTextureHandle, void *pNativeTextureRef, uint32_t *pWidth, uint32_t *pHeight, uint32_t *pNativeFormat, EGraphicsAPIConvention *pAPI, EColorSpace *pColorSpace ) = 0; - - /** Release the pNativeTextureHandle provided from the GetOverlayTexture call, this allows the system to free the underlying GPU resources for this object, - * so only do it once you stop rendering this texture. - */ - virtual EVROverlayError ReleaseNativeOverlayHandle( VROverlayHandle_t ulOverlayHandle, void *pNativeTextureHandle ) = 0; - - /** Get the size of the overlay texture */ - virtual EVROverlayError GetOverlayTextureSize( VROverlayHandle_t ulOverlayHandle, uint32_t *pWidth, uint32_t *pHeight ) = 0; - - // ---------------------------------------------- - // Dashboard Overlay Methods - // ---------------------------------------------- - - /** Creates a dashboard overlay and returns its handle */ - virtual EVROverlayError CreateDashboardOverlay( const char *pchOverlayKey, const char *pchOverlayFriendlyName, VROverlayHandle_t * pMainHandle, VROverlayHandle_t *pThumbnailHandle ) = 0; - - /** Returns true if the dashboard is visible */ - virtual bool IsDashboardVisible() = 0; - - /** returns true if the dashboard is visible and the specified overlay is the active system Overlay */ - virtual bool IsActiveDashboardOverlay( VROverlayHandle_t ulOverlayHandle ) = 0; - - /** Sets the dashboard overlay to only appear when the specified process ID has scene focus */ - virtual EVROverlayError SetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t unProcessId ) = 0; - - /** Gets the process ID that this dashboard overlay requires to have scene focus */ - virtual EVROverlayError GetDashboardOverlaySceneProcess( VROverlayHandle_t ulOverlayHandle, uint32_t *punProcessId ) = 0; - - /** Shows the dashboard. */ - virtual void ShowDashboard( const char *pchOverlayToShow ) = 0; - - /** Returns the tracked device that has the laser pointer in the dashboard */ - virtual vr::TrackedDeviceIndex_t GetPrimaryDashboardDevice() = 0; - - // --------------------------------------------- - // Keyboard methods - // --------------------------------------------- - - /** Show the virtual keyboard to accept input **/ - virtual EVROverlayError ShowKeyboard( EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - virtual EVROverlayError ShowKeyboardForOverlay( VROverlayHandle_t ulOverlayHandle, EGamepadTextInputMode eInputMode, EGamepadTextInputLineMode eLineInputMode, const char *pchDescription, uint32_t unCharMax, const char *pchExistingText, bool bUseMinimalMode, uint64_t uUserValue ) = 0; - - /** Get the text that was entered into the text input **/ - virtual uint32_t GetKeyboardText( VR_OUT_STRING() char *pchText, uint32_t cchText ) = 0; - - /** Hide the virtual keyboard **/ - virtual void HideKeyboard() = 0; - - /** Set the position of the keyboard in world space **/ - virtual void SetKeyboardTransformAbsolute( ETrackingUniverseOrigin eTrackingOrigin, const HmdMatrix34_t *pmatTrackingOriginToKeyboardTransform ) = 0; - - /** Set the position of the keyboard in overlay space by telling it to avoid a rectangle in the overlay. Rectangle coords have (0,0) in the bottom left **/ - virtual void SetKeyboardPositionForOverlay( VROverlayHandle_t ulOverlayHandle, HmdRect2_t avoidRect ) = 0; - - }; - - static const char * const IVROverlay_Version = "IVROverlay_013"; - -} // namespace vr - -// ivrrendermodels.h -namespace vr -{ - -static const char * const k_pch_Controller_Component_GDC2015 = "gdc2015"; // Canonical coordinate system of the gdc 2015 wired controller, provided for backwards compatibility -static const char * const k_pch_Controller_Component_Base = "base"; // For controllers with an unambiguous 'base'. -static const char * const k_pch_Controller_Component_Tip = "tip"; // For controllers with an unambiguous 'tip' (used for 'laser-pointing') -static const char * const k_pch_Controller_Component_HandGrip = "handgrip"; // Neutral, ambidextrous hand-pose when holding controller. On plane between neutrally posed index finger and thumb -static const char * const k_pch_Controller_Component_Status = "status"; // 1:1 aspect ratio status area, with canonical [0,1] uv mapping - -#if defined(__linux__) || defined(__APPLE__) -// The 32-bit version of gcc has the alignment requirement for uint64 and double set to -// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. -// The 64-bit version of gcc has the alignment requirement for these types set to -// 8 meaning that unless we use #pragma pack(4) our structures will get bigger. -// The 64-bit structure packing has to match the 32-bit structure packing for each platform. -#pragma pack( push, 4 ) -#else -#pragma pack( push, 8 ) -#endif - -/** Errors that can occur with the VR compositor */ -enum EVRRenderModelError -{ - VRRenderModelError_None = 0, - VRRenderModelError_Loading = 100, - VRRenderModelError_NotSupported = 200, - VRRenderModelError_InvalidArg = 300, - VRRenderModelError_InvalidModel = 301, - VRRenderModelError_NoShapes = 302, - VRRenderModelError_MultipleShapes = 303, - VRRenderModelError_TooManyVertices = 304, - VRRenderModelError_MultipleTextures = 305, - VRRenderModelError_BufferTooSmall = 306, - VRRenderModelError_NotEnoughNormals = 307, - VRRenderModelError_NotEnoughTexCoords = 308, - - VRRenderModelError_InvalidTexture = 400, -}; - -typedef uint32_t VRComponentProperties; - -enum EVRComponentProperty -{ - VRComponentProperty_IsStatic = (1 << 0), - VRComponentProperty_IsVisible = (1 << 1), - VRComponentProperty_IsTouched = (1 << 2), - VRComponentProperty_IsPressed = (1 << 3), - VRComponentProperty_IsScrolled = (1 << 4), -}; - -/** Describes state information about a render-model component, including transforms and other dynamic properties */ -struct RenderModel_ComponentState_t -{ - HmdMatrix34_t mTrackingToComponentRenderModel; // Transform required when drawing the component render model - HmdMatrix34_t mTrackingToComponentLocal; // Transform available for attaching to a local component coordinate system (-Z out from surface ) - VRComponentProperties uProperties; -}; - -/** A single vertex in a render model */ -struct RenderModel_Vertex_t -{ - HmdVector3_t vPosition; // position in meters in device space - HmdVector3_t vNormal; - float rfTextureCoord[2]; -}; - -/** A texture map for use on a render model */ -struct RenderModel_TextureMap_t -{ - uint16_t unWidth, unHeight; // width and height of the texture map in pixels - const uint8_t *rubTextureMapData; // Map texture data. All textures are RGBA with 8 bits per channel per pixel. Data size is width * height * 4ub -}; - -/** Session unique texture identifier. Rendermodels which share the same texture will have the same id. -IDs <0 denote the texture is not present */ - -typedef int32_t TextureID_t; - -const TextureID_t INVALID_TEXTURE_ID = -1; - -struct RenderModel_t -{ - const RenderModel_Vertex_t *rVertexData; // Vertex data for the mesh - uint32_t unVertexCount; // Number of vertices in the vertex data - const uint16_t *rIndexData; // Indices into the vertex data for each triangle - uint32_t unTriangleCount; // Number of triangles in the mesh. Index count is 3 * TriangleCount - TextureID_t diffuseTextureId; // Session unique texture identifier. Rendermodels which share the same texture will have the same id. <0 == texture not present -}; - -struct RenderModel_ControllerMode_State_t -{ - bool bScrollWheelVisible; // is this controller currently set to be in a scroll wheel mode -}; - -#pragma pack( pop ) - -class IVRRenderModels -{ -public: - - /** Loads and returns a render model for use in the application. pchRenderModelName should be a render model name - * from the Prop_RenderModelName_String property or an absolute path name to a render model on disk. - * - * The resulting render model is valid until VR_Shutdown() is called or until FreeRenderModel() is called. When the - * application is finished with the render model it should call FreeRenderModel() to free the memory associated - * with the model. - * - * The method returns VRRenderModelError_Loading while the render model is still being loaded. - * The method returns VRRenderModelError_None once loaded successfully, otherwise will return an error. */ - virtual EVRRenderModelError LoadRenderModel_Async( const char *pchRenderModelName, RenderModel_t **ppRenderModel ) = 0; - - /** Frees a previously returned render model - * It is safe to call this on a null ptr. */ - virtual void FreeRenderModel( RenderModel_t *pRenderModel ) = 0; - - /** Loads and returns a texture for use in the application. */ - virtual EVRRenderModelError LoadTexture_Async( TextureID_t textureId, RenderModel_TextureMap_t **ppTexture ) = 0; - - /** Frees a previously returned texture - * It is safe to call this on a null ptr. */ - virtual void FreeTexture( RenderModel_TextureMap_t *pTexture ) = 0; - - /** Creates a D3D11 texture and loads data into it. */ - virtual EVRRenderModelError LoadTextureD3D11_Async( TextureID_t textureId, void *pD3D11Device, void **ppD3D11Texture2D ) = 0; - - /** Helper function to copy the bits into an existing texture. */ - virtual EVRRenderModelError LoadIntoTextureD3D11_Async( TextureID_t textureId, void *pDstTexture ) = 0; - - /** Use this to free textures created with LoadTextureD3D11_Async instead of calling Release on them. */ - virtual void FreeTextureD3D11( void *pD3D11Texture2D ) = 0; - - /** Use this to get the names of available render models. Index does not correlate to a tracked device index, but - * is only used for iterating over all available render models. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetRenderModelName( uint32_t unRenderModelIndex, VR_OUT_STRING() char *pchRenderModelName, uint32_t unRenderModelNameLen ) = 0; - - /** Returns the number of available render models. */ - virtual uint32_t GetRenderModelCount() = 0; - - - /** Returns the number of components of the specified render model. - * Components are useful when client application wish to draw, label, or otherwise interact with components of tracked objects. - * Examples controller components: - * renderable things such as triggers, buttons - * non-renderable things which include coordinate systems such as 'tip', 'base', a neutral controller agnostic hand-pose - * If all controller components are enumerated and rendered, it will be equivalent to drawing the traditional render model - * Returns 0 if components not supported, >0 otherwise */ - virtual uint32_t GetComponentCount( const char *pchRenderModelName ) = 0; - - /** Use this to get the names of available components. Index does not correlate to a tracked device index, but - * is only used for iterating over all available components. If the index is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentName( const char *pchRenderModelName, uint32_t unComponentIndex, VR_OUT_STRING( ) char *pchComponentName, uint32_t unComponentNameLen ) = 0; - - /** Get the button mask for all buttons associated with this component - * If no buttons (or axes) are associated with this component, return 0 - * Note: multiple components may be associated with the same button. Ex: two grip buttons on a single controller. - * Note: A single component may be associated with multiple buttons. Ex: A trackpad which also provides "D-pad" functionality */ - virtual uint64_t GetComponentButtonMask( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Use this to get the render model name for the specified rendermode/component combination, to be passed to LoadRenderModel. - * If the component name is out of range, this function will return 0. - * Otherwise, it will return the size of the buffer required for the name. */ - virtual uint32_t GetComponentRenderModelName( const char *pchRenderModelName, const char *pchComponentName, VR_OUT_STRING( ) char *pchComponentRenderModelName, uint32_t unComponentRenderModelNameLen ) = 0; - - /** Use this to query information about the component, as a function of the controller state. - * - * For dynamic controller components (ex: trigger) values will reflect component motions - * For static components this will return a consistent value independent of the VRControllerState_t - * - * If the pchRenderModelName or pchComponentName is invalid, this will return false (and transforms will be set to identity). - * Otherwise, return true - * Note: For dynamic objects, visibility may be dynamic. (I.e., true/false will be returned based on controller state and controller mode state ) */ - virtual bool GetComponentState( const char *pchRenderModelName, const char *pchComponentName, const vr::VRControllerState_t *pControllerState, const RenderModel_ControllerMode_State_t *pState, RenderModel_ComponentState_t *pComponentState ) = 0; - - /** Returns true if the render model has a component with the specified name */ - virtual bool RenderModelHasComponent( const char *pchRenderModelName, const char *pchComponentName ) = 0; - - /** Returns the URL of the thumbnail image for this rendermodel */ - virtual uint32_t GetRenderModelThumbnailURL( const char *pchRenderModelName, VR_OUT_STRING() char *pchThumbnailURL, uint32_t unThumbnailURLLen, vr::EVRRenderModelError *peError ) = 0; - - /** Provides a render model path that will load the unskinned model if the model name provided has been replace by the user. If the model - * hasn't been replaced the path value will still be a valid path to load the model. Pass this to LoadRenderModel_Async, etc. to load the - * model. */ - virtual uint32_t GetRenderModelOriginalPath( const char *pchRenderModelName, VR_OUT_STRING() char *pchOriginalPath, uint32_t unOriginalPathLen, vr::EVRRenderModelError *peError ) = 0; - - /** Returns a string for a render model error */ - virtual const char *GetRenderModelErrorNameFromEnum( vr::EVRRenderModelError error ) = 0; -}; - -static const char * const IVRRenderModels_Version = "IVRRenderModels_005"; - -} - - -// ivrextendeddisplay.h -namespace vr -{ - - /** NOTE: Use of this interface is not recommended in production applications. It will not work for displays which use - * direct-to-display mode. Creating our own window is also incompatible with the VR compositor and is not available when the compositor is running. */ - class IVRExtendedDisplay - { - public: - - /** Size and position that the window needs to be on the VR display. */ - virtual void GetWindowBounds( int32_t *pnX, int32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Gets the viewport in the frame buffer to draw the output of the distortion into */ - virtual void GetEyeOutputViewport( EVREye eEye, uint32_t *pnX, uint32_t *pnY, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** [D3D10/11 Only] - * Returns the adapter index and output index that the user should pass into EnumAdapters and EnumOutputs - * to create the device and swap chain in DX10 and DX11. If an error occurs both indices will be set to -1. - */ - virtual void GetDXGIOutputInfo( int32_t *pnAdapterIndex, int32_t *pnAdapterOutputIndex ) = 0; - - }; - - static const char * const IVRExtendedDisplay_Version = "IVRExtendedDisplay_001"; - -} - - -// ivrtrackedcamera.h -namespace vr -{ - -class IVRTrackedCamera -{ -public: - /** Returns a string for an error */ - virtual const char *GetCameraErrorNameFromEnum( vr::EVRTrackedCameraError eCameraError ) = 0; - - /** For convenience, same as tracked property request Prop_HasCamera_Bool */ - virtual vr::EVRTrackedCameraError HasCamera( vr::TrackedDeviceIndex_t nDeviceIndex, bool *pHasCamera ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetCameraFrameSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, uint32_t *pnWidth, uint32_t *pnHeight, uint32_t *pnFrameBufferSize ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraIntrinisics( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::HmdVector2_t *pFocalLength, vr::HmdVector2_t *pCenter ) = 0; - - virtual vr::EVRTrackedCameraError GetCameraProjection( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, float flZNear, float flZFar, vr::HmdMatrix44_t *pProjection ) = 0; - - /** Acquiring streaming service permits video streaming for the caller. Releasing hints the system that video services do not need to be maintained for this client. - * If the camera has not already been activated, a one time spin up may incur some auto exposure as well as initial streaming frame delays. - * The camera should be considered a global resource accessible for shared consumption but not exclusive to any caller. - * The camera may go inactive due to lack of active consumers or headset idleness. */ - virtual vr::EVRTrackedCameraError AcquireVideoStreamingService( vr::TrackedDeviceIndex_t nDeviceIndex, vr::TrackedCameraHandle_t *pHandle ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamingService( vr::TrackedCameraHandle_t hTrackedCamera ) = 0; - - /** Copies the image frame into a caller's provided buffer. The image data is currently provided as RGBA data, 4 bytes per pixel. - * A caller can provide null for the framebuffer or frameheader if not desired. Requesting the frame header first, followed by the frame buffer allows - * the caller to determine if the frame as advanced per the frame header sequence. - * If there is no frame available yet, due to initial camera spinup or re-activation, the error will be VRTrackedCameraError_NoFrameAvailable. - * Ideally a caller should be polling at ~16ms intervals */ - virtual vr::EVRTrackedCameraError GetVideoStreamFrameBuffer( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pFrameBuffer, uint32_t nFrameBufferSize, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Gets size of the image frame. */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureSize( vr::TrackedDeviceIndex_t nDeviceIndex, vr::EVRTrackedCameraFrameType eFrameType, vr::VRTextureBounds_t *pTextureBounds, uint32_t *pnWidth, uint32_t *pnHeight ) = 0; - - /** Access a shared D3D11 texture for the specified tracked camera stream */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureD3D11( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, void *pD3D11DeviceOrResource, void **ppD3D11ShaderResourceView, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - - /** Access a shared GL texture for the specified tracked camera stream */ - virtual vr::EVRTrackedCameraError GetVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::EVRTrackedCameraFrameType eFrameType, vr::glUInt_t *pglTextureId, vr::CameraVideoStreamFrameHeader_t *pFrameHeader, uint32_t nFrameHeaderSize ) = 0; - virtual vr::EVRTrackedCameraError ReleaseVideoStreamTextureGL( vr::TrackedCameraHandle_t hTrackedCamera, vr::glUInt_t glTextureId ) = 0; -}; - -static const char * const IVRTrackedCamera_Version = "IVRTrackedCamera_003"; - -} // namespace vr - - -// ivrscreenshots.h -namespace vr -{ - -/** Errors that can occur with the VR compositor */ -enum EVRScreenshotError -{ - VRScreenshotError_None = 0, - VRScreenshotError_RequestFailed = 1, - VRScreenshotError_IncompatibleVersion = 100, - VRScreenshotError_NotFound = 101, - VRScreenshotError_BufferTooSmall = 102, - VRScreenshotError_ScreenshotAlreadyInProgress = 108, -}; - -/** Allows the application to generate screenshots */ -class IVRScreenshots -{ -public: - /** Request a screenshot of the requested type. - * A request of the VRScreenshotType_Stereo type will always - * work. Other types will depend on the underlying application - * support. - * The first file name is for the preview image and should be a - * regular screenshot (ideally from the left eye). The second - * is the VR screenshot in the correct format. They should be - * in the same aspect ratio. Formats per type: - * VRScreenshotType_Mono: the VR filename is ignored (can be - * nullptr), this is a normal flat single shot. - * VRScreenshotType_Stereo: The VR image should be a - * side-by-side with the left eye image on the left. - * VRScreenshotType_Cubemap: The VR image should be six square - * images composited horizontally. - * VRScreenshotType_StereoPanorama: above/below with left eye - * panorama being the above image. Image is typically square - * with the panorama being 2x horizontal. - * - * Note that the VR dashboard will call this function when - * the user presses the screenshot binding (currently System - * Button + Trigger). If Steam is running, the destination - * file names will be in %TEMP% and will be copied into - * Steam's screenshot library for the running application - * once SubmitScreenshot() is called. - * If Steam is not running, the paths will be in the user's - * documents folder under Documents\SteamVR\Screenshots. - * Other VR applications can call this to initate a - * screenshot outside of user control. - * The destination file names do not need an extension, - * will be replaced with the correct one for the format - * which is currently .png. */ - virtual vr::EVRScreenshotError RequestScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, vr::EVRScreenshotType type, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Called by the running VR application to indicate that it - * wishes to be in charge of screenshots. If the - * application does not call this, the Compositor will only - * support VRScreenshotType_Stereo screenshots that will be - * captured without notification to the running app. - * Once hooked your application will receive a - * VREvent_RequestScreenshot event when the user presses the - * buttons to take a screenshot. */ - virtual vr::EVRScreenshotError HookScreenshot( VR_ARRAY_COUNT( numTypes ) const vr::EVRScreenshotType *pSupportedTypes, int numTypes ) = 0; - - /** When your application receives a - * VREvent_RequestScreenshot event, call these functions to get - * the details of the screenshot request. */ - virtual vr::EVRScreenshotType GetScreenshotPropertyType( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotError *pError ) = 0; - - /** Get the filename for the preview or vr image (see - * vr::EScreenshotPropertyFilenames). The return value is - * the size of the string. */ - virtual uint32_t GetScreenshotPropertyFilename( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotPropertyFilenames filenameType, VR_OUT_STRING() char *pchFilename, uint32_t cchFilename, vr::EVRScreenshotError *pError ) = 0; - - /** Call this if the application is taking the screen shot - * will take more than a few ms processing. This will result - * in an overlay being presented that shows a completion - * bar. */ - virtual vr::EVRScreenshotError UpdateScreenshotProgress( vr::ScreenshotHandle_t screenshotHandle, float flProgress ) = 0; - - /** Tells the compositor to take an internal screenshot of - * type VRScreenshotType_Stereo. It will take the current - * submitted scene textures of the running application and - * write them into the preview image and a side-by-side file - * for the VR image. - * This is similiar to request screenshot, but doesn't ever - * talk to the application, just takes the shot and submits. */ - virtual vr::EVRScreenshotError TakeStereoScreenshot( vr::ScreenshotHandle_t *pOutScreenshotHandle, const char *pchPreviewFilename, const char *pchVRFilename ) = 0; - - /** Submit the completed screenshot. If Steam is running - * this will call into the Steam client and upload the - * screenshot to the screenshots section of the library for - * the running application. If Steam is not running, this - * function will display a notification to the user that the - * screenshot was taken. The paths should be full paths with - * extensions. - * File paths should be absolute including - * exntensions. - * screenshotHandle can be k_unScreenshotHandleInvalid if this - * was a new shot taking by the app to be saved and not - * initiated by a user (achievement earned or something) */ - virtual vr::EVRScreenshotError SubmitScreenshot( vr::ScreenshotHandle_t screenshotHandle, vr::EVRScreenshotType type, const char *pchSourcePreviewFilename, const char *pchSourceVRFilename ) = 0; -}; - -static const char * const IVRScreenshots_Version = "IVRScreenshots_001"; - -} // namespace vr - - - -// ivrresources.h -namespace vr -{ - -class IVRResources -{ -public: - - // ------------------------------------ - // Shared Resource Methods - // ------------------------------------ - - /** Loads the specified resource into the provided buffer if large enough. - * Returns the size in bytes of the buffer required to hold the specified resource. */ - virtual uint32_t LoadSharedResource( const char *pchResourceName, char *pchBuffer, uint32_t unBufferLen ) = 0; - - /** Provides the full path to the specified resource. Resource names can include named directories for - * drivers and other things, and this resolves all of those and returns the actual physical path. - * pchResourceTypeDirectory is the subdirectory of resources to look in. */ - virtual uint32_t GetResourceFullPath( const char *pchResourceName, const char *pchResourceTypeDirectory, char *pchPathBuffer, uint32_t unBufferLen ) = 0; -}; - -static const char * const IVRResources_Version = "IVRResources_001"; - - -}// End - -#endif // _OPENVR_API - - -namespace vr -{ - /** Finds the active installation of the VR API and initializes it. The provided path must be absolute - * or relative to the current working directory. These are the local install versions of the equivalent - * functions in steamvr.h and will work without a local Steam install. - * - * This path is to the "root" of the VR API install. That's the directory with - * the "drivers" directory and a platform (i.e. "win32") directory in it, not the directory with the DLL itself. - */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ); - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown(); - - /** Returns true if there is an HMD attached. This check is as lightweight as possible and - * can be called outside of VR_Init/VR_Shutdown. It should be used when an application wants - * to know if initializing VR is a possibility but isn't ready to take that step yet. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsHmdPresent(); - - /** Returns true if the OpenVR runtime is installed. */ - VR_INTERFACE bool VR_CALLTYPE VR_IsRuntimeInstalled(); - - /** Returns where the OpenVR runtime is installed. */ - VR_INTERFACE const char *VR_CALLTYPE VR_RuntimePath(); - - /** Returns the name of the enum value for an EVRInitError. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsSymbol( EVRInitError error ); - - /** Returns an english string for an EVRInitError. Applications should call VR_GetVRInitErrorAsSymbol instead and - * use that as a key to look up their own localized error message. This function may be called outside of VR_Init()/VR_Shutdown(). */ - VR_INTERFACE const char *VR_CALLTYPE VR_GetVRInitErrorAsEnglishDescription( EVRInitError error ); - - /** Returns the interface of the specified version. This method must be called after VR_Init. The - * pointer returned is valid until VR_Shutdown is called. - */ - VR_INTERFACE void *VR_CALLTYPE VR_GetGenericInterface( const char *pchInterfaceVersion, EVRInitError *peError ); - - /** Returns whether the interface of the specified version exists. - */ - VR_INTERFACE bool VR_CALLTYPE VR_IsInterfaceVersionValid( const char *pchInterfaceVersion ); - - /** Returns a token that represents whether the VR interface handles need to be reloaded */ - VR_INTERFACE uint32_t VR_CALLTYPE VR_GetInitToken(); - - // These typedefs allow old enum names from SDK 0.9.11 to be used in applications. - // They will go away in the future. - typedef EVRInitError HmdError; - typedef EVREye Hmd_Eye; - typedef EGraphicsAPIConvention GraphicsAPIConvention; - typedef EColorSpace ColorSpace; - typedef ETrackingResult HmdTrackingResult; - typedef ETrackedDeviceClass TrackedDeviceClass; - typedef ETrackingUniverseOrigin TrackingUniverseOrigin; - typedef ETrackedDeviceProperty TrackedDeviceProperty; - typedef ETrackedPropertyError TrackedPropertyError; - typedef EVRSubmitFlags VRSubmitFlags_t; - typedef EVRState VRState_t; - typedef ECollisionBoundsStyle CollisionBoundsStyle_t; - typedef EVROverlayError VROverlayError; - typedef EVRFirmwareError VRFirmwareError; - typedef EVRCompositorError VRCompositorError; - typedef EVRScreenshotError VRScreenshotsError; - - inline uint32_t &VRToken() - { - static uint32_t token; - return token; - } - - class COpenVRContext - { - public: - COpenVRContext() { Clear(); } - void Clear(); - - inline void CheckClear() - { - if ( VRToken() != VR_GetInitToken() ) - { - Clear(); - VRToken() = VR_GetInitToken(); - } - } - - IVRSystem *VRSystem() - { - CheckClear(); - if ( m_pVRSystem == nullptr ) - { - EVRInitError eError; - m_pVRSystem = ( IVRSystem * )VR_GetGenericInterface( IVRSystem_Version, &eError ); - } - return m_pVRSystem; - } - IVRChaperone *VRChaperone() - { - CheckClear(); - if ( m_pVRChaperone == nullptr ) - { - EVRInitError eError; - m_pVRChaperone = ( IVRChaperone * )VR_GetGenericInterface( IVRChaperone_Version, &eError ); - } - return m_pVRChaperone; - } - - IVRChaperoneSetup *VRChaperoneSetup() - { - CheckClear(); - if ( m_pVRChaperoneSetup == nullptr ) - { - EVRInitError eError; - m_pVRChaperoneSetup = ( IVRChaperoneSetup * )VR_GetGenericInterface( IVRChaperoneSetup_Version, &eError ); - } - return m_pVRChaperoneSetup; - } - - IVRCompositor *VRCompositor() - { - CheckClear(); - if ( m_pVRCompositor == nullptr ) - { - EVRInitError eError; - m_pVRCompositor = ( IVRCompositor * )VR_GetGenericInterface( IVRCompositor_Version, &eError ); - } - return m_pVRCompositor; - } - - IVROverlay *VROverlay() - { - CheckClear(); - if ( m_pVROverlay == nullptr ) - { - EVRInitError eError; - m_pVROverlay = ( IVROverlay * )VR_GetGenericInterface( IVROverlay_Version, &eError ); - } - return m_pVROverlay; - } - - IVRResources *VRResources() - { - CheckClear(); - if ( m_pVRResources == nullptr ) - { - EVRInitError eError; - m_pVRResources = (IVRResources *)VR_GetGenericInterface( IVRResources_Version, &eError ); - } - return m_pVRResources; - } - - IVRScreenshots *VRScreenshots() - { - CheckClear(); - if ( m_pVRScreenshots == nullptr ) - { - EVRInitError eError; - m_pVRScreenshots = ( IVRScreenshots * )VR_GetGenericInterface( IVRScreenshots_Version, &eError ); - } - return m_pVRScreenshots; - } - - IVRRenderModels *VRRenderModels() - { - CheckClear(); - if ( m_pVRRenderModels == nullptr ) - { - EVRInitError eError; - m_pVRRenderModels = ( IVRRenderModels * )VR_GetGenericInterface( IVRRenderModels_Version, &eError ); - } - return m_pVRRenderModels; - } - - IVRExtendedDisplay *VRExtendedDisplay() - { - CheckClear(); - if ( m_pVRExtendedDisplay == nullptr ) - { - EVRInitError eError; - m_pVRExtendedDisplay = ( IVRExtendedDisplay * )VR_GetGenericInterface( IVRExtendedDisplay_Version, &eError ); - } - return m_pVRExtendedDisplay; - } - - IVRSettings *VRSettings() - { - CheckClear(); - if ( m_pVRSettings == nullptr ) - { - EVRInitError eError; - m_pVRSettings = ( IVRSettings * )VR_GetGenericInterface( IVRSettings_Version, &eError ); - } - return m_pVRSettings; - } - - IVRApplications *VRApplications() - { - CheckClear(); - if ( m_pVRApplications == nullptr ) - { - EVRInitError eError; - m_pVRApplications = ( IVRApplications * )VR_GetGenericInterface( IVRApplications_Version, &eError ); - } - return m_pVRApplications; - } - - IVRTrackedCamera *VRTrackedCamera() - { - CheckClear(); - if ( m_pVRTrackedCamera == nullptr ) - { - EVRInitError eError; - m_pVRTrackedCamera = ( IVRTrackedCamera * )VR_GetGenericInterface( IVRTrackedCamera_Version, &eError ); - } - return m_pVRTrackedCamera; - } - - private: - IVRSystem *m_pVRSystem; - IVRChaperone *m_pVRChaperone; - IVRChaperoneSetup *m_pVRChaperoneSetup; - IVRCompositor *m_pVRCompositor; - IVROverlay *m_pVROverlay; - IVRResources *m_pVRResources; - IVRRenderModels *m_pVRRenderModels; - IVRExtendedDisplay *m_pVRExtendedDisplay; - IVRSettings *m_pVRSettings; - IVRApplications *m_pVRApplications; - IVRTrackedCamera *m_pVRTrackedCamera; - IVRScreenshots *m_pVRScreenshots; - }; - - inline COpenVRContext &OpenVRInternal_ModuleContext() - { - static void *ctx[ sizeof( COpenVRContext ) / sizeof( void * ) ]; - return *( COpenVRContext * )ctx; // bypass zero-init constructor - } - - inline IVRSystem *VR_CALLTYPE VRSystem() { return OpenVRInternal_ModuleContext().VRSystem(); } - inline IVRChaperone *VR_CALLTYPE VRChaperone() { return OpenVRInternal_ModuleContext().VRChaperone(); } - inline IVRChaperoneSetup *VR_CALLTYPE VRChaperoneSetup() { return OpenVRInternal_ModuleContext().VRChaperoneSetup(); } - inline IVRCompositor *VR_CALLTYPE VRCompositor() { return OpenVRInternal_ModuleContext().VRCompositor(); } - inline IVROverlay *VR_CALLTYPE VROverlay() { return OpenVRInternal_ModuleContext().VROverlay(); } - inline IVRScreenshots *VR_CALLTYPE VRScreenshots() { return OpenVRInternal_ModuleContext().VRScreenshots(); } - inline IVRRenderModels *VR_CALLTYPE VRRenderModels() { return OpenVRInternal_ModuleContext().VRRenderModels(); } - inline IVRApplications *VR_CALLTYPE VRApplications() { return OpenVRInternal_ModuleContext().VRApplications(); } - inline IVRSettings *VR_CALLTYPE VRSettings() { return OpenVRInternal_ModuleContext().VRSettings(); } - inline IVRResources *VR_CALLTYPE VRResources() { return OpenVRInternal_ModuleContext().VRResources(); } - inline IVRExtendedDisplay *VR_CALLTYPE VRExtendedDisplay() { return OpenVRInternal_ModuleContext().VRExtendedDisplay(); } - inline IVRTrackedCamera *VR_CALLTYPE VRTrackedCamera() { return OpenVRInternal_ModuleContext().VRTrackedCamera(); } - - inline void COpenVRContext::Clear() - { - m_pVRSystem = nullptr; - m_pVRChaperone = nullptr; - m_pVRChaperoneSetup = nullptr; - m_pVRCompositor = nullptr; - m_pVROverlay = nullptr; - m_pVRRenderModels = nullptr; - m_pVRExtendedDisplay = nullptr; - m_pVRSettings = nullptr; - m_pVRApplications = nullptr; - m_pVRTrackedCamera = nullptr; - m_pVRResources = nullptr; - m_pVRScreenshots = nullptr; - } - - VR_INTERFACE uint32_t VR_CALLTYPE VR_InitInternal( EVRInitError *peError, EVRApplicationType eApplicationType ); - VR_INTERFACE void VR_CALLTYPE VR_ShutdownInternal(); - - /** Finds the active installation of vrclient.dll and initializes it */ - inline IVRSystem *VR_Init( EVRInitError *peError, EVRApplicationType eApplicationType ) - { - IVRSystem *pVRSystem = nullptr; - - EVRInitError eError; - VRToken() = VR_InitInternal( &eError, eApplicationType ); - COpenVRContext &ctx = OpenVRInternal_ModuleContext(); - ctx.Clear(); - - if ( eError == VRInitError_None ) - { - if ( VR_IsInterfaceVersionValid( IVRSystem_Version ) ) - { - pVRSystem = VRSystem(); - } - else - { - VR_ShutdownInternal(); - eError = VRInitError_Init_InterfaceNotFound; - } - } - - if ( peError ) - *peError = eError; - return pVRSystem; - } - - /** unloads vrclient.dll. Any interface pointers from the interface are - * invalid after this point */ - inline void VR_Shutdown() - { - VR_ShutdownInternal(); - } -} diff --git a/gfx/vr/osvr/ClientKit/ClientKitC.h b/gfx/vr/osvr/ClientKit/ClientKitC.h deleted file mode 100644 index 8309e890d..000000000 --- a/gfx/vr/osvr/ClientKit/ClientKitC.h +++ /dev/null @@ -1,37 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ClientKitC_h_GUID_8D7DF104_892D_4CB5_2302_7C6BB5BC985C -#define INCLUDED_ClientKitC_h_GUID_8D7DF104_892D_4CB5_2302_7C6BB5BC985C - -#include <osvr/ClientKit/ContextC.h> -#include <osvr/ClientKit/InterfaceC.h> -#include <osvr/ClientKit/InterfaceCallbackC.h> -#include <osvr/ClientKit/SystemCallbackC.h> - -#endif diff --git a/gfx/vr/osvr/ClientKit/ContextC.h b/gfx/vr/osvr/ClientKit/ContextC.h deleted file mode 100644 index e07e1b4a7..000000000 --- a/gfx/vr/osvr/ClientKit/ContextC.h +++ /dev/null @@ -1,96 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @todo Apply annotation macros - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ContextC_h_GUID_3790F330_2425_4486_4C9F_20C300D7DED3 -#define INCLUDED_ContextC_h_GUID_3790F330_2425_4486_4C9F_20C300D7DED3 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/AnnotationMacrosC.h> -#include <osvr/Util/StdInt.h> -#include <osvr/Util/ClientOpaqueTypesC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup ClientKit - @{ -*/ - -/** @brief Initialize the library. - - @param applicationIdentifier A null terminated string identifying your - application. Reverse DNS format strongly suggested. - @param flags initialization options (reserved) - pass 0 for now. - - @returns Client context - will be needed for subsequent calls -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ClientContext osvrClientInit( - const char applicationIdentifier[], uint32_t flags OSVR_CPP_ONLY(= 0)); - -/** @brief Updates the state of the context - call regularly in your mainloop. - - @param ctx Client context -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientUpdate(OSVR_ClientContext ctx); - -/** @brief Checks to see if the client context is fully started up and connected - properly to a server. - - If this reports that the client context is not OK, there may not be a server - running, or you may just have to call osvrClientUpdate() a few times to - permit startup to finish. The return value of this call will not change from - failure to success without calling osvrClientUpdate(). - - @param ctx Client context - - @return OSVR_RETURN_FAILURE if not yet fully connected/initialized, or if - some other error (null context) occurs. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientCheckStatus(OSVR_ClientContext ctx); - -/** @brief Shutdown the library. - @param ctx Client context -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientShutdown(OSVR_ClientContext ctx); - -/** @} */ -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/DisplayC.h b/gfx/vr/osvr/ClientKit/DisplayC.h deleted file mode 100644 index 75155e6b3..000000000 --- a/gfx/vr/osvr/ClientKit/DisplayC.h +++ /dev/null @@ -1,506 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_DisplayC_h_GUID_8658EDC9_32A2_49A2_5F5C_10F67852AE74 -#define INCLUDED_DisplayC_h_GUID_8658EDC9_32A2_49A2_5F5C_10F67852AE74 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/ClientOpaqueTypesC.h> -#include <osvr/Util/RenderingTypesC.h> -#include <osvr/Util/MatrixConventionsC.h> -#include <osvr/Util/Pose3C.h> -#include <osvr/Util/BoolC.h> -#include <osvr/Util/RadialDistortionParametersC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN -/** @addtogroup ClientKit - @{ - @name Display API - @{ -*/ - -/** @brief Opaque type of a display configuration. */ -typedef struct OSVR_DisplayConfigObject *OSVR_DisplayConfig; - -/** @brief Allocates a display configuration object populated with data from the - OSVR system. - - Before this call will succeed, your application will need to be correctly - and fully connected to an OSVR server. You may consider putting this call in - a loop alternating with osvrClientUpdate() until this call succeeds. - - Data provided by a display configuration object: - - - The logical display topology (number and relationship of viewers, eyes, - and surfaces), which remains constant throughout the life of the - configuration object. (A method of notification of change here is TBD). - - Pose data for viewers (not required for rendering) and pose/view data for - eyes (used for rendering) which is based on tracker data: if used, these - should be queried every frame. - - Projection matrix data for surfaces, which while in current practice may - be relatively unchanging, we are not guaranteeing them to be constant: - these should be queried every frame. - - Video-input-relative viewport size/location for a surface: would like this - to be variable, but probably not feasible. If you have input, please - comment on the dev mailing list. - - Per-surface distortion strategy priorities/availabilities: constant. Note - the following, though... - - Per-surface distortion strategy parameters: variable, request each frame. - (Could make constant with a notification if needed?) - - Important note: While most of this data is immediately available if you are - successful in getting a display config object, the pose-based data (viewer - pose, eye pose, eye view matrix) needs tracker state, so at least one (and in - practice, typically more) osvrClientUpdate() must be performed before a new - tracker report is available to populate that state. See - osvrClientCheckDisplayStartup() to query if all startup data is available. - - @todo Decide if relative viewport should be constant in a display config, - and update docs accordingly. - - @todo Decide if distortion params should be constant in a display config, - and update docs accordingly. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed or some other - error occurred, in which case the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetDisplay(OSVR_ClientContext ctx, OSVR_DisplayConfig *disp); - -/** @brief Frees a display configuration object. The corresponding context must - still be open. - - If you fail to call this, it will be automatically called as part of - clean-up when the corresponding context is closed. - - @return OSVR_RETURN_FAILURE if a null config was passed, or if the given - display object was already freed. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientFreeDisplay(OSVR_DisplayConfig disp); - -/** @brief Checks to see if a display is fully configured and ready, including - having received its first pose update. - - Once this first succeeds, it will continue to succeed for the lifetime of - the display config object, so it is not necessary to keep calling once you - get a successful result. - - @return OSVR_RETURN_FAILURE if a null config was passed, or if the given - display config object was otherwise not ready for full use. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientCheckDisplayStartup(OSVR_DisplayConfig disp); - -/** @brief A display config can have one or more display inputs to pass pixels - over (HDMI/DVI connections, etc): retrieve the number of display inputs in - the current configuration. - - @param disp Display config object. - @param[out] numDisplayInputs Number of display inputs in the logical display - topology, **constant** throughout the active, valid lifetime of a display - config object. - - @sa OSVR_DisplayInputCount - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in - which case the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetNumDisplayInputs( - OSVR_DisplayConfig disp, OSVR_DisplayInputCount *numDisplayInputs); - -/** @brief Retrieve the pixel dimensions of a given display input for a display - config - - @param disp Display config object. - @param displayInputIndex The zero-based index of the display input. - @param[out] width Width (in pixels) of the display input. - @param[out] height Height (in pixels) of the display input. - - The out parameters are **constant** throughout the active, valid lifetime of - a display config object. - - @sa OSVR_DisplayDimension - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in - which case the output arguments are unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetDisplayDimensions( - OSVR_DisplayConfig disp, OSVR_DisplayInputCount displayInputIndex, - OSVR_DisplayDimension *width, OSVR_DisplayDimension *height); - -/** @brief A display config can have one (or theoretically more) viewers: - retrieve the viewer count. - - @param disp Display config object. - @param[out] viewers Number of viewers in the logical display topology, - **constant** throughout the active, valid lifetime of a display config - object. - - @sa OSVR_ViewerCount - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetNumViewers(OSVR_DisplayConfig disp, OSVR_ViewerCount *viewers); - -/** @brief Get the pose of a viewer in a display config. - - Note that there may not necessarily be any surfaces rendered from this pose - (it's the unused "center" eye in a stereo configuration, for instance) so - only use this if it makes integration into your engine or existing - applications (not originally designed for stereo) easier. - - Will only succeed if osvrClientCheckDisplayStartup() succeeds. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was - yet available, in which case the pose argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetViewerPose( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_Pose3 *pose); - -/** @brief Each viewer in a display config can have one or more "eyes" which - have a substantially similar pose: get the count. - - @param disp Display config object. - @param viewer Viewer ID - @param[out] eyes Number of eyes for this viewer in the logical display - topology, **constant** throughout the active, valid lifetime of a display - config object - - @sa OSVR_EyeCount - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetNumEyesForViewer( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount *eyes); - -/** @brief Get the "viewpoint" for the given eye of a viewer in a display - config. - - Will only succeed if osvrClientCheckDisplayStartup() succeeds. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param[out] pose Room-space pose (not relative to pose of the viewer) - - @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was - yet available, in which case the pose argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyePose(OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, - OSVR_EyeCount eye, OSVR_Pose3 *pose); - -/** @brief Get the view matrix (inverse of pose) for the given eye of a - viewer in a display config - matrix of **doubles**. - - Will only succeed if osvrClientCheckDisplayStartup() succeeds. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags) - @param[out] mat Pass a double[::OSVR_MATRIX_SIZE] to get the transformation - matrix from room space to eye space (not relative to pose of the viewer) - - @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was - yet available, in which case the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixd( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_MatrixConventions flags, double *mat); - -/** @brief Get the view matrix (inverse of pose) for the given eye of a - viewer in a display config - matrix of **floats**. - - Will only succeed if osvrClientCheckDisplayStartup() succeeds. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags) - @param[out] mat Pass a float[::OSVR_MATRIX_SIZE] to get the transformation - matrix from room space to eye space (not relative to pose of the viewer) - - @return OSVR_RETURN_FAILURE if invalid parameters were passed or no pose was - yet available, in which case the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetViewerEyeViewMatrixf( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_MatrixConventions flags, float *mat); - -/** @brief Each eye of each viewer in a display config has one or more surfaces - (aka "screens") on which content should be rendered. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param[out] surfaces Number of surfaces (numbered [0, surfaces - 1]) for the - given viewer and eye. **Constant** throughout the active, valid lifetime of - a display config object. - - @sa OSVR_SurfaceCount - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrClientGetNumSurfacesForViewerEye( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount *surfaces); - -/** @brief Get the dimensions/location of the viewport **within the display - input** for a surface seen by an eye of a viewer in a display config. (This - does not include other video inputs that may be on a single virtual desktop, - etc. or explicitly account for display configurations that use multiple - video inputs. It does not necessarily indicate that a viewport in the sense - of glViewport must be created with these parameters, though the parameter - order matches for convenience.) - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] left Output: Distance in pixels from the left of the video input - to the left of the viewport. - @param[out] bottom Output: Distance in pixels from the bottom of the video - input to the bottom of the viewport. - @param[out] width Output: Width of viewport in pixels. - @param[out] height Output: Height of viewport in pixels. - - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output arguments are unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetRelativeViewportForViewerEyeSurface( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, OSVR_ViewportDimension *left, - OSVR_ViewportDimension *bottom, OSVR_ViewportDimension *width, - OSVR_ViewportDimension *height); - -/** @brief Get the index of the display input for a surface seen by an eye of a - viewer in a display config. - - This is the OSVR-assigned display input: it may not (and in practice, - usually will not) match any platform-specific display indices. This function - exists to associate surfaces with video inputs as enumerated by - osvrClientGetNumDisplayInputs(). - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] displayInput Zero-based index of the display input pixels for - this surface are tranmitted over. - - This association is **constant** throughout the active, valid lifetime of a - display config object. - - @sa osvrClientGetNumDisplayInputs(), - osvrClientGetRelativeViewportForViewerEyeSurface() - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which - case the output argument is unmodified. - */ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceDisplayInputIndex( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, OSVR_DisplayInputCount *displayInput); - -/** @brief Get the projection matrix for a surface seen by an eye of a viewer - in a display config. (double version) - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param near Distance from viewpoint to near clipping plane - must be - positive. - @param far Distance from viewpoint to far clipping plane - must be positive - and not equal to near, typically greater than near. - @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags) - @param[out] matrix Output projection matrix: supply an array of 16 - (::OSVR_MATRIX_SIZE) doubles. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceProjectionMatrixd( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, double near, double far, - OSVR_MatrixConventions flags, double *matrix); - -/** @brief Get the projection matrix for a surface seen by an eye of a viewer - in a display config. (float version) - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param near Distance to near clipping plane - must be nonzero, typically - positive. - @param far Distance to far clipping plane - must be nonzero, typically - positive and greater than near. - @param flags Bitwise OR of matrix convention flags (see @ref MatrixFlags) - @param[out] matrix Output projection matrix: supply an array of 16 - (::OSVR_MATRIX_SIZE) floats. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceProjectionMatrixf( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, float near, float far, - OSVR_MatrixConventions flags, float *matrix); - -/** @brief Get the clipping planes (positions at unit distance) for a surface - seen by an eye of a viewer - in a display config. - - This is only for use in integrations that cannot accept a fully-formulated - projection matrix as returned by - osvrClientGetViewerEyeSurfaceProjectionMatrixf() or - osvrClientGetViewerEyeSurfaceProjectionMatrixd(), and may not necessarily - provide the same optimizations. - - As all the planes are given at unit (1) distance, before passing these - planes to a consuming function in your application/engine, you will typically - divide them by your near clipping plane distance. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] left Distance to left clipping plane - @param[out] right Distance to right clipping plane - @param[out] bottom Distance to bottom clipping plane - @param[out] top Distance to top clipping plane - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output arguments are unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceProjectionClippingPlanes( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, double *left, double *right, double *bottom, - double *top); - -/** @brief Determines if a surface seen by an eye of a viewer in a display - config requests some distortion to be performed. - - This simply reports true or false, and does not specify which kind of - distortion implementations have been parameterized for this display. For - each distortion implementation your application supports, you'll want to - call the corresponding priority function to find out if it is available. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] distortionRequested Output parameter: whether distortion is - requested. **Constant** throughout the active, valid lifetime of a display - config object. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientDoesViewerEyeSurfaceWantDistortion(OSVR_DisplayConfig disp, - OSVR_ViewerCount viewer, - OSVR_EyeCount eye, - OSVR_SurfaceCount surface, - OSVR_CBool *distortionRequested); - -/** @brief Returns the priority/availability of radial distortion parameters for - a surface seen by an eye of a viewer in a display config. - - If osvrClientDoesViewerEyeSurfaceWantDistortion() reports false, then the - display does not request distortion of any sort, and thus neither this nor - any other distortion strategy priority function will report an "available" - priority. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] priority Output: the priority level. Negative values - (canonically OSVR_DISTORTION_PRIORITY_UNAVAILABLE) indicate this technique - not available, higher values indicate higher preference for the given - technique based on the device's description. **Constant** throughout the - active, valid lifetime of a display config object. - - @return OSVR_RETURN_FAILURE if invalid parameters were passed, in which case - the output argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceRadialDistortionPriority( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, OSVR_DistortionPriority *priority); - -/** @brief Returns the radial distortion parameters, if known/requested, for a - surface seen by an eye of a viewer in a display config. - - Will only succeed if osvrClientGetViewerEyeSurfaceRadialDistortionPriority() - reports a non-negative priority. - - @param disp Display config object - @param viewer Viewer ID - @param eye Eye ID - @param surface Surface ID - @param[out] params Output: the parameters for radial distortion - - @return OSVR_RETURN_FAILURE if this surface does not have these parameters - described, or if invalid parameters were passed, in which case the output - argument is unmodified. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetViewerEyeSurfaceRadialDistortion( - OSVR_DisplayConfig disp, OSVR_ViewerCount viewer, OSVR_EyeCount eye, - OSVR_SurfaceCount surface, OSVR_RadialDistortionParameters *params); - -/** @} - @} -*/ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/Export.h b/gfx/vr/osvr/ClientKit/Export.h deleted file mode 100644 index 94d5f44f4..000000000 --- a/gfx/vr/osvr/ClientKit/Export.h +++ /dev/null @@ -1,138 +0,0 @@ -/** @file - @brief Automatically-generated export header - do not edit! - - @date 2016 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -// Copyright 2016 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef OSVR_CLIENTKIT_EXPORT_H -#define OSVR_CLIENTKIT_EXPORT_H - -#ifdef OSVR_CLIENTKIT_STATIC_DEFINE -# define OSVR_CLIENTKIT_EXPORT -# define OSVR_CLIENTKIT_NO_EXPORT -#endif - -/* Per-compiler advance preventative definition */ -#if defined(__BORLANDC__) || defined(__CODEGEARC__) || defined(__HP_aCC) || \ - defined(__PGI) || defined(__WATCOMC__) -/* Compilers that don't support deprecated, according to CMake. */ -# ifndef OSVR_CLIENTKIT_DEPRECATED -# define OSVR_CLIENTKIT_DEPRECATED -# endif -#endif - -/* Check for attribute support */ -#if defined(__INTEL_COMPILER) -/* Checking before GNUC because Intel implements GNU extensions, - * so it chooses to define __GNUC__ as well. */ -# if __INTEL_COMPILER >= 1200 -/* Intel compiler 12.0 or newer can handle these attributes per CMake */ -# define OSVR_CLIENTKIT_EXPORT_HEADER_SUPPORTS_ATTRIBUTES -# endif - -#elif defined(__GNUC__) -# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) -/* GCC 4.2+ */ -# define OSVR_CLIENTKIT_EXPORT_HEADER_SUPPORTS_ATTRIBUTES -# endif -#endif - -/* Per-platform defines */ -#if defined(_MSC_VER) -/* MSVC on Windows */ - -#ifndef OSVR_CLIENTKIT_EXPORT -# ifdef osvrClientKit_EXPORTS - /* We are building this library */ -# define OSVR_CLIENTKIT_EXPORT __declspec(dllexport) -# else - /* We are using this library */ -# define OSVR_CLIENTKIT_EXPORT __declspec(dllimport) -# endif -#endif - -#ifndef OSVR_CLIENTKIT_DEPRECATED -# define OSVR_CLIENTKIT_DEPRECATED __declspec(deprecated) -#endif - -#elif defined(_WIN32) && defined(__GNUC__) -/* GCC-compatible on Windows */ - -#ifndef OSVR_CLIENTKIT_EXPORT -# ifdef osvrClientKit_EXPORTS - /* We are building this library */ -# define OSVR_CLIENTKIT_EXPORT __attribute__((dllexport)) -# else - /* We are using this library */ -# define OSVR_CLIENTKIT_EXPORT __attribute__((dllimport)) -# endif -#endif - -#ifndef OSVR_CLIENTKIT_DEPRECATED -# define OSVR_CLIENTKIT_DEPRECATED __attribute__((__deprecated__)) -#endif - -#elif defined(OSVR_CLIENTKIT_EXPORT_HEADER_SUPPORTS_ATTRIBUTES) || \ - (defined(__APPLE__) && defined(__MACH__)) -/* GCC4.2+ compatible (assuming something *nix-like) and Mac OS X */ -/* (The first macro is defined at the top of the file, if applicable) */ -/* see https://gcc.gnu.org/wiki/Visibility */ - -#ifndef OSVR_CLIENTKIT_EXPORT - /* We are building/using this library */ -# define OSVR_CLIENTKIT_EXPORT __attribute__((visibility("default"))) -#endif - -#ifndef OSVR_CLIENTKIT_NO_EXPORT -# define OSVR_CLIENTKIT_NO_EXPORT __attribute__((visibility("hidden"))) -#endif - -#ifndef OSVR_CLIENTKIT_DEPRECATED -# define OSVR_CLIENTKIT_DEPRECATED __attribute__((__deprecated__)) -#endif - -#endif -/* End of platform ifdefs */ - -/* fallback def */ -#ifndef OSVR_CLIENTKIT_EXPORT -# define OSVR_CLIENTKIT_EXPORT -#endif - -/* fallback def */ -#ifndef OSVR_CLIENTKIT_NO_EXPORT -# define OSVR_CLIENTKIT_NO_EXPORT -#endif - -/* fallback def */ -#ifndef OSVR_CLIENTKIT_DEPRECATED_EXPORT -# define OSVR_CLIENTKIT_DEPRECATED_EXPORT OSVR_CLIENTKIT_EXPORT OSVR_CLIENTKIT_DEPRECATED -#endif - -/* fallback def */ -#ifndef OSVR_CLIENTKIT_DEPRECATED_NO_EXPORT -# define OSVR_CLIENTKIT_DEPRECATED_NO_EXPORT OSVR_CLIENTKIT_NO_EXPORT OSVR_CLIENTKIT_DEPRECATED -#endif - -/* Clean up after ourselves */ -#undef OSVR_CLIENTKIT_EXPORT_HEADER_SUPPORTS_ATTRIBUTES - -#endif diff --git a/gfx/vr/osvr/ClientKit/InterfaceC.h b/gfx/vr/osvr/ClientKit/InterfaceC.h deleted file mode 100644 index 728350536..000000000 --- a/gfx/vr/osvr/ClientKit/InterfaceC.h +++ /dev/null @@ -1,75 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_InterfaceC_h_GUID_D90BBAA6_AD62_499D_C023_2F6ED8987C17 -#define INCLUDED_InterfaceC_h_GUID_D90BBAA6_AD62_499D_C023_2F6ED8987C17 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/AnnotationMacrosC.h> -#include <osvr/Util/ClientOpaqueTypesC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN -/** @addtogroup ClientKit -@{ -*/ - -/** @brief Get the interface associated with the given path. - @param ctx Client context - @param path A resource path (null-terminated string) - @param[out] iface The interface object. May be freed when no longer needed, - otherwise it will be freed when the context is closed. -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientGetInterface(OSVR_ClientContext ctx, const char path[], - OSVR_ClientInterface *iface); - -/** @brief Free an interface object before context closure. - - @param ctx Client context - @param iface The interface object - - @returns OSVR_RETURN_SUCCESS unless a null context or interface was passed - or the given interface was not found in the context (i.e. had already been - freed) -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientFreeInterface(OSVR_ClientContext ctx, OSVR_ClientInterface iface); - -/** @} */ -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/InterfaceCallbackC.h b/gfx/vr/osvr/ClientKit/InterfaceCallbackC.h deleted file mode 100644 index dde1cef97..000000000 --- a/gfx/vr/osvr/ClientKit/InterfaceCallbackC.h +++ /dev/null @@ -1,77 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_InterfaceCallbacksC_h_GUID_8F16E6CB_F998_4ABC_5B6B_4FC1E4B71BC9 -#define INCLUDED_InterfaceCallbacksC_h_GUID_8F16E6CB_F998_4ABC_5B6B_4FC1E4B71BC9 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/AnnotationMacrosC.h> -#include <osvr/Util/ClientOpaqueTypesC.h> -#include <osvr/Util/ClientCallbackTypesC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -#define OSVR_INTERFACE_CALLBACK_METHOD(TYPE) \ - /** @brief Register a callback for TYPE reports on an interface */ \ - OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrRegister##TYPE##Callback( \ - OSVR_ClientInterface iface, OSVR_##TYPE##Callback cb, void *userdata); - -OSVR_INTERFACE_CALLBACK_METHOD(Pose) -OSVR_INTERFACE_CALLBACK_METHOD(Position) -OSVR_INTERFACE_CALLBACK_METHOD(Orientation) -OSVR_INTERFACE_CALLBACK_METHOD(Velocity) -OSVR_INTERFACE_CALLBACK_METHOD(LinearVelocity) -OSVR_INTERFACE_CALLBACK_METHOD(AngularVelocity) -OSVR_INTERFACE_CALLBACK_METHOD(Acceleration) -OSVR_INTERFACE_CALLBACK_METHOD(LinearAcceleration) -OSVR_INTERFACE_CALLBACK_METHOD(AngularAcceleration) -OSVR_INTERFACE_CALLBACK_METHOD(Button) -OSVR_INTERFACE_CALLBACK_METHOD(Analog) -OSVR_INTERFACE_CALLBACK_METHOD(Imaging) -OSVR_INTERFACE_CALLBACK_METHOD(Location2D) -OSVR_INTERFACE_CALLBACK_METHOD(Direction) -OSVR_INTERFACE_CALLBACK_METHOD(EyeTracker2D) -OSVR_INTERFACE_CALLBACK_METHOD(EyeTracker3D) -OSVR_INTERFACE_CALLBACK_METHOD(EyeTrackerBlink) -OSVR_INTERFACE_CALLBACK_METHOD(NaviVelocity) -OSVR_INTERFACE_CALLBACK_METHOD(NaviPosition) - -#undef OSVR_INTERFACE_CALLBACK_METHOD - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/InterfaceStateC.h b/gfx/vr/osvr/ClientKit/InterfaceStateC.h deleted file mode 100644 index edf9f085c..000000000 --- a/gfx/vr/osvr/ClientKit/InterfaceStateC.h +++ /dev/null @@ -1,79 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_InterfaceStateC_h_GUID_8F85D178_74B9_4AA9_4E9E_243089411408 -#define INCLUDED_InterfaceStateC_h_GUID_8F85D178_74B9_4AA9_4E9E_243089411408 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/AnnotationMacrosC.h> -#include <osvr/Util/ClientOpaqueTypesC.h> -#include <osvr/Util/ClientReportTypesC.h> -#include <osvr/Util/TimeValueC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -#define OSVR_CALLBACK_METHODS(TYPE) \ - /** @brief Get TYPE state from an interface, returning failure if none \ - * exists */ \ - OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode osvrGet##TYPE##State( \ - OSVR_ClientInterface iface, struct OSVR_TimeValue *timestamp, \ - OSVR_##TYPE##State *state); - -OSVR_CALLBACK_METHODS(Pose) -OSVR_CALLBACK_METHODS(Position) -OSVR_CALLBACK_METHODS(Orientation) -OSVR_CALLBACK_METHODS(Velocity) -OSVR_CALLBACK_METHODS(LinearVelocity) -OSVR_CALLBACK_METHODS(AngularVelocity) -OSVR_CALLBACK_METHODS(Acceleration) -OSVR_CALLBACK_METHODS(LinearAcceleration) -OSVR_CALLBACK_METHODS(AngularAcceleration) -OSVR_CALLBACK_METHODS(Button) -OSVR_CALLBACK_METHODS(Analog) -OSVR_CALLBACK_METHODS(Location2D) -OSVR_CALLBACK_METHODS(Direction) -OSVR_CALLBACK_METHODS(EyeTracker2D) -OSVR_CALLBACK_METHODS(EyeTracker3D) -OSVR_CALLBACK_METHODS(EyeTrackerBlink) -OSVR_CALLBACK_METHODS(NaviVelocity) -OSVR_CALLBACK_METHODS(NaviPosition) - -#undef OSVR_CALLBACK_METHODS - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/SystemCallbackC.h b/gfx/vr/osvr/ClientKit/SystemCallbackC.h deleted file mode 100644 index 2476d5f21..000000000 --- a/gfx/vr/osvr/ClientKit/SystemCallbackC.h +++ /dev/null @@ -1,47 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_SystemCallbackC_h_GUID_543F3F04_343E_4389_08A0_DEA988EC23F7 -#define INCLUDED_SystemCallbackC_h_GUID_543F3F04_343E_4389_08A0_DEA988EC23F7 - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/AnnotationMacrosC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/ClientKit/TransformsC.h b/gfx/vr/osvr/ClientKit/TransformsC.h deleted file mode 100644 index 183497dfd..000000000 --- a/gfx/vr/osvr/ClientKit/TransformsC.h +++ /dev/null @@ -1,75 +0,0 @@ -/** @file - @brief Header controlling the OSVR transformation hierarchy - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_TransformsC_h_GUID_5B5B7438_42D4_4095_E48A_90E2CC13498E -#define INCLUDED_TransformsC_h_GUID_5B5B7438_42D4_4095_E48A_90E2CC13498E - -/* Internal Includes */ -#include <osvr/ClientKit/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/ReturnCodesC.h> -#include <osvr/Util/ClientOpaqueTypesC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup ClientKit - @{ -*/ - -/** @brief Updates the internal "room to world" transformation (applied to all - tracker data for this client context instance) based on the user's head - orientation, so that the direction the user is facing becomes -Z to your - application. Only rotates about the Y axis (yaw). - - Note that this method internally calls osvrClientUpdate() to get a head pose - so your callbacks may be called during its execution! - - @param ctx Client context -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientSetRoomRotationUsingHead(OSVR_ClientContext ctx); - -/** @brief Clears/resets the internal "room to world" transformation back to an - identity transformation - that is, clears the effect of any other - manipulation of the room to world transform. - - @param ctx Client context -*/ -OSVR_CLIENTKIT_EXPORT OSVR_ReturnCode -osvrClientClearRoomToWorldTransform(OSVR_ClientContext ctx); - -/** @} */ -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/APIBaseC.h b/gfx/vr/osvr/Util/APIBaseC.h deleted file mode 100644 index 4abe38550..000000000 --- a/gfx/vr/osvr/Util/APIBaseC.h +++ /dev/null @@ -1,50 +0,0 @@ -/** @file - @brief Header providing basic C macros for defining API headers. - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_APIBaseC_h_GUID_C5A2E769_2ADC_429E_D250_DF0883E6E5DB -#define INCLUDED_APIBaseC_h_GUID_C5A2E769_2ADC_429E_D250_DF0883E6E5DB - -#ifdef __cplusplus -#define OSVR_C_ONLY(X) -#define OSVR_CPP_ONLY(X) X -#define OSVR_EXTERN_C_BEGIN extern "C" { -#define OSVR_EXTERN_C_END } -#define OSVR_INLINE inline -#else -#define OSVR_C_ONLY(X) X -#define OSVR_CPP_ONLY(X) -#define OSVR_EXTERN_C_BEGIN -#define OSVR_EXTERN_C_END -#ifdef _MSC_VER -#define OSVR_INLINE static __inline -#else -#define OSVR_INLINE static inline -#endif -#endif - -#endif diff --git a/gfx/vr/osvr/Util/AnnotationMacrosC.h b/gfx/vr/osvr/Util/AnnotationMacrosC.h deleted file mode 100644 index e086608c1..000000000 --- a/gfx/vr/osvr/Util/AnnotationMacrosC.h +++ /dev/null @@ -1,232 +0,0 @@ -/** @file - @brief Header containing macros for source-level annotation. - - In theory, supporting MSVC SAL, as well as compatible GCC and - Clang attributes. In practice, expanded as time allows and requires. - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_AnnotationMacrosC_h_GUID_48538D9B_35E3_4E9A_D2B0_D83D51DD5900 -#define INCLUDED_AnnotationMacrosC_h_GUID_48538D9B_35E3_4E9A_D2B0_D83D51DD5900 - -#ifndef OSVR_DISABLE_ANALYSIS - -#if defined(_MSC_VER) && (_MSC_VER >= 1700) -/* Visual C++ (2012 and newer) */ -/* Using SAL attribute format: - * http://msdn.microsoft.com/en-us/library/ms182032(v=vs.120).aspx */ - -#include <sal.h> - -#define OSVR_IN _In_ -#define OSVR_IN_PTR _In_ -#define OSVR_IN_OPT _In_opt_ -#define OSVR_IN_STRZ _In_z_ -#define OSVR_IN_READS(NUM_ELEMENTS) _In_reads_(NUM_ELEMENTS) - -#define OSVR_OUT _Out_ -#define OSVR_OUT_PTR _Outptr_ -#define OSVR_OUT_OPT _Out_opt_ - -#define OSVR_INOUT _Inout_ -#define OSVR_INOUT_PTR _Inout_ - -#define OSVR_RETURN_WARN_UNUSED _Must_inspect_result_ -#define OSVR_RETURN_SUCCESS_CONDITION(X) _Return_type_success_(X) - -/* end of msvc section */ -#elif defined(__GNUC__) && (__GNUC__ >= 4) -/* section for GCC and GCC-alikes */ - -#if defined(__clang__) -/* clang-specific section */ -#endif - -#define OSVR_FUNC_NONNULL(X) __attribute__((__nonnull__ X)) -#define OSVR_RETURN_WARN_UNUSED __attribute__((warn_unused_result)) - -/* end of gcc section and compiler detection */ -#endif - -/* end of ndef disable analysis */ -#endif - -/* Fallback declarations */ -/** -@defgroup annotation_macros Static analysis annotation macros -@brief Wrappers for Microsoft's SAL annotations and others -@ingroup Util - -Use of these is optional, but recommended particularly for C APIs, -as well as any methods handling a buffer with a length. -@{ -*/ -/** @name Parameter annotations - - These indicate the role and valid values for parameters to functions. - - At most one of these should be placed before a parameter's type name in the - function parameter list, in both the declaration and definition. (They must - match!) - @{ -*/ -/** @def OSVR_IN - @brief Indicates a required function parameter that serves only as input. -*/ -#ifndef OSVR_IN -#define OSVR_IN -#endif - -/** @def OSVR_IN_PTR - @brief Indicates a required pointer (non-null) function parameter that - serves only as input. -*/ -#ifndef OSVR_IN_PTR -#define OSVR_IN_PTR -#endif - -/** @def OSVR_IN_OPT - @brief Indicates a function parameter (pointer) that serves only as input, - but is optional and might be NULL. -*/ -#ifndef OSVR_IN_OPT -#define OSVR_IN_OPT -#endif - -/** @def OSVR_IN_STRZ - @brief Indicates a null-terminated string function parameter that serves - only as input. -*/ -#ifndef OSVR_IN_STRZ -#define OSVR_IN_STRZ -#endif - -/** @def OSVR_IN_READS(NUM_ELEMENTS) - @brief Indicates a buffer containing input with the specified number of - elements. - - The specified number of elements is typically the name of another parameter. -*/ -#ifndef OSVR_IN_READS -#define OSVR_IN_READS(NUM_ELEMENTS) -#endif - -/** @def OSVR_OUT - @brief Indicates a required function parameter that serves only as output. - In C code, since this usually means "pointer", you probably want - OSVR_OUT_PTR instead. -*/ -#ifndef OSVR_OUT -#define OSVR_OUT -#endif - -/** @def OSVR_OUT_PTR - @brief Indicates a required pointer (non-null) function parameter that - serves only as output. -*/ -#ifndef OSVR_OUT_PTR -#define OSVR_OUT_PTR -#endif - -/** @def OSVR_OUT_OPT - @brief Indicates a function parameter (pointer) that serves only as output, - but is optional and might be NULL -*/ -#ifndef OSVR_OUT_OPT -#define OSVR_OUT_OPT -#endif - -/** @def OSVR_INOUT - @brief Indicates a required function parameter that is both read and written - to. - - In C code, since this usually means "pointer", you probably want - OSVR_INOUT_PTR instead. -*/ -#ifndef OSVR_INOUT -#define OSVR_INOUT -#endif - -/** @def OSVR_INOUT_PTR - @brief Indicates a required pointer (non-null) function parameter that is - both read and written to. -*/ -#ifndef OSVR_INOUT_PTR -#define OSVR_INOUT_PTR -#endif - -/* End of parameter annotations. */ -/** @} */ - -/** @name Function annotations - - These indicate particular relevant aspects about a function. Some - duplicate the effective meaning of parameter annotations: applying both - allows the fullest extent of static analysis tools to analyze the code, - and in some compilers, generate warnings. - - @{ -*/ -/** @def OSVR_FUNC_NONNULL(X) - @brief Indicates the parameter(s) that must be non-null. - - @param X A parenthesized list of parameters by number (1-based index) - - Should be placed after a function declaration (but before the - semicolon). Repeating in the definition is not needed. -*/ -#ifndef OSVR_FUNC_NONNULL -#define OSVR_FUNC_NONNULL(X) -#endif - -/** @def OSVR_RETURN_WARN_UNUSED - @brief Indicates the function has a return value that must be used (either a - security problem or an obvious bug if not). - - Should be placed before the return value (and virtual keyword, if - applicable) in both declaration and definition. -*/ -#ifndef OSVR_RETURN_WARN_UNUSED -#define OSVR_RETURN_WARN_UNUSED -#endif -/* End of function annotations. */ -/** @} */ - -/** @def OSVR_RETURN_SUCCESS_CONDITION - @brief Applied to a typedef, indicates the condition for `return` under - which a function returning it should be considered to have succeeded (thus - holding certain specifications). - - Should be placed before the typename in a typedef, with the parameter - including the keyword `return` to substitute for the return value. -*/ -#ifndef OSVR_RETURN_SUCCESS_CONDITION -#define OSVR_RETURN_SUCCESS_CONDITION(X) -#endif - -/* End of annotation group. */ -/** @} */ -#endif diff --git a/gfx/vr/osvr/Util/BoolC.h b/gfx/vr/osvr/Util/BoolC.h deleted file mode 100644 index b50ec7cfd..000000000 --- a/gfx/vr/osvr/Util/BoolC.h +++ /dev/null @@ -1,59 +0,0 @@ -/** @file - @brief Header providing a C-safe "bool" type, because we can't depend on - Visual Studio providing proper C99 support in external-facing APIs. - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_BoolC_h_GUID_4F97BE90_2758_4BA5_B0FC_0CA92DEBA210 -#define INCLUDED_BoolC_h_GUID_4F97BE90_2758_4BA5_B0FC_0CA92DEBA210 - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/StdInt.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN -/** @addtogroup Util -@{ -*/ - -/** @brief A pre-C99-safe bool type. Canonical values for true and false are - * provided. Interpretation of other values is not defined. */ -typedef uint8_t OSVR_CBool; -/** @brief Canonical "true" value for OSVR_CBool */ -#define OSVR_TRUE (1) -/** @brief Canonical "false" value for OSVR_CBool */ -#define OSVR_FALSE (0) - -/** @} */ -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/ChannelCountC.h b/gfx/vr/osvr/Util/ChannelCountC.h deleted file mode 100644 index dc49b3b17..000000000 --- a/gfx/vr/osvr/Util/ChannelCountC.h +++ /dev/null @@ -1,57 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ChannelCountC_h_GUID_CF7E5EE7_28B0_4B99_E823_DD701904B5D1 -#define INCLUDED_ChannelCountC_h_GUID_CF7E5EE7_28B0_4B99_E823_DD701904B5D1 - -/* Internal Includes */ -#include <osvr/Util/StdInt.h> -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup PluginKit -@{ -*/ - -/** @brief The integer type specifying a number of channels/sensors or a -channel/sensor index. -*/ -typedef uint32_t OSVR_ChannelCount; - -/** @} */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/ClientCallbackTypesC.h b/gfx/vr/osvr/Util/ClientCallbackTypesC.h deleted file mode 100644 index ae17381dc..000000000 --- a/gfx/vr/osvr/Util/ClientCallbackTypesC.h +++ /dev/null @@ -1,140 +0,0 @@ -/** @file
- @brief Header
-
- Must be c-safe!
-
- GENERATED - do not edit by hand!
-
- @date 2014
-
- @author
- Sensics, Inc.
- <http://sensics.com/osvr>
-*/
-
-/*
-// Copyright 2014 Sensics, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-*/
-
-#ifndef INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
-#define INCLUDED_ClientCallbackTypesC_h_GUID_4D43A675_C8A4_4BBF_516F_59E6C785E4EF
-
-/* Internal Includes */
-#include <osvr/Util/ClientReportTypesC.h>
-#include <osvr/Util/ImagingReportTypesC.h>
-#include <osvr/Util/ReturnCodesC.h>
-#include <osvr/Util/TimeValueC.h>
-
-/* Library/third-party includes */
-/* none */
-
-/* Standard includes */
-/* none */
-
-OSVR_EXTERN_C_BEGIN
-
-/** @addtogroup ClientKit
- @{
-*/
-
-/** @name Report callback types
- @{
-*/
-
-/* generated file - do not edit! */
-/** @brief C function type for a Pose callback */
-typedef void (*OSVR_PoseCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_PoseReport *report);
-/** @brief C function type for a Position callback */
-typedef void (*OSVR_PositionCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_PositionReport *report);
-/** @brief C function type for a Orientation callback */
-typedef void (*OSVR_OrientationCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_OrientationReport *report);
-/** @brief C function type for a Velocity callback */
-typedef void (*OSVR_VelocityCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_VelocityReport *report);
-/** @brief C function type for a LinearVelocity callback */
-typedef void (*OSVR_LinearVelocityCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_LinearVelocityReport *report);
-/** @brief C function type for a AngularVelocity callback */
-typedef void (*OSVR_AngularVelocityCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_AngularVelocityReport *report);
-/** @brief C function type for a Acceleration callback */
-typedef void (*OSVR_AccelerationCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_AccelerationReport *report);
-/** @brief C function type for a LinearAcceleration callback */
-typedef void (*OSVR_LinearAccelerationCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_LinearAccelerationReport *report);
-/** @brief C function type for a AngularAcceleration callback */
-typedef void (*OSVR_AngularAccelerationCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_AngularAccelerationReport *report);
-/** @brief C function type for a Button callback */
-typedef void (*OSVR_ButtonCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_ButtonReport *report);
-/** @brief C function type for a Analog callback */
-typedef void (*OSVR_AnalogCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_AnalogReport *report);
-/** @brief C function type for a Imaging callback */
-typedef void (*OSVR_ImagingCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_ImagingReport *report);
-/** @brief C function type for a Location2D callback */
-typedef void (*OSVR_Location2DCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_Location2DReport *report);
-/** @brief C function type for a Direction callback */
-typedef void (*OSVR_DirectionCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_DirectionReport *report);
-/** @brief C function type for a EyeTracker2D callback */
-typedef void (*OSVR_EyeTracker2DCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_EyeTracker2DReport *report);
-/** @brief C function type for a EyeTracker3D callback */
-typedef void (*OSVR_EyeTracker3DCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_EyeTracker3DReport *report);
-/** @brief C function type for a EyeTrackerBlink callback */
-typedef void (*OSVR_EyeTrackerBlinkCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_EyeTrackerBlinkReport *report);
-/** @brief C function type for a NaviVelocity callback */
-typedef void (*OSVR_NaviVelocityCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_NaviVelocityReport *report);
-/** @brief C function type for a NaviPosition callback */
-typedef void (*OSVR_NaviPositionCallback)(void *userdata,
- const struct OSVR_TimeValue *timestamp,
- const struct OSVR_NaviPositionReport *report);
-
-/** @} */
-
-/** @} */
-
-OSVR_EXTERN_C_END
-
-#endif
diff --git a/gfx/vr/osvr/Util/ClientOpaqueTypesC.h b/gfx/vr/osvr/Util/ClientOpaqueTypesC.h deleted file mode 100644 index 64eba6d61..000000000 --- a/gfx/vr/osvr/Util/ClientOpaqueTypesC.h +++ /dev/null @@ -1,69 +0,0 @@ -/** @file - @brief Header declaring opaque types used by @ref Client and @ref ClientKit - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ClientOpaqueTypesC_h_GUID_24B79ED2_5751_4BA2_1690_BBD250EBC0C1 -#define INCLUDED_ClientOpaqueTypesC_h_GUID_24B79ED2_5751_4BA2_1690_BBD250EBC0C1 - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup ClientKit - @{ -*/ -/** @brief Opaque handle that should be retained by your application. You need - only and exactly one. - - Created by osvrClientInit() at application start. - - You are required to clean up this handle with osvrClientShutdown(). -*/ -typedef struct OSVR_ClientContextObject *OSVR_ClientContext; - -/** @brief Opaque handle to an interface used for registering callbacks and - getting status. - - You are not required to clean up this handle (it will be automatically - cleaned up when the context is), but you can if you are no longer using it, - using osvrClientFreeInterface() to inform the context that you no longer need - this interface. -*/ -typedef struct OSVR_ClientInterfaceObject *OSVR_ClientInterface; - -/** @} */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/ClientReportTypesC.h b/gfx/vr/osvr/Util/ClientReportTypesC.h deleted file mode 100644 index 85fa5a5a1..000000000 --- a/gfx/vr/osvr/Util/ClientReportTypesC.h +++ /dev/null @@ -1,348 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ClientReportTypesC_h_GUID_E79DAB07_78B7_4795_1EB9_CA6EEB274AEE -#define INCLUDED_ClientReportTypesC_h_GUID_E79DAB07_78B7_4795_1EB9_CA6EEB274AEE - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/Pose3C.h> -#include <osvr/Util/StdInt.h> - -#include <osvr/Util/Vec2C.h> -#include <osvr/Util/Vec3C.h> -#include <osvr/Util/ChannelCountC.h> -#include <osvr/Util/BoolC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup ClientKit - @{ -*/ - -/** @name State types -@{ -*/ -/** @brief Type of position state */ -typedef OSVR_Vec3 OSVR_PositionState; - -/** @brief Type of orientation state */ -typedef OSVR_Quaternion OSVR_OrientationState; - -/** @brief Type of pose state */ -typedef OSVR_Pose3 OSVR_PoseState; - -/** @brief Type of linear velocity state */ -typedef OSVR_Vec3 OSVR_LinearVelocityState; - -/** @brief The quaternion represents the incremental rotation taking place over - a period of dt seconds. Use of dt (which does not necessarily - have to be 1, as other velocity/acceleration representations imply) and an - incremental quaternion allows device reports to be scaled to avoid aliasing -*/ -typedef struct OSVR_IncrementalQuaternion { - OSVR_Quaternion incrementalRotation; - double dt; -} OSVR_IncrementalQuaternion; - -/** @brief Type of angular velocity state: an incremental quaternion, providing - the incremental rotation taking place due to velocity over a period of dt - seconds. -*/ -typedef OSVR_IncrementalQuaternion OSVR_AngularVelocityState; - -/** @brief Struct for combined velocity state */ -typedef struct OSVR_VelocityState { - OSVR_LinearVelocityState linearVelocity; - /** @brief Whether the data source reports valid data for - #OSVR_VelocityState::linearVelocity */ - OSVR_CBool linearVelocityValid; - - OSVR_AngularVelocityState angularVelocity; - /** @brief Whether the data source reports valid data for - #OSVR_VelocityState::angularVelocity */ - OSVR_CBool angularVelocityValid; -} OSVR_VelocityState; - -/** @brief Type of linear acceleration state */ -typedef OSVR_Vec3 OSVR_LinearAccelerationState; - -/** @brief Type of angular acceleration state -*/ -typedef OSVR_IncrementalQuaternion OSVR_AngularAccelerationState; - -/** @brief Struct for combined acceleration state */ -typedef struct OSVR_AccelerationState { - OSVR_LinearAccelerationState linearAcceleration; - /** @brief Whether the data source reports valid data for - #OSVR_AccelerationState::linearAcceleration */ - OSVR_CBool linearAccelerationValid; - - OSVR_AngularAccelerationState angularAcceleration; - /** @brief Whether the data source reports valid data for - #OSVR_AccelerationState::angularAcceleration */ - OSVR_CBool angularAccelerationValid; -} OSVR_AccelerationState; - -/** @brief Type of button state */ -typedef uint8_t OSVR_ButtonState; - -/** @brief OSVR_ButtonState value indicating "button down" */ -#define OSVR_BUTTON_PRESSED (1) - -/** @brief OSVR_ButtonState value indicating "button up" */ -#define OSVR_BUTTON_NOT_PRESSED (0) - -/** @brief Type of analog channel state */ -typedef double OSVR_AnalogState; - -/** @} */ - -/** @name Report types - @{ -*/ -/** @brief Report type for a position callback on a tracker interface */ -typedef struct OSVR_PositionReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The position vector */ - OSVR_PositionState xyz; -} OSVR_PositionReport; - -/** @brief Report type for an orientation callback on a tracker interface */ -typedef struct OSVR_OrientationReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The rotation unit quaternion */ - OSVR_OrientationState rotation; -} OSVR_OrientationReport; - -/** @brief Report type for a pose (position and orientation) callback on a - tracker interface -*/ -typedef struct OSVR_PoseReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The pose structure, containing a position vector and a rotation - quaternion - */ - OSVR_PoseState pose; -} OSVR_PoseReport; - -/** @brief Report type for a velocity (linear and angular) callback on a - tracker interface -*/ -typedef struct OSVR_VelocityReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The data state - note that not all fields are neccesarily valid, - use the `Valid` members to check the status of the other fields. - */ - OSVR_VelocityState state; -} OSVR_VelocityReport; - -/** @brief Report type for a linear velocity callback on a tracker interface -*/ -typedef struct OSVR_LinearVelocityReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The state itself */ - OSVR_LinearVelocityState state; -} OSVR_LinearVelocityReport; - -/** @brief Report type for an angular velocity callback on a tracker interface -*/ -typedef struct OSVR_AngularVelocityReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The state itself */ - OSVR_AngularVelocityState state; -} OSVR_AngularVelocityReport; - -/** @brief Report type for an acceleration (linear and angular) callback on a - tracker interface -*/ -typedef struct OSVR_AccelerationReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The data state - note that not all fields are neccesarily valid, - use the `Valid` members to check the status of the other fields. - */ - OSVR_AccelerationState state; -} OSVR_AccelerationReport; - -/** @brief Report type for a linear acceleration callback on a tracker interface -*/ -typedef struct OSVR_LinearAccelerationReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The state itself */ - OSVR_LinearAccelerationState state; -} OSVR_LinearAccelerationReport; - -/** @brief Report type for an angular acceleration callback on a tracker - interface -*/ -typedef struct OSVR_AngularAccelerationReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The state itself */ - OSVR_AngularAccelerationState state; -} OSVR_AngularAccelerationReport; - -/** @brief Report type for a callback on a button interface */ -typedef struct OSVR_ButtonReport { - /** @brief Identifies the sensor that the report comes from */ - int32_t sensor; - /** @brief The button state: 1 is pressed, 0 is not pressed. */ - OSVR_ButtonState state; -} OSVR_ButtonReport; - -/** @brief Report type for a callback on an analog interface */ -typedef struct OSVR_AnalogReport { - /** @brief Identifies the sensor/channel that the report comes from */ - int32_t sensor; - /** @brief The analog state. */ - OSVR_AnalogState state; -} OSVR_AnalogReport; - -/** @brief Type of location within a 2D region/surface, in normalized - coordinates (in range [0, 1] in standard OSVR coordinate system) -*/ -typedef OSVR_Vec2 OSVR_Location2DState; - -/** @brief Report type for 2D location */ -typedef struct OSVR_Location2DReport { - OSVR_ChannelCount sensor; - OSVR_Location2DState location; -} OSVR_Location2DReport; - -/** @brief Type of unit directional vector in 3D with no particular origin */ -typedef OSVR_Vec3 OSVR_DirectionState; - -/** @brief Report type for 3D Direction vector */ -typedef struct OSVR_DirectionReport { - OSVR_ChannelCount sensor; - OSVR_DirectionState direction; -} OSVR_DirectionReport; - -/** @brief Type of eye gaze direction in 3D which contains 3D vector (position) - containing gaze base point of the user's respective eye in 3D device - coordinates. -*/ -typedef OSVR_PositionState OSVR_EyeGazeBasePoint3DState; - -/** @brief Type of eye gaze position in 2D which contains users's gaze/point of - regard in normalized display coordinates (in range [0, 1] in standard OSVR - coordinate system) -*/ -typedef OSVR_Location2DState OSVR_EyeGazePosition2DState; - -// typedef OSVR_DirectionState OSVR_EyeGazeBasePoint3DState; - -/** @brief Type of 3D vector (direction vector) containing the normalized gaze - direction of user's respective eye */ -typedef OSVR_DirectionState OSVR_EyeGazeDirectionState; - -/** @brief State for 3D gaze report */ -typedef struct OSVR_EyeTracker3DState { - OSVR_CBool directionValid; - OSVR_DirectionState direction; - OSVR_CBool basePointValid; - OSVR_PositionState basePoint; -} OSVR_EyeTracker3DState; - -/** @brief Report type for 3D gaze report */ -typedef struct OSVR_EyeTracker3DReport { - OSVR_ChannelCount sensor; - OSVR_EyeTracker3DState state; -} OSVR_EyeTracker3DReport; - -/** @brief State for 2D location report */ -typedef OSVR_Location2DState OSVR_EyeTracker2DState; - -/** @brief Report type for 2D location report */ -typedef struct OSVR_EyeTracker2DReport { - OSVR_ChannelCount sensor; - OSVR_EyeTracker2DState state; -} OSVR_EyeTracker2DReport; - -/** @brief State for a blink event */ -typedef OSVR_ButtonState OSVR_EyeTrackerBlinkState; - -/** @brief OSVR_EyeTrackerBlinkState value indicating an eyes blink had occurred - */ -#define OSVR_EYE_BLINK (1) - -/** @brief OSVR_EyeTrackerBlinkState value indicating eyes are not blinking */ -#define OSVR_EYE_NO_BLINK (0) - -/** @brief Report type for a blink event */ -typedef struct OSVR_EyeTrackerBlinkReport { - OSVR_ChannelCount sensor; - OSVR_EyeTrackerBlinkState state; -} OSVR_EyeTrackerBlinkReport; - -/** @brief Report type for an Imaging callback (forward declaration) */ -struct OSVR_ImagingReport; - -/** @brief Type of Navigation Velocity state */ -typedef OSVR_Vec2 OSVR_NaviVelocityState; - -/** @brief Type of Navigation Position state */ -typedef OSVR_Vec2 OSVR_NaviPositionState; - -/** @brief Report type for an navigation velocity callback on a tracker - * interface */ -typedef struct OSVR_NaviVelocityReport { - OSVR_ChannelCount sensor; - /** @brief The 2D vector in world coordinate system, in meters/second */ - OSVR_NaviVelocityState state; -} OSVR_NaviVelocityReport; - -/** @brief Report type for an navigation position callback on a tracker - * interface */ -typedef struct OSVR_NaviPositionReport { - OSVR_ChannelCount sensor; - /** @brief The 2D vector in world coordinate system, in meters, relative to - * starting position */ - OSVR_NaviPositionState state; -} OSVR_NaviPositionReport; - -/** @} */ - -/** @} */ -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/Export.h b/gfx/vr/osvr/Util/Export.h deleted file mode 100644 index f3e26b89f..000000000 --- a/gfx/vr/osvr/Util/Export.h +++ /dev/null @@ -1,138 +0,0 @@ -/** @file - @brief Automatically-generated export header - do not edit! - - @date 2016 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -// Copyright 2016 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef OSVR_UTIL_EXPORT_H -#define OSVR_UTIL_EXPORT_H - -#ifdef OSVR_UTIL_STATIC_DEFINE -# define OSVR_UTIL_EXPORT -# define OSVR_UTIL_NO_EXPORT -#endif - -/* Per-compiler advance preventative definition */ -#if defined(__BORLANDC__) || defined(__CODEGEARC__) || defined(__HP_aCC) || \ - defined(__PGI) || defined(__WATCOMC__) -/* Compilers that don't support deprecated, according to CMake. */ -# ifndef OSVR_UTIL_DEPRECATED -# define OSVR_UTIL_DEPRECATED -# endif -#endif - -/* Check for attribute support */ -#if defined(__INTEL_COMPILER) -/* Checking before GNUC because Intel implements GNU extensions, - * so it chooses to define __GNUC__ as well. */ -# if __INTEL_COMPILER >= 1200 -/* Intel compiler 12.0 or newer can handle these attributes per CMake */ -# define OSVR_UTIL_EXPORT_HEADER_SUPPORTS_ATTRIBUTES -# endif - -#elif defined(__GNUC__) -# if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) -/* GCC 4.2+ */ -# define OSVR_UTIL_EXPORT_HEADER_SUPPORTS_ATTRIBUTES -# endif -#endif - -/* Per-platform defines */ -#if defined(_MSC_VER) -/* MSVC on Windows */ - -#ifndef OSVR_UTIL_EXPORT -# ifdef osvrUtil_EXPORTS - /* We are building this library */ -# define OSVR_UTIL_EXPORT __declspec(dllexport) -# else - /* We are using this library */ -# define OSVR_UTIL_EXPORT __declspec(dllimport) -# endif -#endif - -#ifndef OSVR_UTIL_DEPRECATED -# define OSVR_UTIL_DEPRECATED __declspec(deprecated) -#endif - -#elif defined(_WIN32) && defined(__GNUC__) -/* GCC-compatible on Windows */ - -#ifndef OSVR_UTIL_EXPORT -# ifdef osvrUtil_EXPORTS - /* We are building this library */ -# define OSVR_UTIL_EXPORT __attribute__((dllexport)) -# else - /* We are using this library */ -# define OSVR_UTIL_EXPORT __attribute__((dllimport)) -# endif -#endif - -#ifndef OSVR_UTIL_DEPRECATED -# define OSVR_UTIL_DEPRECATED __attribute__((__deprecated__)) -#endif - -#elif defined(OSVR_UTIL_EXPORT_HEADER_SUPPORTS_ATTRIBUTES) || \ - (defined(__APPLE__) && defined(__MACH__)) -/* GCC4.2+ compatible (assuming something *nix-like) and Mac OS X */ -/* (The first macro is defined at the top of the file, if applicable) */ -/* see https://gcc.gnu.org/wiki/Visibility */ - -#ifndef OSVR_UTIL_EXPORT - /* We are building/using this library */ -# define OSVR_UTIL_EXPORT __attribute__((visibility("default"))) -#endif - -#ifndef OSVR_UTIL_NO_EXPORT -# define OSVR_UTIL_NO_EXPORT __attribute__((visibility("hidden"))) -#endif - -#ifndef OSVR_UTIL_DEPRECATED -# define OSVR_UTIL_DEPRECATED __attribute__((__deprecated__)) -#endif - -#endif -/* End of platform ifdefs */ - -/* fallback def */ -#ifndef OSVR_UTIL_EXPORT -# define OSVR_UTIL_EXPORT -#endif - -/* fallback def */ -#ifndef OSVR_UTIL_NO_EXPORT -# define OSVR_UTIL_NO_EXPORT -#endif - -/* fallback def */ -#ifndef OSVR_UTIL_DEPRECATED_EXPORT -# define OSVR_UTIL_DEPRECATED_EXPORT OSVR_UTIL_EXPORT OSVR_UTIL_DEPRECATED -#endif - -/* fallback def */ -#ifndef OSVR_UTIL_DEPRECATED_NO_EXPORT -# define OSVR_UTIL_DEPRECATED_NO_EXPORT OSVR_UTIL_NO_EXPORT OSVR_UTIL_DEPRECATED -#endif - -/* Clean up after ourselves */ -#undef OSVR_UTIL_EXPORT_HEADER_SUPPORTS_ATTRIBUTES - -#endif diff --git a/gfx/vr/osvr/Util/ImagingReportTypesC.h b/gfx/vr/osvr/Util/ImagingReportTypesC.h deleted file mode 100644 index 1ce8b60d6..000000000 --- a/gfx/vr/osvr/Util/ImagingReportTypesC.h +++ /dev/null @@ -1,91 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ImagingReportTypesC_h_GUID_746A7BF8_B92D_4585_CA72_DC5391DEDF24 -#define INCLUDED_ImagingReportTypesC_h_GUID_746A7BF8_B92D_4585_CA72_DC5391DEDF24 - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/StdInt.h> -#include <osvr/Util/ChannelCountC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup ClientKit - @{ -*/ -typedef uint32_t OSVR_ImageDimension; -typedef uint8_t OSVR_ImageChannels; -typedef uint8_t OSVR_ImageDepth; - -/** @brief Type for raw buffer access to image data */ -typedef unsigned char OSVR_ImageBufferElement; - -typedef enum OSVR_ImagingValueType { - OSVR_IVT_UNSIGNED_INT = 0, - OSVR_IVT_SIGNED_INT = 1, - OSVR_IVT_FLOATING_POINT = 2 -} OSVR_ImagingValueType; - -typedef struct OSVR_ImagingMetadata { - /** @brief height in pixels */ - OSVR_ImageDimension height; - /** @brief width in pixels */ - OSVR_ImageDimension width; - /** @brief number of channels of data for each pixel */ - OSVR_ImageChannels channels; - /** @brief the depth (size) in bytes of each channel - valid values are 1, - * 2, 4, and 8 */ - OSVR_ImageDepth depth; - /** @brief Whether values are unsigned ints, signed ints, or floating point - */ - OSVR_ImagingValueType type; - -} OSVR_ImagingMetadata; - -typedef struct OSVR_ImagingState { - OSVR_ImagingMetadata metadata; - OSVR_ImageBufferElement *data; -} OSVR_ImagingState; - -typedef struct OSVR_ImagingReport { - OSVR_ChannelCount sensor; - OSVR_ImagingState state; -} OSVR_ImagingReport; - -/** @} */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/MatrixConventionsC.h b/gfx/vr/osvr/Util/MatrixConventionsC.h deleted file mode 100644 index b1f2c2797..000000000 --- a/gfx/vr/osvr/Util/MatrixConventionsC.h +++ /dev/null @@ -1,190 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_MatrixConventionsC_h_GUID_6FC7A4C6_E6C5_4A96_1C28_C3D21B909681 -#define INCLUDED_MatrixConventionsC_h_GUID_6FC7A4C6_E6C5_4A96_1C28_C3D21B909681 - -/* Internal Includes */ -#include <osvr/Util/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/StdInt.h> -#include <osvr/Util/Pose3C.h> -#include <osvr/Util/ReturnCodesC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @defgroup MatrixConvention Matrix conventions and bit flags - @ingroup UtilMath -*/ - -/** @brief Type for passing matrix convention flags. - @ingroup MatrixConvention -*/ -typedef uint16_t OSVR_MatrixConventions; - -#ifndef OSVR_DOXYGEN_EXTERNAL -/** @brief Bitmasks for testing matrix conventions. - @ingroup MatrixConvention -*/ -typedef enum OSVR_MatrixMasks { - OSVR_MATRIX_MASK_ROWMAJOR = 0x1, - OSVR_MATRIX_MASK_ROWVECTORS = 0x2, - OSVR_MATRIX_MASK_LHINPUT = 0x4, - OSVR_MATRIX_MASK_UNSIGNEDZ = 0x8 -} OSVR_MatrixMasks; -#endif - -/** @defgroup MatrixFlags Matrix flags - @ingroup MatrixConvention - - Bit flags for specifying matrix options. Only one option may be specified - per enum, with all the specified options combined with bitwise-or `|`. - - Most methods that take matrix flags only obey ::OSVR_MatrixOrderingFlags and - ::OSVR_MatrixVectorFlags - the flags that affect memory order. The remaining - flags are for use with projection matrix generation API methods. - - @{ -*/ -/** @brief Flag bit controlling output memory order */ -typedef enum OSVR_MatrixOrderingFlags { - /** @brief Column-major memory order (default) */ - OSVR_MATRIX_COLMAJOR = 0x0, - /** @brief Row-major memory order */ - OSVR_MATRIX_ROWMAJOR = OSVR_MATRIX_MASK_ROWMAJOR -} OSVR_MatrixOrderingFlags; - -/** @brief Flag bit controlling expected input to matrices. - (Related to ::OSVR_MatrixOrderingFlags - setting one to non-default results - in an output change, but setting both to non-default results in effectively - no change in the output. If this blows your mind, just ignore this aside and - carry on.) -*/ -typedef enum OSVR_MatrixVectorFlags { - /** @brief Matrix transforms column vectors (default) */ - OSVR_MATRIX_COLVECTORS = 0x0, - /** @brief Matrix transforms row vectors */ - OSVR_MATRIX_ROWVECTORS = OSVR_MATRIX_MASK_ROWVECTORS -} OSVR_MatrixVectorFlags; - -/** @brief Flag bit to indicate coordinate system input to projection matrix */ -typedef enum OSVR_ProjectionMatrixInputFlags { - /** @brief Matrix takes vectors from a right-handed coordinate system - (default) */ - OSVR_MATRIX_RHINPUT = 0x0, - /** @brief Matrix takes vectors from a left-handed coordinate system */ - OSVR_MATRIX_LHINPUT = OSVR_MATRIX_MASK_LHINPUT - -} OSVR_ProjectionMatrixInputFlags; - -/** @brief Flag bit to indicate the desired post-projection Z value convention - */ -typedef enum OSVR_ProjectionMatrixZFlags { - /** @brief Matrix maps the near and far planes to signed Z values (in the - range [-1, 1]) (default)*/ - OSVR_MATRIX_SIGNEDZ = 0x0, - /** @brief Matrix maps the near and far planes to unsigned Z values (in the - range [0, 1]) */ - OSVR_MATRIX_UNSIGNEDZ = OSVR_MATRIX_MASK_UNSIGNEDZ -} OSVR_ProjectionMatrixZFlags; -/** @} */ /* end of matrix flags group */ - -enum { - /** @brief Constant for the number of elements in the matrices we use - 4x4. - @ingroup MatrixConvention - */ - OSVR_MATRIX_SIZE = 16 -}; - -/** @addtogroup UtilMath - @{ -*/ -/** @brief Set a matrix of doubles based on a Pose3. - @param pose The Pose3 to convert - @param flags Memory ordering flag - see @ref MatrixFlags - @param[out] mat an array of 16 doubles -*/ -OSVR_UTIL_EXPORT OSVR_ReturnCode osvrPose3ToMatrixd( - OSVR_Pose3 const *pose, OSVR_MatrixConventions flags, double *mat); - -/** @brief Set a matrix of floats based on a Pose3. - @param pose The Pose3 to convert - @param flags Memory ordering flag - see @ref MatrixFlags - @param[out] mat an array of 16 floats -*/ -OSVR_UTIL_EXPORT OSVR_ReturnCode osvrPose3ToMatrixf( - OSVR_Pose3 const *pose, OSVR_MatrixConventions flags, float *mat); -/** @} */ - -OSVR_EXTERN_C_END - -#ifdef __cplusplus -/** @brief Set a matrix based on a Pose3. (C++-only overload - detecting scalar - * type) */ -inline OSVR_ReturnCode osvrPose3ToMatrix(OSVR_Pose3 const *pose, - OSVR_MatrixConventions flags, - double *mat) { - return osvrPose3ToMatrixd(pose, flags, mat); -} - -/** @brief Set a matrix based on a Pose3. (C++-only overload - detecting scalar - * type) */ -inline OSVR_ReturnCode osvrPose3ToMatrix(OSVR_Pose3 const *pose, - OSVR_MatrixConventions flags, - float *mat) { - return osvrPose3ToMatrixf(pose, flags, mat); -} - -/** @brief Set a matrix based on a Pose3. (C++-only overload - detects scalar - * and takes array rather than pointer) */ -template <typename Scalar> -inline OSVR_ReturnCode osvrPose3ToMatrix(OSVR_Pose3 const *pose, - OSVR_MatrixConventions flags, - Scalar mat[OSVR_MATRIX_SIZE]) { - return osvrPose3ToMatrix(pose, flags, &(mat[0])); -} -/** @brief Set a matrix based on a Pose3. (C++-only overload - detects scalar, - * takes array, takes pose by reference) */ -template <typename Scalar> -inline OSVR_ReturnCode osvrPose3ToMatrix(OSVR_Pose3 const &pose, - OSVR_MatrixConventions flags, - Scalar mat[OSVR_MATRIX_SIZE]) { - return osvrPose3ToMatrix(&pose, flags, &(mat[0])); -} - -#endif - -/** @} */ - -#endif diff --git a/gfx/vr/osvr/Util/PlatformConfig.h b/gfx/vr/osvr/Util/PlatformConfig.h deleted file mode 100644 index 8342e4f8f..000000000 --- a/gfx/vr/osvr/Util/PlatformConfig.h +++ /dev/null @@ -1,88 +0,0 @@ -/** @file
- @brief Auto-configured header
-
- If this filename ends in `.h`, don't edit it: your edits will
- be lost next time this file is regenerated!
-
- Must be c-safe!
-
- @date 2014
-
- @author
- Sensics, Inc.
- <http://sensics.com/osvr>
-*/
-
-/*
-// Copyright 2014 Sensics, Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-*/
-
-#ifndef INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
-#define INCLUDED_PlatformConfig_h_GUID_0D10E644_8114_4294_A839_699F39E1F0E0
-
-/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
- @brief Does the system have struct timeval in <winsock2.h>?
-*/
-#define OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
-
-/** @def OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H
- @brief Does the system have struct timeval in <sys/time.h>?
-*/
-
-/*
- MinGW and similar environments have both winsock and sys/time.h, so
- we hide this define for disambiguation at the top level.
-*/
-#ifndef OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H
-/* #undef OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H */
-#endif
-
-#if defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_SYS_TIME_H) || \
- defined(OSVR_HAVE_STRUCT_TIMEVAL_IN_WINSOCK2_H)
-#define OSVR_HAVE_STRUCT_TIMEVAL
-#endif
-
-/**
- * Platform-specific variables.
- *
- * Prefer testing for specific compiler or platform features instead of relying
- * on these variables.
- *
- */
-//@{
-/* #undef OSVR_AIX */
-/* #undef OSVR_ANDROID */
-/* #undef OSVR_BSDOS */
-/* #undef OSVR_FREEBSD */
-/* #undef OSVR_HPUX */
-/* #undef OSVR_IRIX */
-/* #undef OSVR_LINUX */
-/* #undef OSVR_KFREEBSD */
-/* #undef OSVR_NETBSD */
-/* #undef OSVR_OPENBSD */
-/* #undef OSVR_OFS1 */
-/* #undef OSVR_SCO_SV */
-/* #undef OSVR_UNIXWARE */
-/* #undef OSVR_XENIX */
-/* #undef OSVR_SUNOS */
-/* #undef OSVR_TRU64 */
-/* #undef OSVR_ULTRIX */
-/* #undef OSVR_CYGWIN */
-/* #undef OSVR_MACOSX */
-#define OSVR_WINDOWS
-//@}
-
-#endif
-
diff --git a/gfx/vr/osvr/Util/Pose3C.h b/gfx/vr/osvr/Util/Pose3C.h deleted file mode 100644 index 173428cfc..000000000 --- a/gfx/vr/osvr/Util/Pose3C.h +++ /dev/null @@ -1,70 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_Pose3C_h_GUID_066CFCE2_229C_4194_5D2B_2602CCD5C439 -#define INCLUDED_Pose3C_h_GUID_066CFCE2_229C_4194_5D2B_2602CCD5C439 - -/* Internal Includes */ - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/Vec3C.h> -#include <osvr/Util/QuaternionC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath - @{ -*/ - -/** @brief A structure defining a 3D (6DOF) rigid body pose: translation and - rotation. -*/ -typedef struct OSVR_Pose3 { - /** @brief Position vector */ - OSVR_Vec3 translation; - /** @brief Orientation as a unit quaternion */ - OSVR_Quaternion rotation; -} OSVR_Pose3; - -/** @brief Set a pose to identity */ -OSVR_INLINE void osvrPose3SetIdentity(OSVR_Pose3 *pose) { - osvrQuatSetIdentity(&(pose->rotation)); - osvrVec3Zero(&(pose->translation)); -} -/** @} */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/QuaternionC.h b/gfx/vr/osvr/Util/QuaternionC.h deleted file mode 100644 index 8056c89a0..000000000 --- a/gfx/vr/osvr/Util/QuaternionC.h +++ /dev/null @@ -1,92 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_QuaternionC_h_GUID_1470A5FE_8209_41A6_C19E_46077FDF9C66 -#define INCLUDED_QuaternionC_h_GUID_1470A5FE_8209_41A6_C19E_46077FDF9C66 - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath - @{ -*/ -/** @brief A structure defining a quaternion, often a unit quaternion - * representing 3D rotation. -*/ -typedef struct OSVR_Quaternion { - /** @brief Internal data - direct access not recommended */ - double data[4]; -} OSVR_Quaternion; - -#define OSVR_QUAT_MEMBER(COMPONENT, INDEX) \ - /** @brief Accessor for quaternion component COMPONENT */ \ - OSVR_INLINE double osvrQuatGet##COMPONENT(OSVR_Quaternion const *q) { \ - return q->data[INDEX]; \ - } \ - /** @brief Setter for quaternion component COMPONENT */ \ - OSVR_INLINE void osvrQuatSet##COMPONENT(OSVR_Quaternion *q, double val) { \ - q->data[INDEX] = val; \ - } - -OSVR_QUAT_MEMBER(W, 0) -OSVR_QUAT_MEMBER(X, 1) -OSVR_QUAT_MEMBER(Y, 2) -OSVR_QUAT_MEMBER(Z, 3) - -#undef OSVR_QUAT_MEMBER - -/** @brief Set a quaternion to the identity rotation */ -OSVR_INLINE void osvrQuatSetIdentity(OSVR_Quaternion *q) { - osvrQuatSetW(q, 1); - osvrQuatSetX(q, 0); - osvrQuatSetY(q, 0); - osvrQuatSetZ(q, 0); -} - -/** @} */ - -OSVR_EXTERN_C_END - -#ifdef __cplusplus -template <typename StreamType> -inline StreamType &operator<<(StreamType &os, OSVR_Quaternion const &quat) { - os << "(" << osvrQuatGetW(&quat) << ", (" << osvrQuatGetX(&quat) << ", " - << osvrQuatGetY(&quat) << ", " << osvrQuatGetZ(&quat) << "))"; - return os; -} -#endif - -#endif diff --git a/gfx/vr/osvr/Util/QuatlibInteropC.h b/gfx/vr/osvr/Util/QuatlibInteropC.h deleted file mode 100644 index ef2a7fe12..000000000 --- a/gfx/vr/osvr/Util/QuatlibInteropC.h +++ /dev/null @@ -1,84 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_QuatlibInteropC_h_GUID_85D92019_F0CC_419C_5F6D_F5A3134AA5D4 -#define INCLUDED_QuatlibInteropC_h_GUID_85D92019_F0CC_419C_5F6D_F5A3134AA5D4 - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/Pose3C.h> - -/* Library/third-party includes */ -#include <quat.h> - -/* Standard includes */ -#include <string.h> - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath - @{ -*/ -OSVR_INLINE void osvrQuatToQuatlib(q_type dest, OSVR_Quaternion const *src) { - dest[Q_W] = osvrQuatGetW(src); - dest[Q_X] = osvrQuatGetX(src); - dest[Q_Y] = osvrQuatGetY(src); - dest[Q_Z] = osvrQuatGetZ(src); -} - -OSVR_INLINE void osvrQuatFromQuatlib(OSVR_Quaternion *dest, q_type const src) { - osvrQuatSetW(dest, src[Q_W]); - osvrQuatSetX(dest, src[Q_X]); - osvrQuatSetY(dest, src[Q_Y]); - osvrQuatSetZ(dest, src[Q_Z]); -} - -OSVR_INLINE void osvrVec3ToQuatlib(q_vec_type dest, OSVR_Vec3 const *src) { - memcpy((void *)(dest), (void const *)(src->data), sizeof(double) * 3); -} - -OSVR_INLINE void osvrVec3FromQuatlib(OSVR_Vec3 *dest, q_vec_type const src) { - memcpy((void *)(dest->data), (void const *)(src), sizeof(double) * 3); -} - -OSVR_INLINE void osvrPose3ToQuatlib(q_xyz_quat_type *dest, - OSVR_Pose3 const *src) { - osvrVec3ToQuatlib(dest->xyz, &(src->translation)); - osvrQuatToQuatlib(dest->quat, &(src->rotation)); -} - -OSVR_INLINE void osvrPose3FromQuatlib(OSVR_Pose3 *dest, - q_xyz_quat_type const *src) { - osvrVec3FromQuatlib(&(dest->translation), src->xyz); - osvrQuatFromQuatlib(&(dest->rotation), src->quat); -} - -/** @} */ - -OSVR_EXTERN_C_END -#endif diff --git a/gfx/vr/osvr/Util/RadialDistortionParametersC.h b/gfx/vr/osvr/Util/RadialDistortionParametersC.h deleted file mode 100644 index ac85a680e..000000000 --- a/gfx/vr/osvr/Util/RadialDistortionParametersC.h +++ /dev/null @@ -1,62 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_RadialDistortionParametersC_h_GUID_925BCEB1_BACA_4DA7_5133_FFF560C72EBD -#define INCLUDED_RadialDistortionParametersC_h_GUID_925BCEB1_BACA_4DA7_5133_FFF560C72EBD - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/Vec2C.h> -#include <osvr/Util/Vec3C.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath -@{ -*/ - -/** @brief Parameters for a per-color-component radial distortion shader -*/ -typedef struct OSVR_RadialDistortionParameters { - /** @brief Vector of K1 coefficients for the R, G, B channels*/ - OSVR_Vec3 k1; - /** @brief Center of projection for the radial distortion, relative to the - bounds of this surface. - */ - OSVR_Vec2 centerOfProjection; -} OSVR_RadialDistortionParameters; - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/RenderingTypesC.h b/gfx/vr/osvr/Util/RenderingTypesC.h deleted file mode 100644 index 51ec0cc09..000000000 --- a/gfx/vr/osvr/Util/RenderingTypesC.h +++ /dev/null @@ -1,134 +0,0 @@ -/** @file - @brief Header with integer types for Viewer, Eye, and Surface - counts/indices, as well as viewport information. - - Must be c-safe! - - @date 2015 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2015 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_RenderingTypesC_h_GUID_6689A6CA_76AC_48AC_A0D0_2902BC95AC35 -#define INCLUDED_RenderingTypesC_h_GUID_6689A6CA_76AC_48AC_A0D0_2902BC95AC35 - -/* Internal Includes */ -#include <osvr/Util/StdInt.h> -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup PluginKit -@{ -*/ - -/** @brief A count or index for a display input in a display config. -*/ -typedef uint8_t OSVR_DisplayInputCount; - -/** @brief The integer type used in specification of size or location of a - display input, in pixels. -*/ -typedef int32_t OSVR_DisplayDimension; - -/** @brief The integer type specifying a number of viewers in a system. - - A "head" is a viewer (though not all viewers are necessarily heads). - - The count is output from osvrClientGetNumViewers(). - - When used as an ID/index, it is zero-based, so values range from 0 to (count - - 1) inclusive. - - The most frequent count is 1, though higher values are theoretically - possible. If you do not handle higher values, do still check and alert the - user if their system reports a higher number, as your application may not - behave as the user expects. -*/ -typedef uint32_t OSVR_ViewerCount; - -/** @brief The integer type specifying the number of eyes (viewpoints) of a - viewer. - - The count for a given viewer is output from osvrClientGetNumEyesForViewer(). - - When used as an ID/index, it is zero-based,so values range from 0 to (count - - 1) inclusive, for a given viewer. - - Use as an ID/index is not meaningful except in conjunction with the ID of - the corresponding viewer. (that is, there is no overall "eye 0", but "viewer - 0, eye 0" is meaningful.) - - In practice, the most frequent counts are 1 (e.g. mono) and 2 (e.g. stereo), - and for example the latter results in eyes with ID 0 and 1 for the viewer. - There is no innate or consistent semantics/meaning ("left" or "right") to - indices guaranteed at this time, and applications should not try to infer - any. -*/ -typedef uint8_t OSVR_EyeCount; - -/** @brief The integer type specifying the number of surfaces seen by a viewer's - eye. - - The count for a given viewer and eye is output from - osvrClientGetNumSurfacesForViewerEye(). Note that the count is not - necessarily equal between eyes of a viewer. - - When used as an ID/index, it is zero-based, so values range from 0 to (count - - 1) inclusive, for a given viewer and eye. - - Use as an ID/index is not meaningful except in conjunction with the IDs of - the corresponding viewer and eye. (that is, there is no overall "surface 0", - but "viewer 0, eye 0, surface 0" is meaningful.) -*/ -typedef uint32_t OSVR_SurfaceCount; - -/** @brief The integer type used in specification of size or location of a - viewport. -*/ -typedef int32_t OSVR_ViewportDimension; - -/** @brief The integer type used to indicate relative priorities of a display - distortion strategy. Negative values are defined to mean that strategy is - unavailable. - - @sa OSVR_DISTORTION_PRIORITY_UNAVAILABLE -*/ -typedef int32_t OSVR_DistortionPriority; - -/** @brief The constant to return as an OSVR_DistortionPriority if a given - strategy is not available for a surface. - - @sa OSVR_DistortionPriority -*/ -#define OSVR_DISTORTION_PRIORITY_UNAVAILABLE (-1) - -/** @} */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/ReturnCodesC.h b/gfx/vr/osvr/Util/ReturnCodesC.h deleted file mode 100644 index 971798ea4..000000000 --- a/gfx/vr/osvr/Util/ReturnCodesC.h +++ /dev/null @@ -1,57 +0,0 @@ -/** @file - @brief Header declaring a type and values for simple C return codes. - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_ReturnCodesC_h_GUID_C81A2FDE_E5BB_4AAA_70A4_C616DD7C141A -#define INCLUDED_ReturnCodesC_h_GUID_C81A2FDE_E5BB_4AAA_70A4_C616DD7C141A - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/AnnotationMacrosC.h> - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup PluginKit - @{ -*/ -/** @name Return Codes - @{ -*/ -/** @brief The "success" value for an OSVR_ReturnCode */ -#define OSVR_RETURN_SUCCESS (0) -/** @brief The "failure" value for an OSVR_ReturnCode */ -#define OSVR_RETURN_FAILURE (1) -/** @brief Return type from C API OSVR functions. */ -typedef OSVR_RETURN_SUCCESS_CONDITION( - return == OSVR_RETURN_SUCCESS) char OSVR_ReturnCode; -/** @} */ - -/** @} */ /* end of group */ - -OSVR_EXTERN_C_END - -#endif diff --git a/gfx/vr/osvr/Util/StdInt.h b/gfx/vr/osvr/Util/StdInt.h deleted file mode 100644 index c9462b62c..000000000 --- a/gfx/vr/osvr/Util/StdInt.h +++ /dev/null @@ -1,42 +0,0 @@ -/** @file - @brief Header wrapping the C99 standard `stdint` header. - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_StdInt_h_GUID_C1AAF35C_C704_4DB7_14AC_615730C4619B -#define INCLUDED_StdInt_h_GUID_C1AAF35C_C704_4DB7_14AC_615730C4619B - -/* IWYU pragma: begin_exports */ - -#if !defined(_MSC_VER) || (defined(_MSC_VER) && _MSC_VER >= 1600) -#include <stdint.h> -#else -#include "MSStdIntC.h" -#endif - -/* IWYU pragma: end_exports */ - -#endif diff --git a/gfx/vr/osvr/Util/TimeValueC.h b/gfx/vr/osvr/Util/TimeValueC.h deleted file mode 100644 index 7dcead654..000000000 --- a/gfx/vr/osvr/Util/TimeValueC.h +++ /dev/null @@ -1,271 +0,0 @@ -/** @file - @brief Header defining a dependency-free, cross-platform substitute for - struct timeval - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_TimeValueC_h_GUID_A02C6917_124D_4CB3_E63E_07F2DA7144E9 -#define INCLUDED_TimeValueC_h_GUID_A02C6917_124D_4CB3_E63E_07F2DA7144E9 - -/* Internal Includes */ -#include <osvr/Util/Export.h> -#include <osvr/Util/APIBaseC.h> -#include <osvr/Util/AnnotationMacrosC.h> -#include <osvr/Util/PlatformConfig.h> -#include <osvr/Util/StdInt.h> -#include <osvr/Util/BoolC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @defgroup UtilTime Timestamp interaction - @ingroup Util - - This provides a level of interoperability with struct timeval on systems - with that facility. It provides a neutral representation with sufficiently - large types. - - For C++ code, use of std::chrono or boost::chrono instead is recommended. - - Note that these time values may not necessarily correlate between processes - so should not be used to estimate or measure latency, etc. - - @{ -*/ - -/** @brief The signed integer type storing the seconds in a struct - OSVR_TimeValue */ -typedef int64_t OSVR_TimeValue_Seconds; -/** @brief The signed integer type storing the microseconds in a struct - OSVR_TimeValue */ -typedef int32_t OSVR_TimeValue_Microseconds; - -/** @brief Standardized, portable parallel to struct timeval for representing - both absolute times and time intervals. - - Where interpreted as an absolute time, its meaning is to be considered the - same as that of the POSIX struct timeval: - time since 00:00 Coordinated Universal Time (UTC), January 1, 1970. - - For best results, please keep normalized. Output of all functions here - is normalized. - */ -typedef struct OSVR_TimeValue { - /** @brief Seconds portion of the time value. */ - OSVR_TimeValue_Seconds seconds; - /** @brief Microseconds portion of the time value. */ - OSVR_TimeValue_Microseconds microseconds; -} OSVR_TimeValue; - -#ifdef OSVR_HAVE_STRUCT_TIMEVAL -/** @brief Gets the current time in the TimeValue. Parallel to gettimeofday. */ -OSVR_UTIL_EXPORT void osvrTimeValueGetNow(OSVR_OUT OSVR_TimeValue *dest) - OSVR_FUNC_NONNULL((1)); - -struct timeval; /* forward declaration */ - -/** @brief Converts from a TimeValue struct to your system's struct timeval. - - @param dest Pointer to an empty struct timeval for your platform. - @param src A pointer to an OSVR_TimeValue you'd like to convert from. - - If either parameter is NULL, the function will return without doing - anything. -*/ -OSVR_UTIL_EXPORT void -osvrTimeValueToStructTimeval(OSVR_OUT struct timeval *dest, - OSVR_IN_PTR const OSVR_TimeValue *src) - OSVR_FUNC_NONNULL((1, 2)); - -/** @brief Converts from a TimeValue struct to your system's struct timeval. - @param dest An OSVR_TimeValue destination pointer. - @param src Pointer to a struct timeval you'd like to convert from. - - The result is normalized. - - If either parameter is NULL, the function will return without doing - anything. -*/ -OSVR_UTIL_EXPORT void -osvrStructTimevalToTimeValue(OSVR_OUT OSVR_TimeValue *dest, - OSVR_IN_PTR const struct timeval *src) - OSVR_FUNC_NONNULL((1, 2)); -#endif - -/** @brief "Normalizes" a time value so that the absolute number of microseconds - is less than 1,000,000, and that the sign of both components is the same. - - @param tv Address of a struct TimeValue to normalize in place. - - If the given pointer is NULL, this function returns without doing anything. -*/ -OSVR_UTIL_EXPORT void osvrTimeValueNormalize(OSVR_INOUT_PTR OSVR_TimeValue *tv) - OSVR_FUNC_NONNULL((1)); - -/** @brief Sums two time values, replacing the first with the result. - - @param tvA Destination and first source. - @param tvB second source - - If a given pointer is NULL, this function returns without doing anything. - - Both parameters are expected to be in normalized form. -*/ -OSVR_UTIL_EXPORT void osvrTimeValueSum(OSVR_INOUT_PTR OSVR_TimeValue *tvA, - OSVR_IN_PTR const OSVR_TimeValue *tvB) - OSVR_FUNC_NONNULL((1, 2)); - -/** @brief Computes the difference between two time values, replacing the first - with the result. - - Effectively, `*tvA = *tvA - *tvB` - - @param tvA Destination and first source. - @param tvB second source - - If a given pointer is NULL, this function returns without doing anything. - - Both parameters are expected to be in normalized form. -*/ -OSVR_UTIL_EXPORT void -osvrTimeValueDifference(OSVR_INOUT_PTR OSVR_TimeValue *tvA, - OSVR_IN_PTR const OSVR_TimeValue *tvB) - OSVR_FUNC_NONNULL((1, 2)); - -/** @brief Compares two time values (assumed to be normalized), returning - the same values as strcmp - - @return <0 if A is earlier than B, 0 if they are the same, and >0 if A - is later than B. -*/ -OSVR_UTIL_EXPORT int osvrTimeValueCmp(OSVR_IN_PTR const OSVR_TimeValue *tvA, - OSVR_IN_PTR const OSVR_TimeValue *tvB) - OSVR_FUNC_NONNULL((1, 2)); - -OSVR_EXTERN_C_END - -/** @brief Compute the difference between the two time values, returning the - duration as a double-precision floating-point number of seconds. - - Effectively, `ret = *tvA - *tvB` - - @param tvA first source. - @param tvB second source - @return Duration of timespan in seconds (floating-point) -*/ -OSVR_INLINE double -osvrTimeValueDurationSeconds(OSVR_IN_PTR const OSVR_TimeValue *tvA, - OSVR_IN_PTR const OSVR_TimeValue *tvB) { - OSVR_TimeValue A = *tvA; - osvrTimeValueDifference(&A, tvB); - double dt = A.seconds + A.microseconds / 1000000.0; - return dt; -} - -/** @brief True if A is later than B */ -OSVR_INLINE OSVR_CBool -osvrTimeValueGreater(OSVR_IN_PTR const OSVR_TimeValue *tvA, - OSVR_IN_PTR const OSVR_TimeValue *tvB) { - if (!tvA || !tvB) { - return OSVR_FALSE; - } - return ((tvA->seconds > tvB->seconds) || - (tvA->seconds == tvB->seconds && - tvA->microseconds > tvB->microseconds)) - ? OSVR_TRUE - : OSVR_FALSE; -} - -#ifdef __cplusplus - -#include <cmath> -#include <cassert> - -/// Returns true if the time value is normalized. Typically used in assertions. -inline bool osvrTimeValueIsNormalized(const OSVR_TimeValue &tv) { -#ifdef __APPLE__ - // apparently standard library used on mac only has floating-point abs? - return std::abs(double(tv.microseconds)) < 1000000 && -#else - return std::abs(tv.microseconds) < 1000000 && -#endif - ((tv.seconds > 0) == (tv.microseconds > 0)); -} - -/// True if A is later than B -inline bool osvrTimeValueGreater(const OSVR_TimeValue &tvA, - const OSVR_TimeValue &tvB) { - assert(osvrTimeValueIsNormalized(tvA) && - "First timevalue argument to comparison was not normalized!"); - assert(osvrTimeValueIsNormalized(tvB) && - "Second timevalue argument to comparison was not normalized!"); - return (tvA.seconds > tvB.seconds) || - (tvA.seconds == tvB.seconds && tvA.microseconds > tvB.microseconds); -} - -/// Operator > overload for time values -inline bool operator>(const OSVR_TimeValue &tvA, const OSVR_TimeValue &tvB) { - return osvrTimeValueGreater(tvA, tvB); -} - -/// Operator < overload for time values -inline bool operator<(const OSVR_TimeValue &tvA, const OSVR_TimeValue &tvB) { - // Change the order of arguments before forwarding. - return osvrTimeValueGreater(tvB, tvA); -} - -/// Operator == overload for time values -inline bool operator==(const OSVR_TimeValue &tvA, const OSVR_TimeValue &tvB) { - assert( - osvrTimeValueIsNormalized(tvA) && - "First timevalue argument to equality comparison was not normalized!"); - assert( - osvrTimeValueIsNormalized(tvB) && - "Second timevalue argument to equality comparison was not normalized!"); - return (tvA.seconds == tvB.seconds) && - (tvA.microseconds == tvB.microseconds); -} -/// Operator == overload for time values -inline bool operator!=(const OSVR_TimeValue &tvA, const OSVR_TimeValue &tvB) { - assert(osvrTimeValueIsNormalized(tvA) && "First timevalue argument to " - "inequality comparison was not " - "normalized!"); - assert(osvrTimeValueIsNormalized(tvB) && "Second timevalue argument to " - "inequality comparison was not " - "normalized!"); - return (tvA.seconds != tvB.seconds) || - (tvA.microseconds != tvB.microseconds); -} -#endif - -/** @} */ - -#endif diff --git a/gfx/vr/osvr/Util/Vec2C.h b/gfx/vr/osvr/Util/Vec2C.h deleted file mode 100644 index 0432a32e7..000000000 --- a/gfx/vr/osvr/Util/Vec2C.h +++ /dev/null @@ -1,86 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_Vec2C_h_GUID_F9715DE4_2649_4182_0F4C_D62121235D5F -#define INCLUDED_Vec2C_h_GUID_F9715DE4_2649_4182_0F4C_D62121235D5F - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath - @{ -*/ -/** @brief A structure defining a 2D vector, which represents position -*/ -typedef struct OSVR_Vec2 { - /** @brief Internal array data. */ - double data[2]; -} OSVR_Vec2; - -#define OSVR_VEC_MEMBER(COMPONENT, INDEX) \ - /** @brief Accessor for Vec2 component COMPONENT */ \ - OSVR_INLINE double osvrVec2Get##COMPONENT(OSVR_Vec2 const *v) { \ - return v->data[INDEX]; \ - } \ - /** @brief Setter for Vec2 component COMPONENT */ \ - OSVR_INLINE void osvrVec2Set##COMPONENT(OSVR_Vec2 *v, double val) { \ - v->data[INDEX] = val; \ - } - -OSVR_VEC_MEMBER(X, 0) -OSVR_VEC_MEMBER(Y, 1) - -#undef OSVR_VEC_MEMBER - -/** @brief Set a Vec2 to the zero vector */ -OSVR_INLINE void osvrVec2Zero(OSVR_Vec2 *v) { - osvrVec2SetX(v, 0); - osvrVec2SetY(v, 0); -} - -/** @} */ - -OSVR_EXTERN_C_END - -#ifdef __cplusplus -template <typename StreamType> -inline StreamType &operator<<(StreamType &os, OSVR_Vec2 const &vec) { - os << "(" << vec.data[0] << ", " << vec.data[1] << ")"; - return os; -} -#endif - -#endif // INCLUDED_Vec2C_h_GUID_F9715DE4_2649_4182_0F4C_D62121235D5F diff --git a/gfx/vr/osvr/Util/Vec3C.h b/gfx/vr/osvr/Util/Vec3C.h deleted file mode 100644 index 666861174..000000000 --- a/gfx/vr/osvr/Util/Vec3C.h +++ /dev/null @@ -1,89 +0,0 @@ -/** @file - @brief Header - - Must be c-safe! - - @date 2014 - - @author - Sensics, Inc. - <http://sensics.com/osvr> -*/ - -/* -// Copyright 2014 Sensics, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -*/ - -#ifndef INCLUDED_Vec3C_h_GUID_BF4E98ED_74CF_4785_DB61_109A00BA74DE -#define INCLUDED_Vec3C_h_GUID_BF4E98ED_74CF_4785_DB61_109A00BA74DE - -/* Internal Includes */ -#include <osvr/Util/APIBaseC.h> - -/* Library/third-party includes */ -/* none */ - -/* Standard includes */ -/* none */ - -OSVR_EXTERN_C_BEGIN - -/** @addtogroup UtilMath - @{ -*/ -/** @brief A structure defining a 3D vector, often a position/translation. -*/ -typedef struct OSVR_Vec3 { - /** @brief Internal array data. */ - double data[3]; -} OSVR_Vec3; - -#define OSVR_VEC_MEMBER(COMPONENT, INDEX) \ - /** @brief Accessor for Vec3 component COMPONENT */ \ - OSVR_INLINE double osvrVec3Get##COMPONENT(OSVR_Vec3 const *v) { \ - return v->data[INDEX]; \ - } \ - /** @brief Setter for Vec3 component COMPONENT */ \ - OSVR_INLINE void osvrVec3Set##COMPONENT(OSVR_Vec3 *v, double val) { \ - v->data[INDEX] = val; \ - } - -OSVR_VEC_MEMBER(X, 0) -OSVR_VEC_MEMBER(Y, 1) -OSVR_VEC_MEMBER(Z, 2) - -#undef OSVR_VEC_MEMBER - -/** @brief Set a Vec3 to the zero vector */ -OSVR_INLINE void osvrVec3Zero(OSVR_Vec3 *v) { - osvrVec3SetX(v, 0); - osvrVec3SetY(v, 0); - osvrVec3SetZ(v, 0); -} - -/** @} */ - -OSVR_EXTERN_C_END - -#ifdef __cplusplus -template <typename StreamType> -inline StreamType &operator<<(StreamType &os, OSVR_Vec3 const &vec) { - os << "(" << vec.data[0] << ", " << vec.data[1] << ", " << vec.data[2] - << ")"; - return os; -} -#endif - -#endif diff --git a/gfx/vr/ovr_capi_dynamic.h b/gfx/vr/ovr_capi_dynamic.h deleted file mode 100644 index 41e313dca..000000000 --- a/gfx/vr/ovr_capi_dynamic.h +++ /dev/null @@ -1,676 +0,0 @@ -/* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -/* This file contains just the needed struct definitions for - * interacting with the Oculus VR C API, without needing to #include - * OVR_CAPI.h directly. Note that it uses the same type names as the - * CAPI, and cannot be #included at the same time as OVR_CAPI.h. It - * does not include the entire C API, just want's needed. - */ - -#ifdef OVR_CAPI_h -#ifdef _MSC_VER -#pragma message("ovr_capi_dyanmic.h: OVR_CAPI.h included before ovr_capi_dynamic.h, skipping this") -#else -#warning OVR_CAPI.h included before ovr_capi_dynamic.h, skipping this -#endif -#define mozilla_ovr_capi_dynamic_h_ - -#else - -#ifndef mozilla_ovr_capi_dynamic_h_ -#define mozilla_ovr_capi_dynamic_h_ - -#define OVR_CAPI_LIMITED_MOZILLA 1 - -#ifdef HAVE_64BIT_BUILD -#define OVR_PTR_SIZE 8 -#define OVR_ON64(x) x -#else -#define OVR_PTR_SIZE 4 -#define OVR_ON64(x) /**/ -#endif - -#if defined(_WIN32) -#define OVR_PFN __cdecl -#else -#define OVR_PFN -#endif - -#if !defined(OVR_ALIGNAS) -#if defined(__GNUC__) || defined(__clang__) -#define OVR_ALIGNAS(n) __attribute__((aligned(n))) -#elif defined(_MSC_VER) || defined(__INTEL_COMPILER) -#define OVR_ALIGNAS(n) __declspec(align(n)) -#elif defined(__CC_ARM) -#define OVR_ALIGNAS(n) __align(n) -#else -#error Need to define OVR_ALIGNAS -#endif -#endif - -#if !defined(OVR_UNUSED_STRUCT_PAD) -#define OVR_UNUSED_STRUCT_PAD(padName, size) char padName[size]; -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef int32_t ovrResult; - -typedef enum { - ovrSuccess = 0, - ovrSuccess_NotVisible = 1000, - ovrSuccess_HMDFirmwareMismatch = 4100, - ovrSuccess_TrackerFirmwareMismatch = 4101, - ovrSuccess_ControllerFirmwareMismatch = 4104, -} ovrSuccessType; - -typedef char ovrBool; -typedef struct OVR_ALIGNAS(4) { int x, y; } ovrVector2i; -typedef struct OVR_ALIGNAS(4) { int w, h; } ovrSizei; -typedef struct OVR_ALIGNAS(4) { ovrVector2i Pos; ovrSizei Size; } ovrRecti; -typedef struct OVR_ALIGNAS(4) { float x, y, z, w; } ovrQuatf; -typedef struct OVR_ALIGNAS(4) { float x, y; } ovrVector2f; -typedef struct OVR_ALIGNAS(4) { float x, y, z; } ovrVector3f; -typedef struct OVR_ALIGNAS(4) { float M[4][4]; } ovrMatrix4f; - -typedef struct OVR_ALIGNAS(4) { - ovrQuatf Orientation; - ovrVector3f Position; -} ovrPosef; - -typedef struct OVR_ALIGNAS(8) { - ovrPosef ThePose; - ovrVector3f AngularVelocity; - ovrVector3f LinearVelocity; - ovrVector3f AngularAcceleration; - ovrVector3f LinearAcceleration; - OVR_UNUSED_STRUCT_PAD(pad0, 4) - double TimeInSeconds; -} ovrPoseStatef; - -typedef struct { - float UpTan; - float DownTan; - float LeftTan; - float RightTan; -} ovrFovPort; - -typedef enum { - ovrHmd_None = 0, - ovrHmd_DK1 = 3, - ovrHmd_DKHD = 4, - ovrHmd_DK2 = 6, - ovrHmd_CB = 8, - ovrHmd_Other = 9, - ovrHmd_E3_2015 = 10, - ovrHmd_ES06 = 11, - ovrHmd_ES09 = 12, - ovrHmd_ES11 = 13, - ovrHmd_CV1 = 14, - ovrHmd_EnumSize = 0x7fffffff -} ovrHmdType; - -typedef enum { - ovrHmdCap_DebugDevice = 0x0010, - ovrHmdCap_EnumSize = 0x7fffffff -} ovrHmdCaps; - -typedef enum -{ - ovrTrackingCap_Orientation = 0x0010, - ovrTrackingCap_MagYawCorrection = 0x0020, - ovrTrackingCap_Position = 0x0040, - ovrTrackingCap_EnumSize = 0x7fffffff -} ovrTrackingCaps; - -typedef enum { - ovrEye_Left = 0, - ovrEye_Right = 1, - ovrEye_Count = 2, - ovrEye_EnumSize = 0x7fffffff -} ovrEyeType; - -typedef enum { - ovrTrackingOrigin_EyeLevel = 0, - ovrTrackingOrigin_FloorLevel = 1, - ovrTrackingOrigin_Count = 2, ///< \internal Count of enumerated elements. - ovrTrackingOrigin_EnumSize = 0x7fffffff ///< \internal Force type int32_t. -} ovrTrackingOrigin; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - char Reserved[8]; -} ovrGraphicsLuid; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - ovrHmdType Type; - OVR_ON64(OVR_UNUSED_STRUCT_PAD(pad0, 4)) - char ProductName[64]; - char Manufacturer[64]; - short VendorId; - short ProductId; - char SerialNumber[24]; - short FirmwareMajor; - short FirmwareMinor; - unsigned int AvailableHmdCaps; - unsigned int DefaultHmdCaps; - unsigned int AvailableTrackingCaps; - unsigned int DefaultTrackingCaps; - ovrFovPort DefaultEyeFov[ovrEye_Count]; - ovrFovPort MaxEyeFov[ovrEye_Count]; - ovrSizei Resolution; - float DisplayRefreshRate; - OVR_ON64(OVR_UNUSED_STRUCT_PAD(pad1, 4)) -} ovrHmdDesc; - -typedef struct ovrHmdStruct* ovrSession; - -typedef enum { - ovrStatus_OrientationTracked = 0x0001, - ovrStatus_PositionTracked = 0x0002, - ovrStatus_EnumSize = 0x7fffffff -} ovrStatusBits; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - float FrustumHFovInRadians; - float FrustumVFovInRadians; - float FrustumNearZInMeters; - float FrustumFarZInMeters; -} ovrTrackerDesc; - -typedef enum { - ovrTracker_Connected = 0x0020, - ovrTracker_PoseTracked = 0x0004 -} ovrTrackerFlags; - -typedef struct OVR_ALIGNAS(8) { - unsigned int TrackerFlags; - ovrPosef Pose; - ovrPosef LeveledPose; - OVR_UNUSED_STRUCT_PAD(pad0, 4) -} ovrTrackerPose; - -typedef struct OVR_ALIGNAS(8) { - ovrPoseStatef HeadPose; - unsigned int StatusFlags; - ovrPoseStatef HandPoses[2]; - unsigned int HandStatusFlags[2]; - ovrPosef CalibratedOrigin; -} ovrTrackingState; - -typedef struct OVR_ALIGNAS(4) { - ovrEyeType Eye; - ovrFovPort Fov; - ovrRecti DistortedViewport; - ovrVector2f PixelsPerTanAngleAtCenter; - ovrVector3f HmdToEyeOffset; -} ovrEyeRenderDesc; - -typedef struct OVR_ALIGNAS(4) { - float Projection22; - float Projection23; - float Projection32; -} ovrTimewarpProjectionDesc; - -typedef struct OVR_ALIGNAS(4) { - ovrVector3f HmdToEyeViewOffset[ovrEye_Count]; - float HmdSpaceToWorldScaleInMeters; -} ovrViewScaleDesc; - -typedef enum { - ovrTexture_2D, - ovrTexture_2D_External, - ovrTexture_Cube, - ovrTexture_Count, - ovrTexture_EnumSize = 0x7fffffff -} ovrTextureType; - -typedef enum { - ovrTextureBind_None, - ovrTextureBind_DX_RenderTarget = 0x0001, - ovrTextureBind_DX_UnorderedAccess = 0x0002, - ovrTextureBind_DX_DepthStencil = 0x0004, - ovrTextureBind_EnumSize = 0x7fffffff -} ovrTextureBindFlags; - -typedef enum { - OVR_FORMAT_UNKNOWN, - OVR_FORMAT_B5G6R5_UNORM, - OVR_FORMAT_B5G5R5A1_UNORM, - OVR_FORMAT_B4G4R4A4_UNORM, - OVR_FORMAT_R8G8B8A8_UNORM, - OVR_FORMAT_R8G8B8A8_UNORM_SRGB, - OVR_FORMAT_B8G8R8A8_UNORM, - OVR_FORMAT_B8G8R8A8_UNORM_SRGB, - OVR_FORMAT_B8G8R8X8_UNORM, - OVR_FORMAT_B8G8R8X8_UNORM_SRGB, - OVR_FORMAT_R16G16B16A16_FLOAT, - OVR_FORMAT_D16_UNORM, - OVR_FORMAT_D24_UNORM_S8_UINT, - OVR_FORMAT_D32_FLOAT, - OVR_FORMAT_D32_FLOAT_S8X24_UINT, - OVR_FORMAT_ENUMSIZE = 0x7fffffff -} ovrTextureFormat; - -typedef enum { - ovrTextureMisc_None, - ovrTextureMisc_DX_Typeless = 0x0001, - ovrTextureMisc_AllowGenerateMips = 0x0002, - ovrTextureMisc_EnumSize = 0x7fffffff -} ovrTextureFlags; - -typedef struct { - ovrTextureType Type; - ovrTextureFormat Format; - int ArraySize; - int Width; - int Height; - int MipLevels; - int SampleCount; - ovrBool StaticImage; - unsigned int MiscFlags; - unsigned int BindFlags; -} ovrTextureSwapChainDesc; - -typedef struct -{ - ovrTextureFormat Format; - int Width; - int Height; - unsigned int MiscFlags; -} ovrMirrorTextureDesc; - -typedef void* ovrTextureSwapChain; -typedef struct ovrMirrorTextureData* ovrMirrorTexture; - - - -typedef enum { - ovrButton_A = 0x00000001, - ovrButton_B = 0x00000002, - ovrButton_RThumb = 0x00000004, - ovrButton_RShoulder = 0x00000008, - ovrButton_RMask = ovrButton_A | ovrButton_B | ovrButton_RThumb | ovrButton_RShoulder, - ovrButton_X = 0x00000100, - ovrButton_Y = 0x00000200, - ovrButton_LThumb = 0x00000400, - ovrButton_LShoulder = 0x00000800, - ovrButton_LMask = ovrButton_X | ovrButton_Y | ovrButton_LThumb | ovrButton_LShoulder, - ovrButton_Up = 0x00010000, - ovrButton_Down = 0x00020000, - ovrButton_Left = 0x00040000, - ovrButton_Right = 0x00080000, - ovrButton_Enter = 0x00100000, - ovrButton_Back = 0x00200000, - ovrButton_VolUp = 0x00400000, - ovrButton_VolDown = 0x00800000, - ovrButton_Home = 0x01000000, - ovrButton_Private = ovrButton_VolUp | ovrButton_VolDown | ovrButton_Home, - ovrButton_EnumSize = 0x7fffffff -} ovrButton; - -typedef enum { - ovrTouch_A = ovrButton_A, - ovrTouch_B = ovrButton_B, - ovrTouch_RThumb = ovrButton_RThumb, - ovrTouch_RIndexTrigger = 0x00000010, - ovrTouch_RButtonMask = ovrTouch_A | ovrTouch_B | ovrTouch_RThumb | ovrTouch_RIndexTrigger, - ovrTouch_X = ovrButton_X, - ovrTouch_Y = ovrButton_Y, - ovrTouch_LThumb = ovrButton_LThumb, - ovrTouch_LIndexTrigger = 0x00001000, - ovrTouch_LButtonMask = ovrTouch_X | ovrTouch_Y | ovrTouch_LThumb | ovrTouch_LIndexTrigger, - ovrTouch_RIndexPointing = 0x00000020, - ovrTouch_RThumbUp = 0x00000040, - ovrTouch_RPoseMask = ovrTouch_RIndexPointing | ovrTouch_RThumbUp, - ovrTouch_LIndexPointing = 0x00002000, - ovrTouch_LThumbUp = 0x00004000, - ovrTouch_LPoseMask = ovrTouch_LIndexPointing | ovrTouch_LThumbUp, - ovrTouch_EnumSize = 0x7fffffff -} ovrTouch; - -typedef enum { - ovrControllerType_None = 0x00, - ovrControllerType_LTouch = 0x01, - ovrControllerType_RTouch = 0x02, - ovrControllerType_Touch = 0x03, - ovrControllerType_Remote = 0x04, - ovrControllerType_XBox = 0x10, - ovrControllerType_Active = 0xff, - ovrControllerType_EnumSize = 0x7fffffff -} ovrControllerType; - -typedef enum { - ovrHand_Left = 0, - ovrHand_Right = 1, - ovrHand_Count = 2, - ovrHand_EnumSize = 0x7fffffff -} ovrHandType; - -typedef struct { - double TimeInSeconds; - unsigned int Buttons; - unsigned int Touches; - float IndexTrigger[ovrHand_Count]; - float HandTrigger[ovrHand_Count]; - ovrVector2f Thumbstick[ovrHand_Count]; - ovrControllerType ControllerType; -} ovrInputState; - -typedef enum { - ovrInit_Debug = 0x00000001, - ovrInit_RequestVersion = 0x00000004, - ovrinit_WritableBits = 0x00ffffff, - ovrInit_EnumSize = 0x7fffffff -} ovrInitFlags; - -typedef enum { - ovrLogLevel_Debug = 0, - ovrLogLevel_Info = 1, - ovrLogLevel_Error = 2, - ovrLogLevel_EnumSize = 0x7fffffff -} ovrLogLevel; - -typedef void (OVR_PFN* ovrLogCallback)(uintptr_t userData, int level, const char* message); - -typedef struct OVR_ALIGNAS(8) { - uint32_t Flags; - uint32_t RequestedMinorVersion; - ovrLogCallback LogCallback; - uintptr_t UserData; - uint32_t ConnectionTimeoutMS; - OVR_ON64(OVR_UNUSED_STRUCT_PAD(pad0, 4)) -} ovrInitParams; - -typedef ovrResult(OVR_PFN* pfn_ovr_Initialize)(const ovrInitParams* params); -typedef void (OVR_PFN* pfn_ovr_Shutdown)(); - -typedef struct { - ovrResult Result; - char ErrorString[512]; -} ovrErrorInfo; - -typedef void (OVR_PFN* pfn_ovr_GetLastErrorInfo)(ovrErrorInfo* errorInfo); -typedef const char* (OVR_PFN* pfn_ovr_GetVersionString)(); -typedef int (OVR_PFN* pfn_ovr_TraceMessage)(int level, const char* message); -typedef ovrHmdDesc (OVR_PFN* pfn_ovr_GetHmdDesc)(ovrSession session); -typedef unsigned int (OVR_PFN* pfn_ovr_GetTrackerCount)(ovrSession session); -typedef ovrTrackerDesc* (OVR_PFN* pfn_ovr_GetTrackerDesc)(ovrSession session, unsigned int trackerDescIndex); -typedef ovrResult (OVR_PFN* pfn_ovr_Create)(ovrSession* pSession, ovrGraphicsLuid* pLuid); -typedef void (OVR_PFN* pfn_ovr_Destroy)(ovrSession session); - -typedef struct { - ovrBool IsVisible; - ovrBool HmdPresent; - ovrBool HmdMounted; - ovrBool DisplayLost; - ovrBool ShouldQuit; - ovrBool ShouldRecenter; -} ovrSessionStatus; - -typedef ovrResult (OVR_PFN* pfn_ovr_GetSessionStatus)(ovrSession session, ovrSessionStatus* sessionStatus); - -typedef ovrResult (OVR_PFN* pfn_ovr_SetTrackingOriginType)(ovrSession session, ovrTrackingOrigin origin); -typedef ovrTrackingOrigin (OVR_PFN* pfn_ovr_GetTrackingOriginType)(ovrSession session); -typedef ovrResult (OVR_PFN* pfn_ovr_RecenterTrackingOrigin)(ovrSession session); -typedef void (OVR_PFN* pfn_ovr_ClearShouldRecenterFlag)(ovrSession session); -typedef ovrTrackingState (OVR_PFN* pfn_ovr_GetTrackingState)(ovrSession session, double absTime, ovrBool latencyMarker); -typedef ovrTrackerPose (OVR_PFN* pfn_ovr_GetTrackerPose)(ovrSession session, unsigned int trackerPoseIndex); -typedef ovrResult (OVR_PFN* pfn_ovr_GetInputState)(ovrSession session, ovrControllerType controllerType, ovrInputState* inputState); -typedef unsigned int (OVR_PFN* pfn_ovr_GetConnectedControllerTypes)(ovrSession session); -typedef ovrResult (OVR_PFN* pfn_ovr_SetControllerVibration)(ovrSession session, ovrControllerType controllerType, float frequency, float amplitude); - -enum { - ovrMaxLayerCount = 16 -}; - -typedef enum { - ovrLayerType_Disabled = 0, - ovrLayerType_EyeFov = 1, - ovrLayerType_Quad = 3, - ovrLayerType_EyeMatrix = 5, - ovrLayerType_EnumSize = 0x7fffffff -} ovrLayerType; - -typedef enum { - ovrLayerFlag_HighQuality = 0x01, - ovrLayerFlag_TextureOriginAtBottomLeft = 0x02, - ovrLayerFlag_HeadLocked = 0x04 -} ovrLayerFlags; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - ovrLayerType Type; - unsigned Flags; -} ovrLayerHeader; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - ovrLayerHeader Header; - ovrTextureSwapChain ColorTexture[ovrEye_Count]; - ovrRecti Viewport[ovrEye_Count]; - ovrFovPort Fov[ovrEye_Count]; - ovrPosef RenderPose[ovrEye_Count]; - double SensorSampleTime; -} ovrLayerEyeFov; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - ovrLayerHeader Header; - ovrTextureSwapChain ColorTexture[ovrEye_Count]; - ovrRecti Viewport[ovrEye_Count]; - ovrPosef RenderPose[ovrEye_Count]; - ovrMatrix4f Matrix[ovrEye_Count]; - double SensorSampleTime; -} ovrLayerEyeMatrix; - -typedef struct OVR_ALIGNAS(OVR_PTR_SIZE) { - ovrLayerHeader Header; - ovrTextureSwapChain ColorTexture; - ovrRecti Viewport; - ovrPosef QuadPoseCenter; - ovrVector2f QuadSize; -} ovrLayerQuad; - -typedef union { - ovrLayerHeader Header; - ovrLayerEyeFov EyeFov; - ovrLayerQuad Quad; -} ovrLayer_Union; - - -typedef ovrResult (OVR_PFN* pfn_ovr_GetTextureSwapChainLength)(ovrSession session, ovrTextureSwapChain chain, int* out_Length); -typedef ovrResult (OVR_PFN* pfn_ovr_GetTextureSwapChainCurrentIndex)(ovrSession session, ovrTextureSwapChain chain, int* out_Index); -typedef ovrResult (OVR_PFN* pfn_ovr_GetTextureSwapChainDesc)(ovrSession session, ovrTextureSwapChain chain, ovrTextureSwapChainDesc* out_Desc); -typedef ovrResult (OVR_PFN* pfn_ovr_CommitTextureSwapChain)(ovrSession session, ovrTextureSwapChain chain); -typedef void (OVR_PFN* pfn_ovr_DestroyTextureSwapChain)(ovrSession session, ovrTextureSwapChain chain); -typedef void (OVR_PFN* pfn_ovr_DestroyMirrorTexture)(ovrSession session, ovrMirrorTexture mirrorTexture); -typedef ovrSizei(OVR_PFN* pfn_ovr_GetFovTextureSize)(ovrSession session, ovrEyeType eye, ovrFovPort fov, float pixelsPerDisplayPixel); -typedef ovrEyeRenderDesc(OVR_PFN* pfn_ovr_GetRenderDesc)(ovrSession session, ovrEyeType eyeType, ovrFovPort fov); -typedef ovrResult(OVR_PFN* pfn_ovr_SubmitFrame)(ovrSession session, unsigned int frameIndex, - const ovrViewScaleDesc* viewScaleDesc, - ovrLayerHeader const * const * layerPtrList, unsigned int layerCount); -typedef double (OVR_PFN* pfn_ovr_GetPredictedDisplayTime)(ovrSession session, long long frameIndex); -typedef double (OVR_PFN* pfn_ovr_GetTimeInSeconds)(); - - -typedef enum { - ovrPerfHud_Off = 0, - ovrPerfHud_PerfSummary = 1, - ovrPerfHud_LatencyTiming = 2, - ovrPerfHud_AppRenderTiming = 3, - ovrPerfHud_CompRenderTiming = 4, - ovrPerfHud_VersionInfo = 5, - ovrPerfHud_Count = 6, - ovrPerfHud_EnumSize = 0x7fffffff -} ovrPerfHudMode; - -typedef enum { - ovrLayerHud_Off = 0, - ovrLayerHud_Info = 1, - ovrLayerHud_EnumSize = 0x7fffffff -} ovrLayerHudMode; - -typedef enum { - ovrDebugHudStereo_Off = 0, - ovrDebugHudStereo_Quad = 1, - ovrDebugHudStereo_QuadWithCrosshair = 2, - ovrDebugHudStereo_CrosshairAtInfinity = 3, - ovrDebugHudStereo_Count, - ovrDebugHudStereo_EnumSize = 0x7fffffff -} ovrDebugHudStereoMode; - -typedef ovrBool(OVR_PFN* pfn_ovr_GetBool)(ovrSession session, const char* propertyName, ovrBool defaultVal); -typedef ovrBool(OVR_PFN* pfn_ovr_SetBool)(ovrSession session, const char* propertyName, ovrBool value); -typedef int (OVR_PFN* pfn_ovr_GetInt)(ovrSession session, const char* propertyName, int defaultVal); -typedef ovrBool (OVR_PFN* pfn_ovr_SetInt)(ovrSession session, const char* propertyName, int value); -typedef float (OVR_PFN* pfn_ovr_GetFloat)(ovrSession session, const char* propertyName, float defaultVal); -typedef ovrBool (OVR_PFN* pfn_ovr_SetFloat)(ovrSession session, const char* propertyName, float value); -typedef unsigned int (OVR_PFN* pfn_ovr_GetFloatArray)(ovrSession session, const char* propertyName, - float values[], unsigned int valuesCapacity); -typedef ovrBool (OVR_PFN* pfn_ovr_SetFloatArray)(ovrSession session, const char* propertyName, - const float values[], unsigned int valuesSize); -typedef const char* (OVR_PFN* pfn_ovr_GetString)(ovrSession session, const char* propertyName, - const char* defaultVal); -typedef ovrBool (OVR_PFN* pfn_ovr_SetString)(ovrSession session, const char* propertyName, - const char* value); - - - -typedef enum { - ovrError_MemoryAllocationFailure = -1000, - ovrError_SocketCreationFailure = -1001, - ovrError_InvalidSession = -1002, - ovrError_Timeout = -1003, - ovrError_NotInitialized = -1004, - ovrError_InvalidParameter = -1005, - ovrError_ServiceError = -1006, - ovrError_NoHmd = -1007, - ovrError_Unsupported = -1009, - ovrError_DeviceUnavailable = -1010, - ovrError_InvalidHeadsetOrientation = -1011, - ovrError_ClientSkippedDestroy = -1012, - ovrError_ClientSkippedShutdown = -1013, - ovrError_AudioReservedBegin = -2000, - ovrError_AudioDeviceNotFound = -2001, - ovrError_AudioComError = -2002, - ovrError_AudioReservedEnd = -2999, - ovrError_Initialize = -3000, - ovrError_LibLoad = -3001, - ovrError_LibVersion = -3002, - ovrError_ServiceConnection = -3003, - ovrError_ServiceVersion = -3004, - ovrError_IncompatibleOS = -3005, - ovrError_DisplayInit = -3006, - ovrError_ServerStart = -3007, - ovrError_Reinitialization = -3008, - ovrError_MismatchedAdapters = -3009, - ovrError_LeakingResources = -3010, - ovrError_ClientVersion = -3011, - ovrError_OutOfDateOS = -3012, - ovrError_OutOfDateGfxDriver = -3013, - ovrError_IncompatibleGPU = -3014, - ovrError_NoValidVRDisplaySystem = -3015, - ovrError_Obsolete = -3016, - ovrError_DisabledOrDefaultAdapter = -3017, - ovrError_HybridGraphicsNotSupported = -3018, - ovrError_DisplayManagerInit = -3019, - ovrError_TrackerDriverInit = -3020, - ovrError_InvalidBundleAdjustment = -4000, - ovrError_USBBandwidth = -4001, - ovrError_USBEnumeratedSpeed = -4002, - ovrError_ImageSensorCommError = -4003, - ovrError_GeneralTrackerFailure = -4004, - ovrError_ExcessiveFrameTruncation = -4005, - ovrError_ExcessiveFrameSkipping = -4006, - ovrError_SyncDisconnected = -4007, - ovrError_TrackerMemoryReadFailure = -4008, - ovrError_TrackerMemoryWriteFailure = -4009, - ovrError_TrackerFrameTimeout = -4010, - ovrError_TrackerTruncatedFrame = -4011, - ovrError_TrackerDriverFailure = -4012, - ovrError_TrackerNRFFailure = -4013, - ovrError_HardwareGone = -4014, - ovrError_NordicEnabledNoSync = -4015, - ovrError_NordicSyncNoFrames = -4016, - ovrError_CatastrophicFailure = -4017, - ovrError_HMDFirmwareMismatch = -4100, - ovrError_TrackerFirmwareMismatch = -4101, - ovrError_BootloaderDeviceDetected = -4102, - ovrError_TrackerCalibrationError = -4103, - ovrError_ControllerFirmwareMismatch = -4104, - ovrError_IMUTooManyLostSamples = -4200, - ovrError_IMURateError = -4201, - ovrError_FeatureReportFailure = -4202, - ovrError_Incomplete = -5000, - ovrError_Abandoned = -5001, - ovrError_DisplayLost = -6000, - ovrError_TextureSwapChainFull = -6001, - ovrError_TextureSwapChainInvalid = -6002, - ovrError_RuntimeException = -7000, - ovrError_MetricsUnknownApp = -90000, - ovrError_MetricsDuplicateApp = -90001, - ovrError_MetricsNoEvents = -90002, - ovrError_MetricsRuntime = -90003, - ovrError_MetricsFile = -90004, - ovrError_MetricsNoClientInfo = -90005, - ovrError_MetricsNoAppMetaData = -90006, - ovrError_MetricsNoApp = -90007, - ovrError_MetricsOafFailure = -90008, - ovrError_MetricsSessionAlreadyActive = -90009, - ovrError_MetricsSessionNotActive = -90010, -} ovrErrorType; - - -#ifdef XP_WIN - -struct IUnknown; - -typedef ovrResult (OVR_PFN* pfn_ovr_CreateTextureSwapChainDX)(ovrSession session, - IUnknown* d3dPtr, - const ovrTextureSwapChainDesc* desc, - ovrTextureSwapChain* out_TextureSwapChain); - -typedef ovrResult (OVR_PFN* pfn_ovr_GetTextureSwapChainBufferDX)(ovrSession session, - ovrTextureSwapChain chain, - int index, - IID iid, - void** out_Buffer); - -typedef ovrResult (OVR_PFN* pfn_ovr_CreateMirrorTextureDX)(ovrSession session, - IUnknown* d3dPtr, - const ovrMirrorTextureDesc* desc, - ovrMirrorTexture* out_MirrorTexture); - -typedef ovrResult (OVR_PFN* pfn_ovr_GetMirrorTextureBufferDX)(ovrSession session, - ovrMirrorTexture mirrorTexture, - IID iid, - void** out_Buffer); - -#endif - - -typedef ovrResult (OVR_PFN* pfn_ovr_CreateTextureSwapChainGL)(ovrSession session, - const ovrTextureSwapChainDesc* desc, - ovrTextureSwapChain* out_TextureSwapChain); - -typedef ovrResult (OVR_PFN* pfn_ovr_GetTextureSwapChainBufferGL)(ovrSession session, - ovrTextureSwapChain chain, - int index, - unsigned int* out_TexId); - -typedef ovrResult (OVR_PFN* pfn_ovr_CreateMirrorTextureGL)(ovrSession session, - const ovrMirrorTextureDesc* desc, - ovrMirrorTexture* out_MirrorTexture); - -typedef ovrResult (OVR_PFN* pfn_ovr_GetMirrorTextureBufferGL)(ovrSession session, - ovrMirrorTexture mirrorTexture, - unsigned int* out_TexId); - -#ifdef __cplusplus -} -#endif - -#endif /* mozilla_ovr_capi_dynamic_h_ */ -#endif /* OVR_CAPI_h */ diff --git a/image/AnimationParams.h b/image/AnimationParams.h new file mode 100644 index 000000000..dc403a4e8 --- /dev/null +++ b/image/AnimationParams.h @@ -0,0 +1,47 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef mozilla_image_AnimationParams_h +#define mozilla_image_AnimationParams_h + +#include <stdint.h> +#include "mozilla/gfx/Rect.h" +#include "FrameTimeout.h" + +namespace mozilla { +namespace image { + +enum class BlendMethod : int8_t { + // All color components of the frame, including alpha, overwrite the current + // contents of the frame's output buffer region. + SOURCE, + + // The frame should be composited onto the output buffer based on its alpha, + // using a simple OVER operation. + OVER +}; + +enum class DisposalMethod : int8_t { + CLEAR_ALL = -1, // Clear the whole image, revealing what's underneath. + NOT_SPECIFIED, // Leave the frame and let the new frame draw on top. + KEEP, // Leave the frame and let the new frame draw on top. + CLEAR, // Clear the frame's area, revealing what's underneath. + RESTORE_PREVIOUS // Restore the previous (composited) frame. +}; + +struct AnimationParams +{ + gfx::IntRect mBlendRect; + FrameTimeout mTimeout; + uint32_t mFrameNum; + BlendMethod mBlendMethod; + DisposalMethod mDisposalMethod; +}; + +} // namespace image +} // namespace mozilla + +#endif // mozilla_image_AnimationParams_h diff --git a/image/Decoder.cpp b/image/Decoder.cpp index f9b1034cf..5ff8c72b5 100644 --- a/image/Decoder.cpp +++ b/image/Decoder.cpp @@ -278,14 +278,14 @@ Decoder::Telemetry() const } nsresult -Decoder::AllocateFrame(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, +Decoder::AllocateFrame(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, - uint8_t aPaletteDepth) + uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams) { - mCurrentFrame = AllocateFrameInternal(aFrameNum, aOutputSize, aFrameRect, - aFormat, aPaletteDepth, + mCurrentFrame = AllocateFrameInternal(aOutputSize, aFrameRect, aFormat, + aPaletteDepth, aAnimParams, mCurrentFrame.get()); if (mCurrentFrame) { @@ -295,7 +295,7 @@ Decoder::AllocateFrame(uint32_t aFrameNum, // We should now be on |aFrameNum|. (Note that we're comparing the frame // number, which is zero-based, with the frame count, which is one-based.) - MOZ_ASSERT(aFrameNum + 1 == mFrameCount); + MOZ_ASSERT_IF(aAnimParams, aAnimParams->mFrameNum + 1 == mFrameCount); // If we're past the first frame, PostIsAnimated() should've been called. MOZ_ASSERT_IF(mFrameCount > 1, HasAnimation()); @@ -309,18 +309,19 @@ Decoder::AllocateFrame(uint32_t aFrameNum, } RawAccessFrameRef -Decoder::AllocateFrameInternal(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, +Decoder::AllocateFrameInternal(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, imgFrame* aPreviousFrame) { if (HasError()) { return RawAccessFrameRef(); } - if (aFrameNum != mFrameCount) { + uint32_t frameNum = aAnimParams ? aAnimParams->mFrameNum : 0; + if (frameNum != mFrameCount) { MOZ_ASSERT_UNREACHABLE("Allocating frames out of order"); return RawAccessFrameRef(); } @@ -334,7 +335,8 @@ Decoder::AllocateFrameInternal(uint32_t aFrameNum, NotNull<RefPtr<imgFrame>> frame = WrapNotNull(new imgFrame()); bool nonPremult = bool(mSurfaceFlags & SurfaceFlags::NO_PREMULTIPLY_ALPHA); if (NS_FAILED(frame->InitForDecoder(aOutputSize, aFrameRect, aFormat, - aPaletteDepth, nonPremult))) { + aPaletteDepth, nonPremult, + aAnimParams))) { NS_WARNING("imgFrame::Init should succeed"); return RawAccessFrameRef(); } @@ -345,22 +347,22 @@ Decoder::AllocateFrameInternal(uint32_t aFrameNum, return RawAccessFrameRef(); } - if (aFrameNum == 1) { + if (frameNum == 1) { MOZ_ASSERT(aPreviousFrame, "Must provide a previous frame when animated"); aPreviousFrame->SetRawAccessOnly(); // If we dispose of the first frame by clearing it, then the first frame's // refresh area is all of itself. // RESTORE_PREVIOUS is invalid (assumed to be DISPOSE_CLEAR). - AnimationData previousFrameData = aPreviousFrame->GetAnimationData(); - if (previousFrameData.mDisposalMethod == DisposalMethod::CLEAR || - previousFrameData.mDisposalMethod == DisposalMethod::CLEAR_ALL || - previousFrameData.mDisposalMethod == DisposalMethod::RESTORE_PREVIOUS) { - mFirstFrameRefreshArea = previousFrameData.mRect; + DisposalMethod prevDisposal = aPreviousFrame->GetDisposalMethod(); + if (prevDisposal == DisposalMethod::CLEAR || + prevDisposal == DisposalMethod::CLEAR_ALL || + prevDisposal == DisposalMethod::RESTORE_PREVIOUS) { + mFirstFrameRefreshArea = aPreviousFrame->GetRect(); } } - if (aFrameNum > 0) { + if (frameNum > 0) { ref->SetRawAccessOnly(); // Some GIFs are huge but only have a small area that they animate. We only @@ -432,13 +434,7 @@ Decoder::PostIsAnimated(FrameTimeout aFirstFrameTimeout) } void -Decoder::PostFrameStop(Opacity aFrameOpacity - /* = Opacity::SOME_TRANSPARENCY */, - DisposalMethod aDisposalMethod - /* = DisposalMethod::KEEP */, - FrameTimeout aTimeout /* = FrameTimeout::Forever() */, - BlendMethod aBlendMethod /* = BlendMethod::OVER */, - const Maybe<nsIntRect>& aBlendRect /* = Nothing() */) +Decoder::PostFrameStop(Opacity aFrameOpacity) { // We should be mid-frame MOZ_ASSERT(!IsMetadataDecode(), "Stopping frame during metadata decode"); @@ -449,12 +445,11 @@ Decoder::PostFrameStop(Opacity aFrameOpacity mInFrame = false; mFinishedNewFrame = true; - mCurrentFrame->Finish(aFrameOpacity, aDisposalMethod, aTimeout, - aBlendMethod, aBlendRect); + mCurrentFrame->Finish(aFrameOpacity); mProgress |= FLAG_FRAME_COMPLETE; - mLoopLength += aTimeout; + mLoopLength += mCurrentFrame->GetTimeout(); // If we're not sending partial invalidations, then we send an invalidation // here when the first frame is complete. diff --git a/image/Decoder.h b/image/Decoder.h index 065a3c213..ed0c19687 100644 --- a/image/Decoder.h +++ b/image/Decoder.h @@ -11,6 +11,7 @@ #include "mozilla/Maybe.h" #include "mozilla/NotNull.h" #include "mozilla/RefPtr.h" +#include "AnimationParams.h" #include "DecodePool.h" #include "DecoderFlags.h" #include "Downscaler.h" @@ -28,6 +29,8 @@ namespace Telemetry { namespace image { +class imgFrame; + struct DecoderFinalStatus final { DecoderFinalStatus(bool aWasMetadataDecode, @@ -443,11 +446,7 @@ protected: // Specify whether this frame is opaque as an optimization. // For animated images, specify the disposal, blend method and timeout for // this frame. - void PostFrameStop(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY, - DisposalMethod aDisposalMethod = DisposalMethod::KEEP, - FrameTimeout aTimeout = FrameTimeout::Forever(), - BlendMethod aBlendMethod = BlendMethod::OVER, - const Maybe<nsIntRect>& aBlendRect = Nothing()); + void PostFrameStop(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY); /** * Called by the decoders when they have a region to invalidate. We may not @@ -476,16 +475,13 @@ protected: /** * Allocates a new frame, making it our current frame if successful. * - * The @aFrameNum parameter only exists as a sanity check; it's illegal to - * create a new frame anywhere but immediately after the existing frames. - * * If a non-paletted frame is desired, pass 0 for aPaletteDepth. */ - nsresult AllocateFrame(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, + nsresult AllocateFrame(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, - uint8_t aPaletteDepth = 0); + uint8_t aPaletteDepth = 0, + const Maybe<AnimationParams>& aAnimParams = Nothing()); private: /// Report that an error was encountered while decoding. @@ -509,11 +505,11 @@ private: return mInFrame ? mFrameCount - 1 : mFrameCount; } - RawAccessFrameRef AllocateFrameInternal(uint32_t aFrameNum, - const gfx::IntSize& aOutputSize, + RawAccessFrameRef AllocateFrameInternal(const gfx::IntSize& aOutputSize, const gfx::IntRect& aFrameRect, gfx::SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, imgFrame* aPreviousFrame); protected: diff --git a/image/DownscalingFilter.h b/image/DownscalingFilter.h index 1485b85c2..936abdcd5 100644 --- a/image/DownscalingFilter.h +++ b/image/DownscalingFilter.h @@ -74,7 +74,7 @@ public: Maybe<SurfaceInvalidRect> TakeInvalidRect() override { return Nothing(); } template <typename... Rest> - nsresult Configure(const DownscalingConfig& aConfig, Rest... aRest) + nsresult Configure(const DownscalingConfig& aConfig, const Rest&... aRest) { return NS_ERROR_FAILURE; } @@ -115,7 +115,7 @@ public: } template <typename... Rest> - nsresult Configure(const DownscalingConfig& aConfig, Rest... aRest) + nsresult Configure(const DownscalingConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { diff --git a/image/FrameTimeout.h b/image/FrameTimeout.h new file mode 100644 index 000000000..4070bba65 --- /dev/null +++ b/image/FrameTimeout.h @@ -0,0 +1,119 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#ifndef mozilla_image_FrameTimeout_h +#define mozilla_image_FrameTimeout_h + +#include <stdint.h> +#include "mozilla/Assertions.h" + +namespace mozilla { +namespace image { + +/** + * FrameTimeout wraps a frame timeout value (measured in milliseconds) after + * first normalizing it. This normalization is necessary because some tools + * generate incorrect frame timeout values which we nevertheless have to + * support. For this reason, code that deals with frame timeouts should always + * use a FrameTimeout value rather than the raw value from the image header. + */ +struct FrameTimeout +{ + /** + * @return a FrameTimeout of zero. This should be used only for math + * involving FrameTimeout values. You can't obtain a zero FrameTimeout from + * FromRawMilliseconds(). + */ + static FrameTimeout Zero() { return FrameTimeout(0); } + + /// @return an infinite FrameTimeout. + static FrameTimeout Forever() { return FrameTimeout(-1); } + + /// @return a FrameTimeout obtained by normalizing a raw timeout value. + static FrameTimeout FromRawMilliseconds(int32_t aRawMilliseconds) + { + // Normalize all infinite timeouts to the same value. + if (aRawMilliseconds < 0) { + return FrameTimeout::Forever(); + } + + // Very small timeout values are problematic for two reasons: we don't want + // to burn energy redrawing animated images extremely fast, and broken tools + // generate these values when they actually want a "default" value, so such + // images won't play back right without normalization. For some context, + // see bug 890743, bug 125137, bug 139677, and bug 207059. The historical + // behavior of IE and Opera was: + // IE 6/Win: + // 10 - 50ms is normalized to 100ms. + // >50ms is used unnormalized. + // Opera 7 final/Win: + // 10ms is normalized to 100ms. + // >10ms is used unnormalized. + if (aRawMilliseconds >= 0 && aRawMilliseconds <= 10 ) { + return FrameTimeout(100); + } + + // The provided timeout value is OK as-is. + return FrameTimeout(aRawMilliseconds); + } + + bool operator==(const FrameTimeout& aOther) const + { + return mTimeout == aOther.mTimeout; + } + + bool operator!=(const FrameTimeout& aOther) const { return !(*this == aOther); } + + FrameTimeout operator+(const FrameTimeout& aOther) + { + if (*this == Forever() || aOther == Forever()) { + return Forever(); + } + + return FrameTimeout(mTimeout + aOther.mTimeout); + } + + FrameTimeout& operator+=(const FrameTimeout& aOther) + { + *this = *this + aOther; + return *this; + } + + /** + * @return this FrameTimeout's value in milliseconds. Illegal to call on a + * an infinite FrameTimeout value. + */ + uint32_t AsMilliseconds() const + { + if (*this == Forever()) { + MOZ_ASSERT_UNREACHABLE("Calling AsMilliseconds() on an infinite FrameTimeout"); + return 100; // Fail to something sane. + } + + return uint32_t(mTimeout); + } + + /** + * @return this FrameTimeout value encoded so that non-negative values + * represent a timeout in milliseconds, and -1 represents an infinite + * timeout. + * + * XXX(seth): This is a backwards compatibility hack that should be removed. + */ + int32_t AsEncodedValueDeprecated() const { return mTimeout; } + +private: + explicit FrameTimeout(int32_t aTimeout) + : mTimeout(aTimeout) + { } + + int32_t mTimeout; +}; + +} // namespace image +} // namespace mozilla + +#endif // mozilla_image_FrameTimeout_h diff --git a/image/SurfaceFilters.h b/image/SurfaceFilters.h index 1885661b9..70c8d4087 100644 --- a/image/SurfaceFilters.h +++ b/image/SurfaceFilters.h @@ -70,7 +70,7 @@ public: { } template <typename... Rest> - nsresult Configure(const DeinterlacingConfig<PixelType>& aConfig, Rest... aRest) + nsresult Configure(const DeinterlacingConfig<PixelType>& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { @@ -360,7 +360,7 @@ public: { } template <typename... Rest> - nsresult Configure(const RemoveFrameRectConfig& aConfig, Rest... aRest) + nsresult Configure(const RemoveFrameRectConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { @@ -590,7 +590,7 @@ public: { } template <typename... Rest> - nsresult Configure(const ADAM7InterpolatingConfig& aConfig, Rest... aRest) + nsresult Configure(const ADAM7InterpolatingConfig& aConfig, const Rest&... aRest) { nsresult rv = mNext.Configure(aRest...); if (NS_FAILED(rv)) { diff --git a/image/SurfacePipe.cpp b/image/SurfacePipe.cpp index 5c306144a..882315112 100644 --- a/image/SurfacePipe.cpp +++ b/image/SurfacePipe.cpp @@ -104,10 +104,11 @@ SurfaceSink::Configure(const SurfaceConfig& aConfig) // XXX(seth): Once every Decoder subclass uses SurfacePipe, we probably want // to allocate the frame directly here and get rid of Decoder::AllocateFrame // altogether. - nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mFrameNum, - surfaceSize, + nsresult rv = aConfig.mDecoder->AllocateFrame(surfaceSize, frameRect, - aConfig.mFormat); + aConfig.mFormat, + /* aPaletteDepth */ 0, + aConfig.mAnimParams); if (NS_FAILED(rv)) { return rv; } @@ -154,11 +155,11 @@ PalettedSurfaceSink::Configure(const PalettedSurfaceConfig& aConfig) // XXX(seth): Once every Decoder subclass uses SurfacePipe, we probably want // to allocate the frame directly here and get rid of Decoder::AllocateFrame // altogether. - nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mFrameNum, - aConfig.mOutputSize, + nsresult rv = aConfig.mDecoder->AllocateFrame(aConfig.mOutputSize, aConfig.mFrameRect, aConfig.mFormat, - aConfig.mPaletteDepth); + aConfig.mPaletteDepth, + aConfig.mAnimParams); if (NS_FAILED(rv)) { return rv; } diff --git a/image/SurfacePipe.h b/image/SurfacePipe.h index f046afa56..61c8d30df 100644 --- a/image/SurfacePipe.h +++ b/image/SurfacePipe.h @@ -34,6 +34,8 @@ #include "mozilla/Variant.h" #include "mozilla/gfx/2D.h" +#include "AnimationParams.h" + namespace mozilla { namespace image { @@ -722,10 +724,10 @@ struct SurfaceConfig { using Filter = SurfaceSink; Decoder* mDecoder; /// Which Decoder to use to allocate the surface. - uint32_t mFrameNum; /// Which frame of animation this surface is for. gfx::IntSize mOutputSize; /// The size of the surface. gfx::SurfaceFormat mFormat; /// The surface format (BGRA or BGRX). bool mFlipVertically; /// If true, write the rows from bottom to top. + Maybe<AnimationParams> mAnimParams; /// Given for animated images. }; /** @@ -750,12 +752,12 @@ struct PalettedSurfaceConfig { using Filter = PalettedSurfaceSink; Decoder* mDecoder; /// Which Decoder to use to allocate the surface. - uint32_t mFrameNum; /// Which frame of animation this surface is for. gfx::IntSize mOutputSize; /// The logical size of the surface. gfx::IntRect mFrameRect; /// The surface subrect which contains data. gfx::SurfaceFormat mFormat; /// The surface format (BGRA or BGRX). uint8_t mPaletteDepth; /// The palette depth of this surface. bool mFlipVertically; /// If true, write the rows from bottom to top. + Maybe<AnimationParams> mAnimParams; /// Given for animated images. }; /** diff --git a/image/SurfacePipeFactory.h b/image/SurfacePipeFactory.h index ff53fec5c..4571f2e13 100644 --- a/image/SurfacePipeFactory.h +++ b/image/SurfacePipeFactory.h @@ -70,8 +70,6 @@ public: * * @param aDecoder The decoder whose current frame the SurfacePipe will write * to. - * @param aFrameNum Which frame the SurfacePipe will write to. This will be 0 - * for non-animated images. * @param aInputSize The original size of the image. * @param aOutputSize The size the SurfacePipe should output. Must be the same * as @aInputSize or smaller. If smaller, the image will be @@ -79,6 +77,7 @@ public: * @param aFrameRect The portion of the image that actually contains data. * @param aFormat The surface format of the image; generally B8G8R8A8 or * B8G8R8X8. + * @param aAnimParams Extra parameters used by animated images. * @param aFlags Flags enabling or disabling various functionality for the * SurfacePipe; see the SurfacePipeFlags documentation for more * information. @@ -89,11 +88,11 @@ public: */ static Maybe<SurfacePipe> CreateSurfacePipe(Decoder* aDecoder, - uint32_t aFrameNum, const nsIntSize& aInputSize, const nsIntSize& aOutputSize, const nsIntRect& aFrameRect, gfx::SurfaceFormat aFormat, + const Maybe<AnimationParams>& aAnimParams, SurfacePipeFlags aFlags) { const bool deinterlace = bool(aFlags & SurfacePipeFlags::DEINTERLACE); @@ -125,8 +124,8 @@ public: ADAM7InterpolatingConfig interpolatingConfig; RemoveFrameRectConfig removeFrameRectConfig { aFrameRect }; DownscalingConfig downscalingConfig { aInputSize, aFormat }; - SurfaceConfig surfaceConfig { aDecoder, aFrameNum, aOutputSize, - aFormat, flipVertically }; + SurfaceConfig surfaceConfig { aDecoder, aOutputSize, aFormat, + flipVertically, aAnimParams }; Maybe<SurfacePipe> pipe; @@ -181,13 +180,12 @@ public: * * @param aDecoder The decoder whose current frame the SurfacePipe will write * to. - * @param aFrameNum Which frame the SurfacePipe will write to. This will be 0 - * for non-animated images. * @param aInputSize The original size of the image. * @param aFrameRect The portion of the image that actually contains data. * @param aFormat The surface format of the image; generally B8G8R8A8 or * B8G8R8X8. * @param aPaletteDepth The palette depth of the image. + * @param aAnimParams Extra parameters used by animated images. * @param aFlags Flags enabling or disabling various functionality for the * SurfacePipe; see the SurfacePipeFlags documentation for more * information. @@ -198,11 +196,11 @@ public: */ static Maybe<SurfacePipe> CreatePalettedSurfacePipe(Decoder* aDecoder, - uint32_t aFrameNum, const nsIntSize& aInputSize, const nsIntRect& aFrameRect, gfx::SurfaceFormat aFormat, uint8_t aPaletteDepth, + const Maybe<AnimationParams>& aAnimParams, SurfacePipeFlags aFlags) { const bool deinterlace = bool(aFlags & SurfacePipeFlags::DEINTERLACE); @@ -211,9 +209,9 @@ public: // Construct configurations for the SurfaceFilters. DeinterlacingConfig<uint8_t> deinterlacingConfig { progressiveDisplay }; - PalettedSurfaceConfig palettedSurfaceConfig { aDecoder, aFrameNum, aInputSize, - aFrameRect, aFormat, aPaletteDepth, - flipVertically }; + PalettedSurfaceConfig palettedSurfaceConfig { aDecoder, aInputSize, aFrameRect, + aFormat, aPaletteDepth, + flipVertically, aAnimParams }; Maybe<SurfacePipe> pipe; @@ -229,7 +227,7 @@ public: private: template <typename... Configs> static Maybe<SurfacePipe> - MakePipe(Configs... aConfigs) + MakePipe(const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); diff --git a/image/decoders/nsBMPDecoder.cpp b/image/decoders/nsBMPDecoder.cpp index 1f0449e4e..42bb3486a 100644 --- a/image/decoders/nsBMPDecoder.cpp +++ b/image/decoders/nsBMPDecoder.cpp @@ -674,8 +674,7 @@ nsBMPDecoder::ReadBitfields(const char* aData, size_t aLength) } MOZ_ASSERT(!mImageData, "Already have a buffer allocated?"); - nsresult rv = AllocateFrame(/* aFrameNum = */ 0, OutputSize(), - FullOutputFrame(), + nsresult rv = AllocateFrame(OutputSize(), FullOutputFrame(), mMayHaveTransparency ? SurfaceFormat::B8G8R8A8 : SurfaceFormat::B8G8R8X8); if (NS_FAILED(rv)) { diff --git a/image/decoders/nsGIFDecoder2.cpp b/image/decoders/nsGIFDecoder2.cpp index 7955438e4..6f2be1fa1 100644 --- a/image/decoders/nsGIFDecoder2.cpp +++ b/image/decoders/nsGIFDecoder2.cpp @@ -187,6 +187,14 @@ nsGIFDecoder2::BeginImageFrame(const IntRect& aFrameRect, // Make sure there's no animation if we're downscaling. MOZ_ASSERT_IF(Size() != OutputSize(), !GetImageMetadata().HasAnimation()); + AnimationParams animParams { + aFrameRect, + FrameTimeout::FromRawMilliseconds(mGIFStruct.delay_time), + uint32_t(mGIFStruct.images_decoded), + BlendMethod::OVER, + DisposalMethod(mGIFStruct.disposal_method) + }; + SurfacePipeFlags pipeFlags = aIsInterlaced ? SurfacePipeFlags::DEINTERLACE : SurfacePipeFlags(); @@ -198,17 +206,24 @@ nsGIFDecoder2::BeginImageFrame(const IntRect& aFrameRect, // The first frame is always decoded into an RGB surface. pipe = - SurfacePipeFactory::CreateSurfacePipe(this, mGIFStruct.images_decoded, - Size(), OutputSize(), - aFrameRect, format, pipeFlags); + SurfacePipeFactory::CreateSurfacePipe(this, Size(), OutputSize(), + aFrameRect, format, + Some(animParams), pipeFlags); } else { // This is an animation frame (and not the first). To minimize the memory // usage of animations, the image data is stored in paletted form. + // + // We should never use paletted surfaces with a draw target directly, so + // the only practical difference between B8G8R8A8 and B8G8R8X8 is the + // cleared pixel value if we get truncated. We want 0 in that case to + // ensure it is an acceptable value for the color map as was the case + // historically. MOZ_ASSERT(Size() == OutputSize()); pipe = - SurfacePipeFactory::CreatePalettedSurfacePipe(this, mGIFStruct.images_decoded, - Size(), aFrameRect, format, - aDepth, pipeFlags); + SurfacePipeFactory::CreatePalettedSurfacePipe(this, Size(), aFrameRect, + SurfaceFormat::B8G8R8A8, + aDepth, Some(animParams), + pipeFlags); } mCurrentFrameIndex = mGIFStruct.images_decoded; @@ -249,9 +264,7 @@ nsGIFDecoder2::EndImageFrame() mGIFStruct.images_decoded++; // Tell the superclass we finished a frame - PostFrameStop(opacity, - DisposalMethod(mGIFStruct.disposal_method), - FrameTimeout::FromRawMilliseconds(mGIFStruct.delay_time)); + PostFrameStop(opacity); // Reset the transparent pixel if (mOldColor) { diff --git a/image/decoders/nsIconDecoder.cpp b/image/decoders/nsIconDecoder.cpp index 9ca63f5ad..b186874c6 100644 --- a/image/decoders/nsIconDecoder.cpp +++ b/image/decoders/nsIconDecoder.cpp @@ -70,8 +70,9 @@ nsIconDecoder::ReadHeader(const char* aData) MOZ_ASSERT(!mImageData, "Already have a buffer allocated?"); Maybe<SurfacePipe> pipe = - SurfacePipeFactory::CreateSurfacePipe(this, 0, Size(), OutputSize(), + SurfacePipeFactory::CreateSurfacePipe(this, Size(), OutputSize(), FullFrame(), SurfaceFormat::B8G8R8A8, + /* aAnimParams */ Nothing(), SurfacePipeFlags()); if (!pipe) { return Transition::TerminateFailure(); diff --git a/image/decoders/nsJPEGDecoder.cpp b/image/decoders/nsJPEGDecoder.cpp index e76ffcbaf..7dac18e27 100644 --- a/image/decoders/nsJPEGDecoder.cpp +++ b/image/decoders/nsJPEGDecoder.cpp @@ -388,8 +388,8 @@ nsJPEGDecoder::ReadJPEGData(const char* aData, size_t aLength) jpeg_has_multiple_scans(&mInfo); MOZ_ASSERT(!mImageData, "Already have a buffer allocated?"); - nsresult rv = AllocateFrame(/* aFrameNum = */ 0, OutputSize(), - FullOutputFrame(), SurfaceFormat::B8G8R8X8); + nsresult rv = AllocateFrame(OutputSize(), FullOutputFrame(), + SurfaceFormat::B8G8R8X8); if (NS_FAILED(rv)) { mState = JPEG_ERROR; MOZ_LOG(sJPEGDecoderAccountingLog, LogLevel::Debug, diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp index 9596ae7d6..1f19c41bc 100644 --- a/image/decoders/nsPNGDecoder.cpp +++ b/image/decoders/nsPNGDecoder.cpp @@ -208,6 +208,25 @@ nsPNGDecoder::CreateFrame(const FrameInfo& aFrameInfo) MOZ_ASSERT_IF(Size() != OutputSize(), transparency != TransparencyType::eFrameRect); + Maybe<AnimationParams> animParams; +#ifdef PNG_APNG_SUPPORTED + if (png_get_valid(mPNG, mInfo, PNG_INFO_acTL)) { + mAnimInfo = AnimFrameInfo(mPNG, mInfo); + + if (mAnimInfo.mDispose == DisposalMethod::CLEAR) { + // We may have to display the background under this image during + // animation playback, so we regard it as transparent. + PostHasTransparency(); + } + + animParams.emplace(AnimationParams { + aFrameInfo.mFrameRect, + FrameTimeout::FromRawMilliseconds(mAnimInfo.mTimeout), + mNumFrames, mAnimInfo.mBlend, mAnimInfo.mDispose + }); + } +#endif + // If this image is interlaced, we can display better quality intermediate // results to the user by post processing them with ADAM7InterpolatingFilter. SurfacePipeFlags pipeFlags = aFrameInfo.mIsInterlaced @@ -220,9 +239,9 @@ nsPNGDecoder::CreateFrame(const FrameInfo& aFrameInfo) } Maybe<SurfacePipe> pipe = - SurfacePipeFactory::CreateSurfacePipe(this, mNumFrames, Size(), - OutputSize(), aFrameInfo.mFrameRect, - format, pipeFlags); + SurfacePipeFactory::CreateSurfacePipe(this, Size(), OutputSize(), + aFrameInfo.mFrameRect, format, + animParams, pipeFlags); if (!pipe) { mPipe = SurfacePipe(); @@ -239,18 +258,6 @@ nsPNGDecoder::CreateFrame(const FrameInfo& aFrameInfo) "image frame with %dx%d pixels for decoder %p", mFrameRect.width, mFrameRect.height, this)); -#ifdef PNG_APNG_SUPPORTED - if (png_get_valid(mPNG, mInfo, PNG_INFO_acTL)) { - mAnimInfo = AnimFrameInfo(mPNG, mInfo); - - if (mAnimInfo.mDispose == DisposalMethod::CLEAR) { - // We may have to display the background under this image during - // animation playback, so we regard it as transparent. - PostHasTransparency(); - } - } -#endif - return NS_OK; } @@ -269,9 +276,7 @@ nsPNGDecoder::EndImageFrame() opacity = Opacity::FULLY_OPAQUE; } - PostFrameStop(opacity, mAnimInfo.mDispose, - FrameTimeout::FromRawMilliseconds(mAnimInfo.mTimeout), - mAnimInfo.mBlend, Some(mFrameRect)); + PostFrameStop(opacity); } nsresult diff --git a/image/decoders/nsWebPDecoder.cpp b/image/decoders/nsWebPDecoder.cpp index 6ed2c3e9c..4f3cc8b2a 100644 --- a/image/decoders/nsWebPDecoder.cpp +++ b/image/decoders/nsWebPDecoder.cpp @@ -19,10 +19,6 @@ static LazyLogModule sWebPLog("WebPDecoder"); nsWebPDecoder::nsWebPDecoder(RasterImage* aImage) : Decoder(aImage) - , mLexer(Transition::ToUnbuffered(State::FINISHED_WEBP_DATA, - State::WEBP_DATA, - SIZE_MAX), - Transition::TerminateSuccess()) , mDecoder(nullptr) , mBlend(BlendMethod::OVER) , mDisposal(DisposalMethod::KEEP) @@ -30,6 +26,13 @@ nsWebPDecoder::nsWebPDecoder(RasterImage* aImage) , mFormat(SurfaceFormat::B8G8R8X8) , mLastRow(0) , mCurrentFrame(0) + , mData(nullptr) + , mLength(0) + , mIteratorComplete(false) + , mNeedDemuxer(true) + , mGotColorProfile(false) + , mInProfile(nullptr) + , mTransform(nullptr) { MOZ_LOG(sWebPLog, LogLevel::Debug, ("[this=%p] nsWebPDecoder::nsWebPDecoder", this)); @@ -39,27 +42,157 @@ nsWebPDecoder::~nsWebPDecoder() { MOZ_LOG(sWebPLog, LogLevel::Debug, ("[this=%p] nsWebPDecoder::~nsWebPDecoder", this)); - WebPIDelete(mDecoder); + if (mDecoder) { + WebPIDelete(mDecoder); + WebPFreeDecBuffer(&mBuffer); + } + if (mInProfile) { + // mTransform belongs to us only if mInProfile is non-null + if (mTransform) { + qcms_transform_release(mTransform); + } + qcms_profile_release(mInProfile); + } +} + +LexerResult +nsWebPDecoder::ReadData() +{ + MOZ_ASSERT(mData); + MOZ_ASSERT(mLength > 0); + + WebPDemuxer* demuxer = nullptr; + bool complete = mIteratorComplete; + + if (mNeedDemuxer) { + WebPDemuxState state; + WebPData fragment; + fragment.bytes = mData; + fragment.size = mLength; + + demuxer = WebPDemuxPartial(&fragment, &state); + if (state == WEBP_DEMUX_PARSE_ERROR) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::ReadData -- demux parse error\n", this)); + WebPDemuxDelete(demuxer); + return LexerResult(TerminalState::FAILURE); + } + + if (state == WEBP_DEMUX_PARSING_HEADER) { + WebPDemuxDelete(demuxer); + return LexerResult(Yield::NEED_MORE_DATA); + } + + if (!demuxer) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::ReadData -- no demuxer\n", this)); + return LexerResult(TerminalState::FAILURE); + } + + complete = complete || state == WEBP_DEMUX_DONE; + } + + LexerResult rv(TerminalState::FAILURE); + if (!HasSize()) { + rv = ReadHeader(demuxer, complete); + } else { + rv = ReadPayload(demuxer, complete); + } + + WebPDemuxDelete(demuxer); + return rv; } LexerResult nsWebPDecoder::DoDecode(SourceBufferIterator& aIterator, IResumable* aOnResume) { + while (true) { + SourceBufferIterator::State state = SourceBufferIterator::COMPLETE; + if (!mIteratorComplete) { + state = aIterator.AdvanceOrScheduleResume(SIZE_MAX, aOnResume); + + // We need to remember since we can't advance a complete iterator. + mIteratorComplete = state == SourceBufferIterator::COMPLETE; + } + + if (state == SourceBufferIterator::WAITING) { + return LexerResult(Yield::NEED_MORE_DATA); + } + + LexerResult rv = UpdateBuffer(aIterator, state); + if (rv.is<Yield>() && rv.as<Yield>() == Yield::NEED_MORE_DATA) { + // We need to check the iterator to see if more is available before + // giving up unless we are already complete. + if (mIteratorComplete) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::DoDecode -- read all data, " + "but needs more\n", this)); + return LexerResult(TerminalState::FAILURE); + } + continue; + } + + return rv; + } +} + +LexerResult +nsWebPDecoder::UpdateBuffer(SourceBufferIterator& aIterator, + SourceBufferIterator::State aState) +{ MOZ_ASSERT(!HasError(), "Shouldn't call DoDecode after error!"); - return mLexer.Lex(aIterator, aOnResume, - [=](State aState, const char* aData, size_t aLength) { - switch (aState) { - case State::WEBP_DATA: - if (!HasSize()) { - return ReadHeader(aData, aLength); - } - return ReadPayload(aData, aLength); - case State::FINISHED_WEBP_DATA: - return FinishedData(); + switch (aState) { + case SourceBufferIterator::READY: + if (!mData) { + // For as long as we hold onto an iterator, we know the data pointers + // to the chunks cannot change underneath us, so save the pointer to + // the first block. + MOZ_ASSERT(mLength == 0); + mData = reinterpret_cast<const uint8_t*>(aIterator.Data()); + } + mLength += aIterator.Length(); + return ReadData(); + case SourceBufferIterator::COMPLETE: + return ReadData(); + default: + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::DoDecode -- bad state\n", this)); + return LexerResult(TerminalState::FAILURE); + } + + // We need to buffer. If we have no data buffered, we need to get everything + // from the first chunk of the source buffer before appending the new data. + if (mBufferedData.empty()) { + MOZ_ASSERT(mData); + MOZ_ASSERT(mLength > 0); + + if (!mBufferedData.append(mData, mLength)) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::DoDecode -- oom, initialize %zu\n", + this, mLength)); + return LexerResult(TerminalState::FAILURE); } - MOZ_CRASH("Unknown State"); - }); + + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::DoDecode -- buffered %zu bytes\n", + this, mLength)); + } + + // Append the incremental data from the iterator. + if (!mBufferedData.append(aIterator.Data(), aIterator.Length())) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::DoDecode -- oom, append %zu on %zu\n", + this, aIterator.Length(), mBufferedData.length())); + return LexerResult(TerminalState::FAILURE); + } + + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::DoDecode -- buffered %zu -> %zu bytes\n", + this, aIterator.Length(), mBufferedData.length())); + mData = mBufferedData.begin(); + mLength = mBufferedData.length(); + return ReadData(); } nsresult @@ -69,13 +202,22 @@ nsWebPDecoder::CreateFrame(const nsIntRect& aFrameRect) MOZ_ASSERT(!mDecoder); MOZ_LOG(sWebPLog, LogLevel::Debug, - ("[this=%p] nsWebPDecoder::CreateFrame -- frame %u, %d x %d\n", - this, mCurrentFrame, aFrameRect.width, aFrameRect.height)); + ("[this=%p] nsWebPDecoder::CreateFrame -- frame %u, (%d, %d) %d x %d\n", + this, mCurrentFrame, aFrameRect.x, aFrameRect.y, + aFrameRect.width, aFrameRect.height)); + + if (aFrameRect.width <= 0 || aFrameRect.height <= 0) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::CreateFrame -- bad frame rect\n", + this)); + return NS_ERROR_FAILURE; + } // If this is our first frame in an animation and it doesn't cover the // full frame, then we are transparent even if there is no alpha if (mCurrentFrame == 0 && !aFrameRect.IsEqualEdges(FullFrame())) { MOZ_ASSERT(HasAnimation()); + mFormat = SurfaceFormat::B8G8R8A8; PostHasTransparency(); } @@ -90,16 +232,22 @@ nsWebPDecoder::CreateFrame(const nsIntRect& aFrameRect) return NS_ERROR_FAILURE; } + SurfacePipeFlags pipeFlags = SurfacePipeFlags(); + + AnimationParams animParams { + aFrameRect, mTimeout, mCurrentFrame, mBlend, mDisposal + }; + Maybe<SurfacePipe> pipe = SurfacePipeFactory::CreateSurfacePipe(this, - mCurrentFrame, Size(), OutputSize(), aFrameRect, - mFormat, SurfacePipeFlags()); + Size(), OutputSize(), aFrameRect, mFormat, Some(animParams), pipeFlags); if (!pipe) { MOZ_LOG(sWebPLog, LogLevel::Error, ("[this=%p] nsWebPDecoder::CreateFrame -- no pipe\n", this)); return NS_ERROR_FAILURE; } - mPipe = Move(*pipe); + mFrameRect = aFrameRect; + mPipe = std::move(*pipe); return NS_OK; } @@ -118,154 +266,149 @@ nsWebPDecoder::EndFrame() this, mCurrentFrame, (int)opacity, (int)mDisposal, mTimeout.AsEncodedValueDeprecated(), (int)mBlend)); - PostFrameStop(opacity, mDisposal, mTimeout, mBlend); - WebPFreeDecBuffer(&mBuffer); + PostFrameStop(opacity); WebPIDelete(mDecoder); + WebPFreeDecBuffer(&mBuffer); mDecoder = nullptr; mLastRow = 0; ++mCurrentFrame; } -nsresult -nsWebPDecoder::GetDataBuffer(const uint8_t*& aData, size_t& aLength) +void +nsWebPDecoder::ApplyColorProfile(const char* aProfile, size_t aLength) { - if (!mData.empty() && mData.begin() != aData) { - if (!mData.append(aData, aLength)) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::GetDataBuffer -- oom, append %zu on %zu\n", - this, aLength, mData.length())); - return NS_ERROR_OUT_OF_MEMORY; - } - aData = mData.begin(); - aLength = mData.length(); + MOZ_ASSERT(!mGotColorProfile); + mGotColorProfile = true; + + if (GetSurfaceFlags() & SurfaceFlags::NO_COLORSPACE_CONVERSION) { + return; } - return NS_OK; -} -nsresult -nsWebPDecoder::SaveDataBuffer(const uint8_t* aData, size_t aLength) -{ - if (mData.empty() && !mData.append(aData, aLength)) { + auto mode = gfxPlatform::GetCMSMode(); + if (mode == eCMSMode_Off || (mode == eCMSMode_TaggedOnly && !aProfile)) { + return; + } + + if (!aProfile || !gfxPlatform::GetCMSOutputProfile()) { + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::ApplyColorProfile -- not tagged or no output " + "profile , use sRGB transform\n", this)); + mTransform = gfxPlatform::GetCMSRGBATransform(); + return; + } + + mInProfile = qcms_profile_from_memory(aProfile, aLength); + if (!mInProfile) { MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::SaveDataBuffer -- oom, append %zu on %zu\n", - this, aLength, mData.length())); - return NS_ERROR_OUT_OF_MEMORY; + ("[this=%p] nsWebPDecoder::ApplyColorProfile -- bad color profile\n", + this)); + return; } - return NS_OK; + + // Calculate rendering intent. + int intent = gfxPlatform::GetRenderingIntent(); + if (intent == -1) { + intent = qcms_profile_get_rendering_intent(mInProfile); + } + + // Create the color management transform. + mTransform = qcms_transform_create(mInProfile, + QCMS_DATA_RGBA_8, + gfxPlatform::GetCMSOutputProfile(), + QCMS_DATA_RGBA_8, + (qcms_intent)intent); + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::ApplyColorProfile -- use tagged " + "transform\n", this)); } -LexerTransition<nsWebPDecoder::State> -nsWebPDecoder::ReadHeader(const char* aData, size_t aLength) +LexerResult +nsWebPDecoder::ReadHeader(WebPDemuxer* aDemuxer, + bool aIsComplete) { + MOZ_ASSERT(aDemuxer); + MOZ_LOG(sWebPLog, LogLevel::Debug, - ("[this=%p] nsWebPDecoder::ReadHeader -- %zu bytes\n", this, aLength)); - - // XXX(aosmond): In an ideal world, we could request the lexer to do this - // buffering for us (and in turn the underlying SourceBuffer). That way we - // could avoid extra copies during the decode and just do - // SourceBuffer::Compact on each iteration. For a typical WebP image we - // can hope that we will get the full header in the first packet, but - // for animated images we will end up buffering the whole stream if it - // not already fully received and contiguous. - auto data = (const uint8_t*)aData; - size_t length = aLength; - if (NS_FAILED(GetDataBuffer(data, length))) { - return Transition::TerminateFailure(); - } + ("[this=%p] nsWebPDecoder::ReadHeader -- %zu bytes\n", this, mLength)); - WebPBitstreamFeatures features; - VP8StatusCode status = WebPGetFeatures(data, length, &features); - switch (status) { - case VP8_STATUS_OK: - break; - case VP8_STATUS_NOT_ENOUGH_DATA: - if (NS_FAILED(SaveDataBuffer(data, length))) { - return Transition::TerminateFailure(); + uint32_t flags = WebPDemuxGetI(aDemuxer, WEBP_FF_FORMAT_FLAGS); + + if (!IsMetadataDecode() && !mGotColorProfile) { + if (flags & WebPFeatureFlags::ICCP_FLAG) { + WebPChunkIterator iter; + if (!WebPDemuxGetChunk(aDemuxer, "ICCP", 1, &iter)) { + return aIsComplete ? LexerResult(TerminalState::FAILURE) + : LexerResult(Yield::NEED_MORE_DATA); } - return Transition::ContinueUnbuffered(State::WEBP_DATA); - default: - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadHeader -- parse error %d\n", - this, status)); - return Transition::TerminateFailure(); + + ApplyColorProfile(reinterpret_cast<const char*>(iter.chunk.bytes), + iter.chunk.size); + WebPDemuxReleaseChunkIterator(&iter); + } else { + ApplyColorProfile(nullptr, 0); + } } - if (features.has_animation) { + if (flags & WebPFeatureFlags::ANIMATION_FLAG) { // A metadata decode expects to get the correct first frame timeout which // sadly is not provided by the normal WebP header parsing. - WebPDemuxState state; - WebPData fragment; - fragment.bytes = data; - fragment.size = length; - WebPDemuxer* demuxer = WebPDemuxPartial(&fragment, &state); - if (!demuxer || state == WEBP_DEMUX_PARSE_ERROR) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadHeader -- demux parse error\n", this)); - WebPDemuxDelete(demuxer); - return Transition::TerminateFailure(); - } - WebPIterator iter; - if (!WebPDemuxGetFrame(demuxer, 1, &iter)) { - WebPDemuxDelete(demuxer); - if (state == WEBP_DEMUX_DONE) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadHeader -- demux parse error\n", - this)); - return Transition::TerminateFailure(); - } - if (NS_FAILED(SaveDataBuffer(data, length))) { - return Transition::TerminateFailure(); - } - return Transition::ContinueUnbuffered(State::WEBP_DATA); + if (!WebPDemuxGetFrame(aDemuxer, 1, &iter)) { + return aIsComplete ? LexerResult(TerminalState::FAILURE) + : LexerResult(Yield::NEED_MORE_DATA); } PostIsAnimated(FrameTimeout::FromRawMilliseconds(iter.duration)); WebPDemuxReleaseIterator(&iter); - WebPDemuxDelete(demuxer); + } else { + // Single frames don't need a demuxer to be created. + mNeedDemuxer = false; } - MOZ_LOG(sWebPLog, LogLevel::Debug, - ("[this=%p] nsWebPDecoder::ReadHeader -- %d x %d, alpha %d, " - "animation %d, format %d, metadata decode %d, first frame decode %d\n", - this, features.width, features.height, features.has_alpha, - features.has_animation, features.format, IsMetadataDecode(), - IsFirstFrameDecode())); - - PostSize(features.width, features.height); - if (features.has_alpha) { + uint32_t width = WebPDemuxGetI(aDemuxer, WEBP_FF_CANVAS_WIDTH); + uint32_t height = WebPDemuxGetI(aDemuxer, WEBP_FF_CANVAS_HEIGHT); + if (width > INT32_MAX || height > INT32_MAX) { + return LexerResult(TerminalState::FAILURE); + } + + PostSize(width, height); + + bool alpha = flags & WebPFeatureFlags::ALPHA_FLAG; + if (alpha) { mFormat = SurfaceFormat::B8G8R8A8; PostHasTransparency(); } + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::ReadHeader -- %u x %u, alpha %d, " + "animation %d, metadata decode %d, first frame decode %d\n", + this, width, height, alpha, HasAnimation(), + IsMetadataDecode(), IsFirstFrameDecode())); + if (IsMetadataDecode()) { - return Transition::TerminateSuccess(); + return LexerResult(TerminalState::SUCCESS); } - auto transition = ReadPayload((const char*)data, length); - if (!features.has_animation) { - mData.clearAndFree(); - } - return transition; + return ReadPayload(aDemuxer, aIsComplete); } -LexerTransition<nsWebPDecoder::State> -nsWebPDecoder::ReadPayload(const char* aData, size_t aLength) +LexerResult +nsWebPDecoder::ReadPayload(WebPDemuxer* aDemuxer, + bool aIsComplete) { - auto data = (const uint8_t*)aData; if (!HasAnimation()) { - auto rv = ReadSingle(data, aLength, true, FullFrame()); - if (rv.NextStateIsTerminal() && - rv.NextStateAsTerminal() == TerminalState::SUCCESS) { + auto rv = ReadSingle(mData, mLength, FullFrame()); + if (rv.is<TerminalState>() && + rv.as<TerminalState>() == TerminalState::SUCCESS) { PostDecodeDone(); } return rv; } - return ReadMultiple(data, aLength); + return ReadMultiple(aDemuxer, aIsComplete); } -LexerTransition<nsWebPDecoder::State> -nsWebPDecoder::ReadSingle(const uint8_t* aData, size_t aLength, bool aAppend, const IntRect& aFrameRect) +LexerResult +nsWebPDecoder::ReadSingle(const uint8_t* aData, size_t aLength, const IntRect& aFrameRect) { MOZ_ASSERT(!IsMetadataDecode()); MOZ_ASSERT(aData); @@ -275,125 +418,120 @@ nsWebPDecoder::ReadSingle(const uint8_t* aData, size_t aLength, bool aAppend, co ("[this=%p] nsWebPDecoder::ReadSingle -- %zu bytes\n", this, aLength)); if (!mDecoder && NS_FAILED(CreateFrame(aFrameRect))) { - return Transition::TerminateFailure(); + return LexerResult(TerminalState::FAILURE); } - // XXX(aosmond): The demux API can be used for single images according to the - // documentation. If WebPIAppend is not any more efficient in its buffering - // than what we do for animated images, we should just combine the use cases. bool complete; - VP8StatusCode status; - if (aAppend) { - status = WebPIAppend(mDecoder, aData, aLength); - } else { - status = WebPIUpdate(mDecoder, aData, aLength); - } - switch (status) { - case VP8_STATUS_OK: - complete = true; - break; - case VP8_STATUS_SUSPENDED: - complete = false; - break; - default: - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadSingle -- append error %d\n", - this, status)); - return Transition::TerminateFailure(); - } + do { + VP8StatusCode status = WebPIUpdate(mDecoder, aData, aLength); + switch (status) { + case VP8_STATUS_OK: + complete = true; + break; + case VP8_STATUS_SUSPENDED: + complete = false; + break; + default: + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::ReadSingle -- append error %d\n", + this, status)); + return LexerResult(TerminalState::FAILURE); + } - int lastRow = -1; - int width = 0; - int height = 0; - int stride = 0; - const uint8_t* rowStart = WebPIDecGetRGB(mDecoder, &lastRow, &width, &height, &stride); - if (!rowStart || lastRow == -1) { - return Transition::ContinueUnbuffered(State::WEBP_DATA); - } + int lastRow = -1; + int width = 0; + int height = 0; + int stride = 0; + uint8_t* rowStart = WebPIDecGetRGB(mDecoder, &lastRow, &width, &height, &stride); - if (width <= 0 || height <= 0 || stride <= 0) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadSingle -- bad (w,h,s) = (%d, %d, %d)\n", - this, width, height, stride)); - return Transition::TerminateFailure(); - } + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::ReadSingle -- complete %d, read %d rows, " + "has %d rows available\n", this, complete, mLastRow, lastRow)); - for (int row = mLastRow; row < lastRow; row++) { - const uint8_t* src = rowStart + row * stride; - auto result = mPipe.WritePixelsToRow<uint32_t>([&]() -> NextPixel<uint32_t> { - MOZ_ASSERT(mFormat == SurfaceFormat::B8G8R8A8 || src[3] == 0xFF); - const uint32_t pixel = gfxPackedPixel(src[3], src[0], src[1], src[2]); - src += 4; - return AsVariant(pixel); - }); - MOZ_ASSERT(result != WriteState::FAILURE); - MOZ_ASSERT_IF(result == WriteState::FINISHED, complete && row == lastRow - 1); - - if (result == WriteState::FAILURE) { + if (!rowStart || lastRow == -1 || lastRow == mLastRow) { + return LexerResult(Yield::NEED_MORE_DATA); + } + + if (width != mFrameRect.width || height != mFrameRect.height || + stride < mFrameRect.width * 4 || + lastRow > mFrameRect.height) { MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadSingle -- write pixels error\n", - this)); - return Transition::TerminateFailure(); + ("[this=%p] nsWebPDecoder::ReadSingle -- bad (w,h,s) = (%d, %d, %d)\n", + this, width, height, stride)); + return LexerResult(TerminalState::FAILURE); } - } - if (mLastRow != lastRow) { - mLastRow = lastRow; + const bool noPremultiply = + bool(GetSurfaceFlags() & SurfaceFlags::NO_PREMULTIPLY_ALPHA); + + for (int row = mLastRow; row < lastRow; row++) { + uint8_t* src = rowStart + row * stride; + if (mTransform) { + qcms_transform_data(mTransform, src, src, width); + } - Maybe<SurfaceInvalidRect> invalidRect = mPipe.TakeInvalidRect(); - if (invalidRect) { - PostInvalidation(invalidRect->mInputSpaceRect, - Some(invalidRect->mOutputSpaceRect)); + WriteState result; + if (noPremultiply) { + result = mPipe.WritePixelsToRow<uint32_t>([&]() -> NextPixel<uint32_t> { + MOZ_ASSERT(mFormat == SurfaceFormat::B8G8R8A8 || src[3] == 0xFF); + const uint32_t pixel = + gfxPackedPixelNoPreMultiply(src[3], src[0], src[1], src[2]); + src += 4; + return AsVariant(pixel); + }); + } else { + result = mPipe.WritePixelsToRow<uint32_t>([&]() -> NextPixel<uint32_t> { + MOZ_ASSERT(mFormat == SurfaceFormat::B8G8R8A8 || src[3] == 0xFF); + const uint32_t pixel = gfxPackedPixel(src[3], src[0], src[1], src[2]); + src += 4; + return AsVariant(pixel); + }); + } + + Maybe<SurfaceInvalidRect> invalidRect = mPipe.TakeInvalidRect(); + if (invalidRect) { + PostInvalidation(invalidRect->mInputSpaceRect, + Some(invalidRect->mOutputSpaceRect)); + } + + if (result == WriteState::FAILURE) { + MOZ_LOG(sWebPLog, LogLevel::Error, + ("[this=%p] nsWebPDecoder::ReadSingle -- write pixels error\n", + this)); + return LexerResult(TerminalState::FAILURE); + } + + if (result == WriteState::FINISHED) { + MOZ_ASSERT(row == lastRow - 1, "There was more data to read?"); + complete = true; + break; + } } - } + + mLastRow = lastRow; + } while (!complete); if (!complete) { - return Transition::ContinueUnbuffered(State::WEBP_DATA); + return LexerResult(Yield::NEED_MORE_DATA); } EndFrame(); - return Transition::TerminateSuccess(); + return LexerResult(TerminalState::SUCCESS); } -LexerTransition<nsWebPDecoder::State> -nsWebPDecoder::ReadMultiple(const uint8_t* aData, size_t aLength) +LexerResult +nsWebPDecoder::ReadMultiple(WebPDemuxer* aDemuxer, bool aIsComplete) { MOZ_ASSERT(!IsMetadataDecode()); - MOZ_ASSERT(aData); + MOZ_ASSERT(aDemuxer); MOZ_LOG(sWebPLog, LogLevel::Debug, - ("[this=%p] nsWebPDecoder::ReadMultiple -- %zu bytes\n", this, aLength)); - - auto data = aData; - size_t length = aLength; - if (NS_FAILED(GetDataBuffer(data, length))) { - return Transition::TerminateFailure(); - } + ("[this=%p] nsWebPDecoder::ReadMultiple\n", this)); - WebPDemuxState state; - WebPData fragment; - fragment.bytes = data; - fragment.size = length; - WebPDemuxer* demuxer = WebPDemuxPartial(&fragment, &state); - if (!demuxer) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadMultiple -- create demuxer error\n", - this)); - return Transition::TerminateFailure(); - } - - if (state == WEBP_DEMUX_PARSE_ERROR) { - MOZ_LOG(sWebPLog, LogLevel::Error, - ("[this=%p] nsWebPDecoder::ReadMultiple -- demuxer parse error\n", - this)); - WebPDemuxDelete(demuxer); - return Transition::TerminateFailure(); - } - - bool complete = false; + bool complete = aIsComplete; WebPIterator iter; - auto rv = Transition::ContinueUnbuffered(State::WEBP_DATA); - if (WebPDemuxGetFrame(demuxer, mCurrentFrame + 1, &iter)) { + auto rv = LexerResult(Yield::NEED_MORE_DATA); + if (WebPDemuxGetFrame(aDemuxer, mCurrentFrame + 1, &iter)) { switch (iter.blend_method) { case WEBP_MUX_BLEND: mBlend = BlendMethod::OVER; @@ -418,51 +556,34 @@ nsWebPDecoder::ReadMultiple(const uint8_t* aData, size_t aLength) break; } - mFormat = iter.has_alpha ? SurfaceFormat::B8G8R8A8 : SurfaceFormat::B8G8R8X8; + mFormat = iter.has_alpha || mCurrentFrame > 0 ? SurfaceFormat::B8G8R8A8 + : SurfaceFormat::B8G8R8X8; mTimeout = FrameTimeout::FromRawMilliseconds(iter.duration); nsIntRect frameRect(iter.x_offset, iter.y_offset, iter.width, iter.height); - rv = ReadSingle(iter.fragment.bytes, iter.fragment.size, false, frameRect); - complete = state == WEBP_DEMUX_DONE && !WebPDemuxNextFrame(&iter); + rv = ReadSingle(iter.fragment.bytes, iter.fragment.size, frameRect); + complete = complete && !WebPDemuxNextFrame(&iter); WebPDemuxReleaseIterator(&iter); } - if (rv.NextStateIsTerminal()) { - if (rv.NextStateAsTerminal() == TerminalState::SUCCESS) { - // If we extracted one frame, and it is not the last, we need to yield to - // the lexer to allow the upper layers to acknowledge the frame. - if (!complete && !IsFirstFrameDecode()) { - // The resume point is determined by whether or not we had to buffer. - // If we have yet to buffer, we want to resume at the same point, - // otherwise our internal buffer has everything we need and we want - // to resume having consumed all of the current fragment. - rv = Transition::ContinueUnbufferedAfterYield(State::WEBP_DATA, - mData.empty() ? 0 : aLength); - } else { - uint32_t loopCount = WebPDemuxGetI(demuxer, WEBP_FF_LOOP_COUNT); - - MOZ_LOG(sWebPLog, LogLevel::Debug, - ("[this=%p] nsWebPDecoder::ReadMultiple -- loop count %u\n", - this, loopCount)); - PostDecodeDone(loopCount - 1); - } + if (rv.is<TerminalState>() && + rv.as<TerminalState>() == TerminalState::SUCCESS) { + // If we extracted one frame, and it is not the last, we need to yield to + // the lexer to allow the upper layers to acknowledge the frame. + if (!complete && !IsFirstFrameDecode()) { + rv = LexerResult(Yield::OUTPUT_AVAILABLE); + } else { + uint32_t loopCount = WebPDemuxGetI(aDemuxer, WEBP_FF_LOOP_COUNT); + + MOZ_LOG(sWebPLog, LogLevel::Debug, + ("[this=%p] nsWebPDecoder::ReadMultiple -- loop count %u\n", + this, loopCount)); + PostDecodeDone(loopCount - 1); } - } else if (NS_FAILED(SaveDataBuffer(data, length))) { - rv = Transition::TerminateFailure(); } - WebPDemuxDelete(demuxer); return rv; } -LexerTransition<nsWebPDecoder::State> -nsWebPDecoder::FinishedData() -{ - // Since we set up an unbuffered read for SIZE_MAX bytes, if we actually read - // all that data something is really wrong. - MOZ_ASSERT_UNREACHABLE("Read the entire address space?"); - return Transition::TerminateFailure(); -} - } // namespace image } // namespace mozilla diff --git a/image/decoders/nsWebPDecoder.h b/image/decoders/nsWebPDecoder.h index 5b3951cfc..cdd2849f3 100644 --- a/image/decoders/nsWebPDecoder.h +++ b/image/decoders/nsWebPDecoder.h @@ -16,7 +16,7 @@ namespace mozilla { namespace image { class RasterImage; -class nsWebPDecoder : public Decoder +class nsWebPDecoder final : public Decoder { public: virtual ~nsWebPDecoder(); @@ -31,34 +31,28 @@ private: // Decoders should only be instantiated via DecoderFactory. explicit nsWebPDecoder(RasterImage* aImage); - enum class State - { - WEBP_DATA, - FINISHED_WEBP_DATA - }; + void ApplyColorProfile(const char* aProfile, size_t aLength); - LexerTransition<State> ReadHeader(const char* aData, size_t aLength); - LexerTransition<State> ReadPayload(const char* aData, size_t aLength); - LexerTransition<State> FinishedData(); + LexerResult UpdateBuffer(SourceBufferIterator& aIterator, + SourceBufferIterator::State aState); + LexerResult ReadData(); + LexerResult ReadHeader(WebPDemuxer* aDemuxer, bool aIsComplete); + LexerResult ReadPayload(WebPDemuxer* aDemuxer, bool aIsComplete); nsresult CreateFrame(const nsIntRect& aFrameRect); void EndFrame(); - nsresult GetDataBuffer(const uint8_t*& aData, size_t& aLength); - nsresult SaveDataBuffer(const uint8_t* aData, size_t aLength); + LexerResult ReadSingle(const uint8_t* aData, size_t aLength, + const IntRect& aFrameRect); - LexerTransition<State> ReadSingle(const uint8_t* aData, size_t aLength, - bool aAppend, const IntRect& aFrameRect); - - LexerTransition<State> ReadMultiple(const uint8_t* aData, size_t aLength); - - StreamingLexer<State> mLexer; + LexerResult ReadMultiple(WebPDemuxer* aDemuxer, bool aIsComplete); /// The SurfacePipe used to write to the output surface. SurfacePipe mPipe; - /// The buffer used to accumulate data until the complete WebP header is received. - Vector<uint8_t> mData; + /// The buffer used to accumulate data until the complete WebP header is + /// received, if and only if the iterator is discontiguous. + Vector<uint8_t> mBufferedData; /// The libwebp output buffer descriptor pointing to the decoded data. WebPDecBuffer mBuffer; @@ -78,11 +72,35 @@ private: /// Surface format for the current frame. gfx::SurfaceFormat mFormat; + /// Frame rect for the current frame. + IntRect mFrameRect; + /// The last row of decoded pixels written to mPipe. int mLastRow; /// Number of decoded frames. uint32_t mCurrentFrame; + + /// Pointer to the start of the contiguous encoded image data. + const uint8_t* mData; + + /// Length of data pointed to by mData. + size_t mLength; + + /// True if the iterator has reached its end. + bool mIteratorComplete; + + /// True if this decoding pass requires a WebPDemuxer. + bool mNeedDemuxer; + + /// True if we have setup the color profile for the image. + bool mGotColorProfile; + + /// Color management profile from the ICCP chunk in the image. + qcms_profile* mInProfile; + + /// Color management transform to apply to image data. + qcms_transform* mTransform; }; } // namespace image diff --git a/image/imgFrame.cpp b/image/imgFrame.cpp index 5da2ccec5..c9f44181d 100644 --- a/image/imgFrame.cpp +++ b/image/imgFrame.cpp @@ -161,13 +161,13 @@ imgFrame::imgFrame() : mMonitor("imgFrame") , mDecoded(0, 0, 0, 0) , mLockCount(0) + , mAborted(false) + , mFinished(false) + , mOptimizable(false) , mTimeout(FrameTimeout::FromRawMilliseconds(100)) , mDisposalMethod(DisposalMethod::NOT_SPECIFIED) , mBlendMethod(BlendMethod::OVER) , mHasNoAlpha(false) - , mAborted(false) - , mFinished(false) - , mOptimizable(false) , mPalettedImageData(nullptr) , mPaletteDepth(0) , mNonPremult(false) @@ -192,7 +192,8 @@ imgFrame::InitForDecoder(const nsIntSize& aImageSize, const nsIntRect& aRect, SurfaceFormat aFormat, uint8_t aPaletteDepth /* = 0 */, - bool aNonPremult /* = false */) + bool aNonPremult /* = false */, + const Maybe<AnimationParams>& aAnimParams /* = Nothing() */) { // Assert for properties that should be verified by decoders, // warn for properties related to bad content. @@ -205,6 +206,15 @@ imgFrame::InitForDecoder(const nsIntSize& aImageSize, mImageSize = aImageSize; mFrameRect = aRect; + if (aAnimParams) { + mBlendRect = aAnimParams->mBlendRect; + mTimeout = aAnimParams->mTimeout; + mBlendMethod = aAnimParams->mBlendMethod; + mDisposalMethod = aAnimParams->mDisposalMethod; + } else { + mBlendRect = aRect; + } + // We only allow a non-trivial frame rect (i.e., a frame rect that doesn't // cover the entire image) for paletted animation frames. We never draw those // frames directly; we just use FrameAnimator to composite them and produce a @@ -607,12 +617,7 @@ imgFrame::ImageUpdatedInternal(const nsIntRect& aUpdateRect) } void -imgFrame::Finish(Opacity aFrameOpacity /* = Opacity::SOME_TRANSPARENCY */, - DisposalMethod aDisposalMethod /* = DisposalMethod::KEEP */, - FrameTimeout aTimeout - /* = FrameTimeout::FromRawMilliseconds(0) */, - BlendMethod aBlendMethod /* = BlendMethod::OVER */, - const Maybe<IntRect>& aBlendRect /* = Nothing() */) +imgFrame::Finish(Opacity aFrameOpacity /* = Opacity::SOME_TRANSPARENCY */) { MonitorAutoLock lock(mMonitor); MOZ_ASSERT(mLockCount > 0, "Image data should be locked"); @@ -621,10 +626,6 @@ imgFrame::Finish(Opacity aFrameOpacity /* = Opacity::SOME_TRANSPARENCY */, mHasNoAlpha = true; } - mDisposalMethod = aDisposalMethod; - mTimeout = aTimeout; - mBlendMethod = aBlendMethod; - mBlendRect = aBlendRect; ImageUpdatedInternal(GetRect()); mFinished = true; @@ -844,7 +845,7 @@ imgFrame::GetAnimationData() const bool hasAlpha = mFormat == SurfaceFormat::B8G8R8A8; return AnimationData(data, PaletteDataLength(), mTimeout, GetRect(), - mBlendMethod, mBlendRect, mDisposalMethod, hasAlpha); + mBlendMethod, Some(mBlendRect), mDisposalMethod, hasAlpha); } void diff --git a/image/imgFrame.h b/image/imgFrame.h index e864aca7f..928f6ad86 100644 --- a/image/imgFrame.h +++ b/image/imgFrame.h @@ -12,6 +12,7 @@ #include "mozilla/Monitor.h" #include "mozilla/Move.h" #include "mozilla/VolatileBuffer.h" +#include "AnimationParams.h" #include "gfxDrawable.h" #include "imgIContainer.h" #include "MainThreadUtils.h" @@ -23,130 +24,12 @@ class ImageRegion; class DrawableFrameRef; class RawAccessFrameRef; -enum class BlendMethod : int8_t { - // All color components of the frame, including alpha, overwrite the current - // contents of the frame's output buffer region. - SOURCE, - - // The frame should be composited onto the output buffer based on its alpha, - // using a simple OVER operation. - OVER -}; - -enum class DisposalMethod : int8_t { - CLEAR_ALL = -1, // Clear the whole image, revealing what's underneath. - NOT_SPECIFIED, // Leave the frame and let the new frame draw on top. - KEEP, // Leave the frame and let the new frame draw on top. - CLEAR, // Clear the frame's area, revealing what's underneath. - RESTORE_PREVIOUS // Restore the previous (composited) frame. -}; - enum class Opacity : uint8_t { FULLY_OPAQUE, SOME_TRANSPARENCY }; /** - * FrameTimeout wraps a frame timeout value (measured in milliseconds) after - * first normalizing it. This normalization is necessary because some tools - * generate incorrect frame timeout values which we nevertheless have to - * support. For this reason, code that deals with frame timeouts should always - * use a FrameTimeout value rather than the raw value from the image header. - */ -struct FrameTimeout -{ - /** - * @return a FrameTimeout of zero. This should be used only for math - * involving FrameTimeout values. You can't obtain a zero FrameTimeout from - * FromRawMilliseconds(). - */ - static FrameTimeout Zero() { return FrameTimeout(0); } - - /// @return an infinite FrameTimeout. - static FrameTimeout Forever() { return FrameTimeout(-1); } - - /// @return a FrameTimeout obtained by normalizing a raw timeout value. - static FrameTimeout FromRawMilliseconds(int32_t aRawMilliseconds) - { - // Normalize all infinite timeouts to the same value. - if (aRawMilliseconds < 0) { - return FrameTimeout::Forever(); - } - - // Very small timeout values are problematic for two reasons: we don't want - // to burn energy redrawing animated images extremely fast, and broken tools - // generate these values when they actually want a "default" value, so such - // images won't play back right without normalization. For some context, - // see bug 890743, bug 125137, bug 139677, and bug 207059. The historical - // behavior of IE and Opera was: - // IE 6/Win: - // 10 - 50ms is normalized to 100ms. - // >50ms is used unnormalized. - // Opera 7 final/Win: - // 10ms is normalized to 100ms. - // >10ms is used unnormalized. - if (aRawMilliseconds >= 0 && aRawMilliseconds <= 10 ) { - return FrameTimeout(100); - } - - // The provided timeout value is OK as-is. - return FrameTimeout(aRawMilliseconds); - } - - bool operator==(const FrameTimeout& aOther) const - { - return mTimeout == aOther.mTimeout; - } - - bool operator!=(const FrameTimeout& aOther) const { return !(*this == aOther); } - - FrameTimeout operator+(const FrameTimeout& aOther) - { - if (*this == Forever() || aOther == Forever()) { - return Forever(); - } - - return FrameTimeout(mTimeout + aOther.mTimeout); - } - - FrameTimeout& operator+=(const FrameTimeout& aOther) - { - *this = *this + aOther; - return *this; - } - - /** - * @return this FrameTimeout's value in milliseconds. Illegal to call on a - * an infinite FrameTimeout value. - */ - uint32_t AsMilliseconds() const - { - if (*this == Forever()) { - MOZ_ASSERT_UNREACHABLE("Calling AsMilliseconds() on an infinite FrameTimeout"); - return 100; // Fail to something sane. - } - - return uint32_t(mTimeout); - } - - /** - * @return this FrameTimeout value encoded so that non-negative values - * represent a timeout in milliseconds, and -1 represents an infinite - * timeout. - * - * XXX(seth): This is a backwards compatibility hack that should be removed. - */ - int32_t AsEncodedValueDeprecated() const { return mTimeout; } - -private: - explicit FrameTimeout(int32_t aTimeout) - : mTimeout(aTimeout) - { } - - int32_t mTimeout; -}; - -/** * AnimationData contains all of the information necessary for using an imgFrame * as part of an animation. * @@ -210,14 +93,19 @@ public: const nsIntRect& aRect, SurfaceFormat aFormat, uint8_t aPaletteDepth = 0, - bool aNonPremult = false); + bool aNonPremult = false, + const Maybe<AnimationParams>& aAnimParams = Nothing()); nsresult InitForDecoder(const nsIntSize& aSize, SurfaceFormat aFormat, uint8_t aPaletteDepth = 0) { - return InitForDecoder(aSize, nsIntRect(0, 0, aSize.width, aSize.height), - aFormat, aPaletteDepth); + nsIntRect frameRect(0, 0, aSize.width, aSize.height); + AnimationParams animParams { frameRect, FrameTimeout::Forever(), + /* aFrameNum */ 1, BlendMethod::OVER, + DisposalMethod::NOT_SPECIFIED }; + return InitForDecoder(aSize, frameRect, + aFormat, aPaletteDepth, false, Some(animParams)); } @@ -268,22 +156,8 @@ public: * RawAccessFrameRef pointing to an imgFrame. * * @param aFrameOpacity Whether this imgFrame is opaque. - * @param aDisposalMethod For animation frames, how this imgFrame is cleared - * from the compositing frame before the next frame is - * displayed. - * @param aTimeout For animation frames, the timeout before the next - * frame is displayed. - * @param aBlendMethod For animation frames, a blending method to be used - * when compositing this frame. - * @param aBlendRect For animation frames, if present, the subrect in - * which @aBlendMethod applies. Outside of this - * subrect, BlendMethod::OVER is always used. */ - void Finish(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY, - DisposalMethod aDisposalMethod = DisposalMethod::KEEP, - FrameTimeout aTimeout = FrameTimeout::FromRawMilliseconds(0), - BlendMethod aBlendMethod = BlendMethod::OVER, - const Maybe<IntRect>& aBlendRect = Nothing()); + void Finish(Opacity aFrameOpacity = Opacity::SOME_TRANSPARENCY); /** * Mark this imgFrame as aborted. This informs the imgFrame that if it isn't @@ -322,9 +196,15 @@ public: */ uint32_t GetBytesPerPixel() const { return GetIsPaletted() ? 1 : 4; } - IntSize GetImageSize() const { return mImageSize; } - IntRect GetRect() const { return mFrameRect; } + const IntSize& GetImageSize() const { return mImageSize; } + const IntRect& GetRect() const { return mFrameRect; } IntSize GetSize() const { return mFrameRect.Size(); } + const IntRect& GetBlendRect() const { return mBlendRect; } + IntRect GetBoundedBlendRect() const { return mBlendRect.Intersect(mFrameRect); } + FrameTimeout GetTimeout() const { return mTimeout; } + BlendMethod GetBlendMethod() const { return mBlendMethod; } + DisposalMethod GetDisposalMethod() const { return mDisposalMethod; } + bool FormatHasAlpha() const { return mFormat == SurfaceFormat::B8G8R8A8; } void GetImageData(uint8_t** aData, uint32_t* length) const; uint8_t* GetImageData() const; @@ -406,14 +286,6 @@ private: // data //! Number of RawAccessFrameRefs currently alive for this imgFrame. int32_t mLockCount; - //! The timeout for this frame. - FrameTimeout mTimeout; - - DisposalMethod mDisposalMethod; - BlendMethod mBlendMethod; - Maybe<IntRect> mBlendRect; - SurfaceFormat mFormat; - bool mHasNoAlpha; bool mAborted; bool mFinished; @@ -426,6 +298,14 @@ private: // data IntSize mImageSize; IntRect mFrameRect; + IntRect mBlendRect; + + //! The timeout for this frame. + FrameTimeout mTimeout; + + DisposalMethod mDisposalMethod; + BlendMethod mBlendMethod; + SurfaceFormat mFormat; // The palette and image data for images that are paletted, since Cairo // doesn't support these images. diff --git a/image/test/gtest/Common.h b/image/test/gtest/Common.h index 79bed9fc1..0c288cddc 100644 --- a/image/test/gtest/Common.h +++ b/image/test/gtest/Common.h @@ -245,7 +245,7 @@ already_AddRefed<Decoder> CreateTrivialDecoder(); * @param aConfigs The configuration for the pipeline. */ template <typename Func, typename... Configs> -void WithFilterPipeline(Decoder* aDecoder, Func aFunc, Configs... aConfigs) +void WithFilterPipeline(Decoder* aDecoder, Func aFunc, const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); @@ -268,7 +268,7 @@ void WithFilterPipeline(Decoder* aDecoder, Func aFunc, Configs... aConfigs) * @param aConfigs The configuration for the pipeline. */ template <typename... Configs> -void AssertConfiguringPipelineFails(Decoder* aDecoder, Configs... aConfigs) +void AssertConfiguringPipelineFails(Decoder* aDecoder, const Configs&... aConfigs) { auto pipe = MakeUnique<typename detail::FilterPipeline<Configs...>::Type>(); nsresult rv = pipe->Configure(aConfigs...); diff --git a/image/test/gtest/TestADAM7InterpolatingFilter.cpp b/image/test/gtest/TestADAM7InterpolatingFilter.cpp index d9dab4346..d11224251 100644 --- a/image/test/gtest/TestADAM7InterpolatingFilter.cpp +++ b/image/test/gtest/TestADAM7InterpolatingFilter.cpp @@ -33,7 +33,7 @@ WithADAM7InterpolatingFilter(const IntSize& aSize, Func aFunc) WithFilterPipeline(decoder, Forward<Func>(aFunc), ADAM7InterpolatingConfig { }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -45,7 +45,7 @@ AssertConfiguringADAM7InterpolatingFilterFails(const IntSize& aSize) AssertConfiguringPipelineFails(decoder, ADAM7InterpolatingConfig { }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -664,7 +664,7 @@ TEST(ImageADAM7InterpolatingFilter, ConfiguringPalettedADAM7InterpolatingFilterF // should fail. AssertConfiguringPipelineFails(decoder, ADAM7InterpolatingConfig { }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestDeinterlacingFilter.cpp b/image/test/gtest/TestDeinterlacingFilter.cpp index 30cad7993..82637bbf7 100644 --- a/image/test/gtest/TestDeinterlacingFilter.cpp +++ b/image/test/gtest/TestDeinterlacingFilter.cpp @@ -28,7 +28,7 @@ WithDeinterlacingFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DeinterlacingConfig<uint32_t> { aProgressiveDisplay }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -41,7 +41,7 @@ WithPalettedDeinterlacingFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DeinterlacingConfig<uint8_t> { /* mProgressiveDisplay = */ true }, - PalettedSurfaceConfig { decoder, 0, aSize, + PalettedSurfaceConfig { decoder, aSize, IntRect(0, 0, 100, 100), SurfaceFormat::B8G8R8A8, 8, false }); @@ -55,7 +55,7 @@ AssertConfiguringDeinterlacingFilterFails(const IntSize& aSize) AssertConfiguringPipelineFails(decoder, DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true}, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestDownscalingFilter.cpp b/image/test/gtest/TestDownscalingFilter.cpp index 596becab0..d7aa0ead2 100644 --- a/image/test/gtest/TestDownscalingFilter.cpp +++ b/image/test/gtest/TestDownscalingFilter.cpp @@ -29,7 +29,7 @@ WithDownscalingFilter(const IntSize& aInputSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), DownscalingConfig { aInputSize, SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, aOutputSize, + SurfaceConfig { decoder, aOutputSize, SurfaceFormat::B8G8R8A8, false }); } @@ -43,7 +43,7 @@ AssertConfiguringDownscalingFilterFails(const IntSize& aInputSize, AssertConfiguringPipelineFails(decoder, DownscalingConfig { aInputSize, SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, aOutputSize, + SurfaceConfig { decoder, aOutputSize, SurfaceFormat::B8G8R8A8, false }); } @@ -224,7 +224,7 @@ TEST(ImageDownscalingFilter, ConfiguringPalettedDownscaleFails) AssertConfiguringPipelineFails(decoder, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(20, 20), + PalettedSurfaceConfig { decoder, IntSize(20, 20), IntRect(0, 0, 20, 20), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestDownscalingFilterNoSkia.cpp b/image/test/gtest/TestDownscalingFilterNoSkia.cpp index c62ca018d..80928a880 100644 --- a/image/test/gtest/TestDownscalingFilterNoSkia.cpp +++ b/image/test/gtest/TestDownscalingFilterNoSkia.cpp @@ -52,6 +52,6 @@ TEST(ImageDownscalingFilter, NoSkia) AssertConfiguringPipelineFails(decoder, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(50, 50), + SurfaceConfig { decoder, IntSize(50, 50), SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestRemoveFrameRectFilter.cpp b/image/test/gtest/TestRemoveFrameRectFilter.cpp index e1def590e..ad1f944fc 100644 --- a/image/test/gtest/TestRemoveFrameRectFilter.cpp +++ b/image/test/gtest/TestRemoveFrameRectFilter.cpp @@ -28,7 +28,7 @@ WithRemoveFrameRectFilter(const IntSize& aSize, WithFilterPipeline(decoder, Forward<Func>(aFunc), RemoveFrameRectConfig { aFrameRect }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -41,7 +41,7 @@ AssertConfiguringRemoveFrameRectFilterFails(const IntSize& aSize, AssertConfiguringPipelineFails(decoder, RemoveFrameRectConfig { aFrameRect }, - SurfaceConfig { decoder, 0, aSize, + SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); } @@ -320,7 +320,7 @@ TEST(ImageRemoveFrameRectFilter, ConfiguringPalettedRemoveFrameRectFails) // should fail. AssertConfiguringPipelineFails(decoder, RemoveFrameRectConfig { IntRect(0, 0, 50, 50) }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/image/test/gtest/TestSurfacePipeIntegration.cpp b/image/test/gtest/TestSurfacePipeIntegration.cpp index 5e8c19fc2..27138a3ee 100644 --- a/image/test/gtest/TestSurfacePipeIntegration.cpp +++ b/image/test/gtest/TestSurfacePipeIntegration.cpp @@ -149,7 +149,7 @@ TEST_F(ImageSurfacePipeIntegration, SurfacePipe) auto sink = MakeUnique<SurfaceSink>(); nsresult rv = - sink->Configure(SurfaceConfig { decoder, 0, IntSize(100, 100), + sink->Configure(SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, false }); ASSERT_TRUE(NS_SUCCEEDED(rv)); @@ -227,7 +227,7 @@ TEST_F(ImageSurfacePipeIntegration, PalettedSurfacePipe) auto sink = MakeUnique<PalettedSurfaceSink>(); nsresult rv = - sink->Configure(PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + sink->Configure(PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 100, 100), SurfaceFormat::B8G8R8A8, 8, false }); @@ -313,7 +313,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceDownscaleWritePixels) DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(25, 25), + SurfaceConfig { decoder, IntSize(25, 25), SurfaceFormat::B8G8R8A8, false }); } @@ -369,7 +369,7 @@ TEST_F(ImageSurfacePipeIntegration, RemoveFrameRectBottomRightDownscaleWritePixe RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -403,7 +403,7 @@ TEST_F(ImageSurfacePipeIntegration, RemoveFrameRectTopLeftDownscaleWritePixels) RemoveFrameRectConfig { IntRect(-50, -50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -427,7 +427,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceRemoveFrameRectWritePixels) WithFilterPipeline(decoder, test, DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true }, RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, - SurfaceConfig { decoder, 0, IntSize(100, 100), + SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, false }); } @@ -450,7 +450,7 @@ TEST_F(ImageSurfacePipeIntegration, DeinterlaceRemoveFrameRectDownscaleWritePixe RemoveFrameRectConfig { IntRect(50, 50, 100, 100) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(20, 20), + SurfaceConfig { decoder, IntSize(20, 20), SurfaceFormat::B8G8R8A8, false }); } @@ -465,7 +465,7 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringPalettedRemoveFrameRectDownscaleF RemoveFrameRectConfig { IntRect(0, 0, 50, 50) }, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 50, 50), SurfaceFormat::B8G8R8A8, 8, false }); @@ -482,7 +482,7 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringPalettedDeinterlaceDownscaleFails DeinterlacingConfig<uint8_t> { /* mProgressiveDisplay = */ true}, DownscalingConfig { IntSize(100, 100), SurfaceFormat::B8G8R8A8 }, - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), IntRect(0, 0, 20, 20), SurfaceFormat::B8G8R8A8, 8, false }); @@ -503,6 +503,6 @@ TEST_F(ImageSurfacePipeIntegration, ConfiguringHugeDeinterlacingBufferFails) DeinterlacingConfig<uint32_t> { /* mProgressiveDisplay = */ true}, DownscalingConfig { IntSize(60000, 60000), SurfaceFormat::B8G8R8A8 }, - SurfaceConfig { decoder, 0, IntSize(600, 600), + SurfaceConfig { decoder, IntSize(600, 600), SurfaceFormat::B8G8R8A8, false }); } diff --git a/image/test/gtest/TestSurfaceSink.cpp b/image/test/gtest/TestSurfaceSink.cpp index ccf9be3ec..3a1c74d12 100644 --- a/image/test/gtest/TestSurfaceSink.cpp +++ b/image/test/gtest/TestSurfaceSink.cpp @@ -32,7 +32,7 @@ WithSurfaceSink(Func aFunc) const bool flipVertically = Orientation == Orient::FLIP_VERTICALLY; WithFilterPipeline(decoder, Forward<Func>(aFunc), - SurfaceConfig { decoder, 0, IntSize(100, 100), + SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, flipVertically }); } @@ -43,7 +43,7 @@ WithPalettedSurfaceSink(const IntRect& aFrameRect, Func aFunc) ASSERT_TRUE(decoder != nullptr); WithFilterPipeline(decoder, Forward<Func>(aFunc), - PalettedSurfaceConfig { decoder, 0, IntSize(100, 100), + PalettedSurfaceConfig { decoder, IntSize(100, 100), aFrameRect, SurfaceFormat::B8G8R8A8, 8, false }); } diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 6ec05af76..b2e84322f 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -8272,7 +8272,10 @@ class MGetFirstDollarIndex : MUnaryInstruction(str) { setResultType(MIRType::Int32); - setMovable(); + + // Codegen assumes string length > 0 but that's not guaranteed in RegExp. + // Don't allow LICM to move this. + MOZ_ASSERT(!isMovable()); } public: diff --git a/js/src/jit/x86/Assembler-x86.h b/js/src/jit/x86/Assembler-x86.h index 3fb5efaff..5939583d9 100644 --- a/js/src/jit/x86/Assembler-x86.h +++ b/js/src/jit/x86/Assembler-x86.h @@ -421,20 +421,11 @@ class Assembler : public AssemblerX86Shared MOZ_ASSERT(dest.size() == 16); masm.vhaddpd_rr(src.encoding(), dest.encoding()); } - void vsubpd(const Operand& src1, FloatRegister src0, FloatRegister dest) { + void vsubpd(FloatRegister src1, FloatRegister src0, FloatRegister dest) { MOZ_ASSERT(HasSSE2()); MOZ_ASSERT(src0.size() == 16); MOZ_ASSERT(dest.size() == 16); - switch (src1.kind()) { - case Operand::MEM_REG_DISP: - masm.vsubpd_mr(src1.disp(), src1.base(), src0.encoding(), dest.encoding()); - break; - case Operand::MEM_ADDRESS32: - masm.vsubpd_mr(src1.address(), src0.encoding(), dest.encoding()); - break; - default: - MOZ_CRASH("unexpected operand kind"); - } + masm.vsubpd_rr(src1.encoding(), src0.encoding(), dest.encoding()); } void vpunpckldq(FloatRegister src1, FloatRegister src0, FloatRegister dest) { diff --git a/js/src/jit/x86/BaseAssembler-x86.h b/js/src/jit/x86/BaseAssembler-x86.h index 5b16311d0..caaef3f82 100644 --- a/js/src/jit/x86/BaseAssembler-x86.h +++ b/js/src/jit/x86/BaseAssembler-x86.h @@ -152,14 +152,6 @@ class BaseAssemblerX86 : public BaseAssembler { twoByteOpSimd("vsubpd", VEX_PD, OP2_SUBPS_VpsWps, src1, src0, dst); } - void vsubpd_mr(int32_t offset, RegisterID base, XMMRegisterID src0, XMMRegisterID dst) - { - twoByteOpSimd("vsubpd", VEX_PD, OP2_SUBPS_VpsWps, offset, base, src0, dst); - } - void vsubpd_mr(const void* address, XMMRegisterID src0, XMMRegisterID dst) - { - twoByteOpSimd("vsubpd", VEX_PD, OP2_SUBPS_VpsWps, address, src0, dst); - } void vpunpckldq_rr(XMMRegisterID src1, XMMRegisterID src0, XMMRegisterID dst) { twoByteOpSimd("vpunpckldq", VEX_PD, OP2_PUNPCKLDQ, src1, src0, dst); diff --git a/js/src/jit/x86/MacroAssembler-x86.cpp b/js/src/jit/x86/MacroAssembler-x86.cpp index dc97b5b5b..429a71fa9 100644 --- a/js/src/jit/x86/MacroAssembler-x86.cpp +++ b/js/src/jit/x86/MacroAssembler-x86.cpp @@ -21,15 +21,6 @@ using namespace js; using namespace js::jit; -// vpunpckldq requires 16-byte boundary for memory operand. -// See convertUInt64ToDouble for the details. -MOZ_ALIGNED_DECL(static const uint64_t, 16) TO_DOUBLE[4] = { - 0x4530000043300000LL, - 0x0LL, - 0x4330000000000000LL, - 0x4530000000000000LL -}; - static const double TO_DOUBLE_HIGH_SCALE = 0x100000000; bool @@ -90,8 +81,16 @@ MacroAssemblerX86::convertUInt64ToDouble(Register64 src, FloatRegister dest, Reg // here, each 64-bit part of dest represents following double: // HI(dest) = 0x 1.00000HHHHHHHH * 2**84 == 2**84 + 0x HHHHHHHH 00000000 // LO(dest) = 0x 1.00000LLLLLLLL * 2**52 == 2**52 + 0x 00000000 LLLLLLLL - movePtr(ImmWord((uintptr_t)TO_DOUBLE), temp); - vpunpckldq(Operand(temp, 0), dest128, dest128); + // See convertUInt64ToDouble for the details. + static const int32_t CST1[4] = { + 0x43300000, + 0x45300000, + 0x0, + 0x0, + }; + + loadConstantSimd128Int(SimdConstant::CreateX4(CST1), ScratchSimd128Reg); + vpunpckldq(ScratchSimd128Reg, dest128, dest128); // Subtract a constant C2 from dest, for each 64-bit part: // C2 = 0x 45300000 00000000 43300000 00000000 @@ -101,7 +100,15 @@ MacroAssemblerX86::convertUInt64ToDouble(Register64 src, FloatRegister dest, Reg // after the operation each 64-bit part of dest represents following: // HI(dest) = double(0x HHHHHHHH 00000000) // LO(dest) = double(0x 00000000 LLLLLLLL) - vsubpd(Operand(temp, sizeof(uint64_t) * 2), dest128, dest128); + static const int32_t CST2[4] = { + 0x0, + 0x43300000, + 0x0, + 0x45300000, + }; + + loadConstantSimd128Int(SimdConstant::CreateX4(CST2), ScratchSimd128Reg); + vsubpd(ScratchSimd128Reg, dest128, dest128); // Add HI(dest) and LO(dest) in double and store it into LO(dest), // LO(dest) = double(0x HHHHHHHH 00000000) + double(0x 00000000 LLLLLLLL) diff --git a/js/src/jsapi.cpp b/js/src/jsapi.cpp index 85a38bba4..37d023bd4 100644 --- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -2003,10 +2003,10 @@ JS_GetOwnPropertyDescriptor(JSContext* cx, HandleObject obj, const char* name, } JS_PUBLIC_API(bool) -JS_GetOwnUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name, +JS_GetOwnUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name, size_t namelen, MutableHandle<PropertyDescriptor> desc) { - JSAtom* atom = AtomizeChars(cx, name, js_strlen(name)); + JSAtom* atom = AtomizeChars(cx, name, namelen); if (!atom) return false; RootedId id(cx, AtomToId(atom)); @@ -2028,7 +2028,19 @@ JS_GetPropertyDescriptor(JSContext* cx, HandleObject obj, const char* name, if (!atom) return false; RootedId id(cx, AtomToId(atom)); - return atom && JS_GetPropertyDescriptorById(cx, obj, id, desc); + return JS_GetPropertyDescriptorById(cx, obj, id, desc); +} + +JS_PUBLIC_API(bool) +JS_GetUCPropertyDescriptor(JSContext* cx, HandleObject obj, const char16_t* name, size_t namelen, + MutableHandle<PropertyDescriptor> desc) +{ + JSAtom* atom = AtomizeChars(cx, name, namelen); + if (!atom) { + return false; + } + RootedId id(cx, AtomToId(atom)); + return JS_GetPropertyDescriptorById(cx, obj, id, desc); } static bool diff --git a/js/src/jsapi.h b/js/src/jsapi.h index c1195cc00..30c4a835a 100644 --- a/js/src/jsapi.h +++ b/js/src/jsapi.h @@ -2917,7 +2917,7 @@ JS_GetOwnPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char* nam JS::MutableHandle<JS::PropertyDescriptor> desc); extern JS_PUBLIC_API(bool) -JS_GetOwnUCPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char16_t* name, +JS_GetOwnUCPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen, JS::MutableHandle<JS::PropertyDescriptor> desc); /** @@ -2934,6 +2934,10 @@ extern JS_PUBLIC_API(bool) JS_GetPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char* name, JS::MutableHandle<JS::PropertyDescriptor> desc); +extern JS_PUBLIC_API(bool) +JS_GetUCPropertyDescriptor(JSContext* cx, JS::HandleObject obj, const char16_t* name, size_t namelen, + JS::MutableHandle<JS::PropertyDescriptor> desc); + /** * Define a property on obj. * diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index ccdc3a0ce..3ed3b0bb3 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -1774,6 +1774,18 @@ public: return true; } + /** + * The mCallee holds a strong ref to us since the refresh driver doesn't. + * Our dtor and mCallee's Destroy() method both call RemoveObserver() - + * whichever comes first removes us from the refresh driver. + */ + void RemoveObserver() { + if (mCallee) { + RefreshDriver(mCallee)->RemoveRefreshObserver(this, Flush_Style); + mCallee = nullptr; + } + } + private: // Private destructor, to discourage deletion outside of Release(): ~AsyncSmoothMSDScroll() { @@ -1786,17 +1798,6 @@ private: return aCallee->mOuter->PresContext()->RefreshDriver(); } - /* - * The refresh driver doesn't hold a reference to its observers, - * so releasing this object can (and is) used to remove the observer on DTOR. - * Currently, this object is released once the scrolling ends. - */ - void RemoveObserver() { - if (mCallee) { - RefreshDriver(mCallee)->RemoveRefreshObserver(this, Flush_Style); - } - } - mozilla::layers::AxisPhysicsMSDModel mXAxisModel, mYAxisModel; nsRect mRange; mozilla::TimeStamp mLastRefreshTime; @@ -1875,24 +1876,25 @@ public: ScrollFrameHelper::AsyncScrollCallback(mCallee, aTime); } -private: - ScrollFrameHelper *mCallee; - - nsRefreshDriver* RefreshDriver(ScrollFrameHelper* aCallee) { - return aCallee->mOuter->PresContext()->RefreshDriver(); - } - - /* - * The refresh driver doesn't hold a reference to its observers, - * so releasing this object can (and is) used to remove the observer on DTOR. - * Currently, this object is released once the scrolling ends. + /** + * The mCallee holds a strong ref to us since the refresh driver doesn't. + * Our dtor and mCallee's Destroy() method both call RemoveObserver() - + * whichever comes first removes us from the refresh driver. */ void RemoveObserver() { if (mCallee) { RefreshDriver(mCallee)->RemoveRefreshObserver(this, Flush_Style); APZCCallbackHelper::SuppressDisplayport(false, mCallee->mOuter->PresContext()->PresShell()); + mCallee = nullptr; } } + +private: + ScrollFrameHelper *mCallee; + + nsRefreshDriver* RefreshDriver(ScrollFrameHelper* aCallee) { + return aCallee->mOuter->PresContext()->RefreshDriver(); + } }; /* @@ -2150,8 +2152,7 @@ void ScrollFrameHelper::CompleteAsyncScroll(const nsRect &aRange, nsIAtom* aOrigin) { // Apply desired destination range since this is the last step of scrolling. - mAsyncSmoothMSDScroll = nullptr; - mAsyncScroll = nullptr; + RemoveObservers(); nsWeakFrame weakFrame(mOuter); ScrollToImpl(mDestination, aRange, aOrigin); if (!weakFrame.IsAlive()) { @@ -4586,6 +4587,20 @@ ScrollFrameHelper::Destroy() mScrollActivityTimer->Cancel(); mScrollActivityTimer = nullptr; } + RemoveObservers(); +} + +void +ScrollFrameHelper::RemoveObservers() +{ + if (mAsyncScroll) { + mAsyncScroll->RemoveObserver(); + mAsyncScroll = nullptr; + } + if (mAsyncSmoothMSDScroll) { + mAsyncSmoothMSDScroll->RemoveObserver(); + mAsyncSmoothMSDScroll = nullptr; + } } /** diff --git a/layout/generic/nsGfxScrollFrame.h b/layout/generic/nsGfxScrollFrame.h index f1ef44ae8..81bbb358f 100644 --- a/layout/generic/nsGfxScrollFrame.h +++ b/layout/generic/nsGfxScrollFrame.h @@ -638,6 +638,9 @@ protected: bool HasBgAttachmentLocal() const; uint8_t GetScrolledFrameDir() const; + // Removes any RefreshDriver observers we might have registered. + void RemoveObservers(); + static void EnsureFrameVisPrefsCached(); static bool sFrameVisPrefsCached; // The number of scrollports wide/high to expand when tracking frame visibility. diff --git a/media/libstagefright/frameworks/av/include/media/stagefright/MediaDefs.h b/media/libstagefright/frameworks/av/include/media/stagefright/MediaDefs.h index 7ac6db8d5..b8aad681d 100644 --- a/media/libstagefright/frameworks/av/include/media/stagefright/MediaDefs.h +++ b/media/libstagefright/frameworks/av/include/media/stagefright/MediaDefs.h @@ -25,6 +25,7 @@ extern const char *MEDIA_MIMETYPE_IMAGE_JPEG; extern const char *MEDIA_MIMETYPE_VIDEO_VP6; extern const char *MEDIA_MIMETYPE_VIDEO_VP8; extern const char *MEDIA_MIMETYPE_VIDEO_VP9; +extern const char *MEDIA_MIMETYPE_VIDEO_AV1; extern const char *MEDIA_MIMETYPE_VIDEO_AVC; extern const char *MEDIA_MIMETYPE_VIDEO_MPEG4; extern const char *MEDIA_MIMETYPE_VIDEO_H263; diff --git a/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp index 5667f04d8..786e80487 100644 --- a/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp +++ b/media/libstagefright/frameworks/av/media/libstagefright/MPEG4Extractor.cpp @@ -269,6 +269,10 @@ static const char *FourCC2MIME(uint32_t fourcc) { case FOURCC('V', 'P', '6', 'F'): return MEDIA_MIMETYPE_VIDEO_VP6; + case FOURCC('a', 'v', '0', '1'): + case FOURCC('.', 'a', 'v', '1'): + return MEDIA_MIMETYPE_VIDEO_AV1; + default: ALOGE("Unknown MIME type %08x", fourcc); return NULL; @@ -1346,6 +1350,8 @@ status_t MPEG4Extractor::parseChunk(off64_t *offset, int depth) { case FOURCC('a', 'v', 'c', '1'): case FOURCC('a', 'v', 'c', '3'): case FOURCC('V', 'P', '6', 'F'): + case FOURCC('a', 'v', '0', '1'): + case FOURCC('.', 'a', 'v', '1'): { mHasVideo = true; diff --git a/media/libstagefright/frameworks/av/media/libstagefright/MediaDefs.cpp b/media/libstagefright/frameworks/av/media/libstagefright/MediaDefs.cpp index a1b520b10..a7c6e75fc 100644 --- a/media/libstagefright/frameworks/av/media/libstagefright/MediaDefs.cpp +++ b/media/libstagefright/frameworks/av/media/libstagefright/MediaDefs.cpp @@ -23,6 +23,7 @@ const char *MEDIA_MIMETYPE_IMAGE_JPEG = "image/jpeg"; const char *MEDIA_MIMETYPE_VIDEO_VP6 = "video/x-vnd.on2.vp6"; const char *MEDIA_MIMETYPE_VIDEO_VP8 = "video/x-vnd.on2.vp8"; const char *MEDIA_MIMETYPE_VIDEO_VP9 = "video/x-vnd.on2.vp9"; +const char *MEDIA_MIMETYPE_VIDEO_AV1 = "video/av1"; const char *MEDIA_MIMETYPE_VIDEO_AVC = "video/avc"; const char *MEDIA_MIMETYPE_VIDEO_MPEG4 = "video/mp4v-es"; const char *MEDIA_MIMETYPE_VIDEO_H263 = "video/3gpp"; diff --git a/media/libvpx/vpx_config_x86-win32-vs12.h b/media/libvpx/vpx_config_x86-win32-vs12.h index 42525a303..9ec6a90be 100644 --- a/media/libvpx/vpx_config_x86-win32-vs12.h +++ b/media/libvpx/vpx_config_x86-win32-vs12.h @@ -31,6 +31,9 @@ #define HAVE_AVX 1 #define HAVE_AVX2 1 #define HAVE_VPX_PORTS 1 +#ifdef HAVE_STDINT_H +#undef HAVE_STDINT_H +#endif #define HAVE_STDINT_H 0 #define HAVE_PTHREAD_H 0 #define HAVE_SYS_MMAN_H 0 diff --git a/media/libvpx/vpx_config_x86_64-win64-vs12.h b/media/libvpx/vpx_config_x86_64-win64-vs12.h index 65e45f5ba..afbaf2e43 100644 --- a/media/libvpx/vpx_config_x86_64-win64-vs12.h +++ b/media/libvpx/vpx_config_x86_64-win64-vs12.h @@ -31,6 +31,9 @@ #define HAVE_AVX 1 #define HAVE_AVX2 1 #define HAVE_VPX_PORTS 1 +#ifdef HAVE_STDINT_H +#undef HAVE_STDINT_H +#endif #define HAVE_STDINT_H 0 #define HAVE_PTHREAD_H 0 #define HAVE_SYS_MMAN_H 0 diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index f7bef942f..3fce0f486 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -23,7 +23,7 @@ pref("keyword.enabled", false); pref("general.useragent.locale", "chrome://global/locale/intl.properties"); pref("general.useragent.compatMode.gecko", false); pref("general.useragent.compatMode.firefox", false); -pref("general.useragent.compatMode.version", "52.9"); +pref("general.useragent.compatMode.version", "60.9"); pref("general.useragent.appVersionIsBuildID", false); // This pref exists only for testing purposes. In order to disable all @@ -1593,7 +1593,10 @@ pref("network.http.spdy.default-hpack-buffer", 65536); // 64k // alt-svc allows separation of transport routing from // the origin host without using a proxy. pref("network.http.altsvc.enabled", true); -pref("network.http.altsvc.oe", true); +// Opportunistic encryption use of alt-svc +pref("network.http.altsvc.oe", false); +// Send upgrade-insecure-requests HTTP header? +pref("network.http.upgrade-insecure-requests", false); pref("network.http.diagnostics", false); @@ -2438,7 +2441,7 @@ pref("layout.word_select.stop_at_punctuation", true); pref("layout.selection.caret_style", 0); // pref to report CSS errors to the error console -pref("layout.css.report_errors", true); +pref("layout.css.report_errors", false); // Should the :visited selector ever match (otherwise :link matches instead)? pref("layout.css.visited_links_enabled", true); @@ -4895,30 +4898,6 @@ pref("dom.browserElement.maxScreenshotDelayMS", 2000); // Whether we should show the placeholder when the element is focused but empty. pref("dom.placeholder.show_on_focus", true); -// VR is disabled by default in release and enabled for nightly and aurora -#ifdef RELEASE_OR_BETA -pref("dom.vr.enabled", false); -#else -pref("dom.vr.enabled", true); -#endif -pref("dom.vr.oculus.enabled", true); -// OSVR device -pref("dom.vr.osvr.enabled", false); -// OpenVR device -pref("dom.vr.openvr.enabled", false); -// Pose prediction reduces latency effects by returning future predicted HMD -// poses to callers of the WebVR API. This currently only has an effect for -// Oculus Rift on SDK 0.8 or greater. It is disabled by default for now due to -// frame uniformity issues with e10s. -pref("dom.vr.poseprediction.enabled", false); -// path to openvr DLL -pref("gfx.vr.openvr-runtime", ""); -// path to OSVR DLLs -pref("gfx.vr.osvr.utilLibPath", ""); -pref("gfx.vr.osvr.commonLibPath", ""); -pref("gfx.vr.osvr.clientLibPath", ""); -pref("gfx.vr.osvr.clientKitLibPath", ""); - // MMS UA Profile settings pref("wap.UAProf.url", ""); pref("wap.UAProf.tagname", "x-wap-profile"); @@ -4977,7 +4956,7 @@ pref("network.captive-portal-service.maxInterval", 1500000); // 25 minutes pref("network.captive-portal-service.backoffFactor", "5.0"); pref("network.captive-portal-service.enabled", false); -pref("captivedetect.canonicalURL", "http://detectportal.firefox.com/success.txt"); +pref("captivedetect.canonicalURL", "http://detectportal.palemoon.org/success.txt"); pref("captivedetect.canonicalContent", "success\n"); pref("captivedetect.maxWaitingTime", 5000); pref("captivedetect.pollingTime", 3000); diff --git a/netwerk/protocol/http/Http2Compression.cpp b/netwerk/protocol/http/Http2Compression.cpp index 64fd05a17..9206f8b4c 100644 --- a/netwerk/protocol/http/Http2Compression.cpp +++ b/netwerk/protocol/http/Http2Compression.cpp @@ -402,7 +402,7 @@ Http2Decompressor::DecodeHeaderBlock(const uint8_t *data, uint32_t datalen, nsresult rv = NS_OK; nsresult softfail_rv = NS_OK; - while (NS_SUCCEEDED(rv) && (mOffset < datalen)) { + while (NS_SUCCEEDED(rv) && (mOffset < mDataLen)) { bool modifiesTable = true; if (mData[mOffset] & 0x80) { rv = DoIndexed(); @@ -684,6 +684,11 @@ nsresult Http2Decompressor::DecodeFinalHuffmanCharacter(const HuffmanIncomingTable *table, uint8_t &c, uint8_t &bitsLeft) { + MOZ_ASSERT(mOffset <= mDataLen); + if (mOffset > mDataLen) { + NS_WARNING("DecodeFinalHuffmanCharacter trying to read beyond end of buffer"); + return NS_ERROR_FAILURE; + } uint8_t mask = (1 << bitsLeft) - 1; uint8_t idx = mData[mOffset - 1] & mask; idx <<= (8 - bitsLeft); @@ -721,6 +726,7 @@ Http2Decompressor::DecodeFinalHuffmanCharacter(const HuffmanIncomingTable *table uint8_t Http2Decompressor::ExtractByte(uint8_t bitsLeft, uint32_t &bytesConsumed) { + MOZ_DIAGNOSTIC_ASSERT(mOffset < mDataLen); uint8_t rv; if (bitsLeft) { @@ -750,8 +756,8 @@ Http2Decompressor::DecodeHuffmanCharacter(const HuffmanIncomingTable *table, uint8_t idx = ExtractByte(bitsLeft, bytesConsumed); if (table->IndexHasANextTable(idx)) { - if (bytesConsumed >= mDataLen) { - if (!bitsLeft || (bytesConsumed > mDataLen)) { + if (mOffset >= mDataLen) { + if (!bitsLeft || (mOffset > mDataLen)) { // TODO - does this get me into trouble in the new world? // No info left in input to try to consume, we're done LOG(("DecodeHuffmanCharacter all out of bits to consume, can't chain")); @@ -892,6 +898,13 @@ Http2Decompressor::DoLiteralInternal(nsACString &name, nsACString &value, return rv; } + // sanity check + if (mOffset >= mDataLen) { + NS_WARNING("Http2 Decompressor ran out of data"); + // This is session-fatal + return NS_ERROR_FAILURE; + } + bool isHuffmanEncoded; if (!index) { @@ -919,6 +932,13 @@ Http2Decompressor::DoLiteralInternal(nsACString &name, nsACString &value, return rv; } + // sanity check + if (mOffset >= mDataLen) { + NS_WARNING("Http2 Decompressor ran out of data"); + // This is session-fatal + return NS_ERROR_FAILURE; + } + // now the value uint32_t valueLen; isHuffmanEncoded = mData[mOffset] & (1 << 7); diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp index bb0b3ca77..be5539a02 100644 --- a/netwerk/protocol/http/nsHttpChannel.cpp +++ b/netwerk/protocol/http/nsHttpChannel.cpp @@ -313,11 +313,15 @@ nsHttpChannel::nsHttpChannel() , mPushedStream(nullptr) , mLocalBlocklist(false) , mWarningReporter(nullptr) + , mSendUpgradeRequest(false) , mDidReval(false) { LOG(("Creating nsHttpChannel [this=%p]\n", this)); mChannelCreationTime = PR_Now(); mChannelCreationTimestamp = TimeStamp::Now(); + + mSendUpgradeRequest = + Preferences::GetBool("network.http.upgrade-insecure-requests", false); } nsHttpChannel::~nsHttpChannel() @@ -377,8 +381,9 @@ nsHttpChannel::Connect() mLoadInfo->GetExternalContentPolicyType() : nsIContentPolicy::TYPE_OTHER; - if (type == nsIContentPolicy::TYPE_DOCUMENT || - type == nsIContentPolicy::TYPE_SUBDOCUMENT) { + if (mSendUpgradeRequest && + (type == nsIContentPolicy::TYPE_DOCUMENT || + type == nsIContentPolicy::TYPE_SUBDOCUMENT)) { rv = SetRequestHeader(NS_LITERAL_CSTRING("Upgrade-Insecure-Requests"), NS_LITERAL_CSTRING("1"), false); NS_ENSURE_SUCCESS(rv, rv); diff --git a/netwerk/protocol/http/nsHttpChannel.h b/netwerk/protocol/http/nsHttpChannel.h index 2e24d6e81..152cf1503 100644 --- a/netwerk/protocol/http/nsHttpChannel.h +++ b/netwerk/protocol/http/nsHttpChannel.h @@ -597,6 +597,10 @@ private: HttpChannelSecurityWarningReporter* mWarningReporter; RefPtr<ADivertableParentChannel> mParentChannel; + + // Whether we send opportunistic encryption requests. + bool mSendUpgradeRequest; + protected: virtual void DoNotifyListenerCleanup() override; diff --git a/netwerk/protocol/http/nsHttpPipeline.cpp b/netwerk/protocol/http/nsHttpPipeline.cpp index 293de8e39..4f5777244 100644 --- a/netwerk/protocol/http/nsHttpPipeline.cpp +++ b/netwerk/protocol/http/nsHttpPipeline.cpp @@ -291,6 +291,11 @@ nsHttpPipeline::PushBack(const char *data, uint32_t length) MOZ_ASSERT(PR_GetCurrentThread() == gSocketThread); MOZ_ASSERT(mPushBackLen == 0, "push back buffer already has data!"); + // Some bad behaving proxies may yank the connection out from under us. + // Check if we still have a connection to work with. + if (!mConnection) + return NS_ERROR_FAILURE; + // If we have no chance for a pipeline (e.g. due to an Upgrade) // then push this data down to original connection if (!mConnection->IsPersistent()) diff --git a/netwerk/sctp/datachannel/DataChannel.cpp b/netwerk/sctp/datachannel/DataChannel.cpp index f2a91c589..ebc430f8c 100644 --- a/netwerk/sctp/datachannel/DataChannel.cpp +++ b/netwerk/sctp/datachannel/DataChannel.cpp @@ -276,6 +276,7 @@ DataChannelConnection::Destroy() LOG(("Deregistered %p from the SCTP stack.", static_cast<void *>(this))); } + mListener = nullptr; // Finish Destroy on STS thread to avoid bug 876167 - once that's fixed, // the usrsctp_close() calls can move back here (and just proxy the // disconnect_all()) diff --git a/netwerk/streamconv/converters/nsIndexedToHTML.cpp b/netwerk/streamconv/converters/nsIndexedToHTML.cpp index 0414c4841..29fea8bfb 100644 --- a/netwerk/streamconv/converters/nsIndexedToHTML.cpp +++ b/netwerk/streamconv/converters/nsIndexedToHTML.cpp @@ -146,7 +146,14 @@ nsIndexedToHTML::DoOnStartRequest(nsIRequest* request, nsISupports *aContext, nsAutoCString baseUri, titleUri; rv = uri->GetAsciiSpec(baseUri); if (NS_FAILED(rv)) return rv; - titleUri = baseUri; + + nsCOMPtr<nsIURI> titleURL; + rv = uri->Clone(getter_AddRefs(titleURL)); + if (NS_FAILED(rv)) titleURL = uri; + rv = titleURL->SetQuery(EmptyCString()); + if (NS_FAILED(rv)) titleURL = uri; + rv = titleURL->SetRef(EmptyCString()); + if (NS_FAILED(rv)) titleURL = uri; nsCString parentStr; @@ -170,16 +177,14 @@ nsIndexedToHTML::DoOnStartRequest(nsIRequest* request, nsISupports *aContext, // that - see above nsAutoCString pw; - rv = uri->GetPassword(pw); + rv = titleURL->GetPassword(pw); if (NS_FAILED(rv)) return rv; if (!pw.IsEmpty()) { nsCOMPtr<nsIURI> newUri; - rv = uri->Clone(getter_AddRefs(newUri)); + rv = titleURL->Clone(getter_AddRefs(newUri)); if (NS_FAILED(rv)) return rv; rv = newUri->SetPassword(EmptyCString()); if (NS_FAILED(rv)) return rv; - rv = newUri->GetAsciiSpec(titleUri); - if (NS_FAILED(rv)) return rv; } nsAutoCString path; @@ -247,6 +252,11 @@ nsIndexedToHTML::DoOnStartRequest(nsIRequest* request, nsISupports *aContext, } } + rv = titleURL->GetAsciiSpec(titleUri); + if (NS_FAILED(rv)) { + return rv; + } + buffer.AppendLiteral("<style type=\"text/css\">\n" ":root {\n" " font-family: sans-serif;\n" diff --git a/old-configure.in b/old-configure.in index 80597eb73..6b88a00af 100644 --- a/old-configure.in +++ b/old-configure.in @@ -2222,6 +2222,7 @@ VPX_X86_ASM= VPX_ARM_ASM= LIBJPEG_TURBO_AS= LIBJPEG_TURBO_ASFLAGS= +MOZ_GAMEPAD= MOZ_PREF_EXTENSIONS=1 MOZ_REFLOW_PERF= MOZ_SAFE_BROWSING= @@ -2233,6 +2234,7 @@ MOZ_URL_CLASSIFIER= MOZ_XUL=1 MOZ_ZIPWRITER=1 MOZ_NO_SMART_CARDS= +MOZ_NECKO_WIFI=1 NECKO_COOKIES=1 MOZ_USE_NATIVE_POPUP_WINDOWS= MOZ_EXCLUDE_HYPHENATION_DICTIONARIES= @@ -2247,6 +2249,7 @@ MOZ_PLACES=1 MOZ_SERVICES_HEALTHREPORT=1 MOZ_SERVICES_SYNC=1 MOZ_SERVICES_CLOUDSYNC=1 +MOZ_USERINFO=1 case "$target_os" in mingw*) @@ -3344,13 +3347,12 @@ fi # COMPILE_ENVIRONMENT dnl ======================================================== dnl Gamepad support dnl ======================================================== -MOZ_GAMEPAD=1 MOZ_GAMEPAD_BACKEND=stub -MOZ_ARG_DISABLE_BOOL(gamepad, -[ --disable-gamepad Disable gamepad support], - MOZ_GAMEPAD=, - MOZ_GAMEPAD=1) +MOZ_ARG_ENABLE_BOOL(gamepad, +[ --enable-gamepad Enable gamepad support], + MOZ_GAMEPAD=1, + MOZ_GAMEPAD=) if test "$MOZ_GAMEPAD"; then case "$OS_TARGET" in @@ -3693,10 +3695,10 @@ if test "$MOZ_IOS"; then MOZ_UPDATER= fi -MOZ_ARG_DISABLE_BOOL(updater, -[ --disable-updater Disable building of updater], - MOZ_UPDATER=, - MOZ_UPDATER=1 ) +MOZ_ARG_ENABLE_BOOL(updater, +[ --enable-updater Enable building of internal updater], + MOZ_UPDATER=1, + MOZ_UPDATER= ) if test -n "$MOZ_UPDATER"; then AC_DEFINE(MOZ_UPDATER) @@ -4587,6 +4589,20 @@ fi AC_SUBST(MOZ_DEVTOOLS) dnl ======================================================== +dnl = Disable nsUserInfo +dnl ======================================================== +MOZ_ARG_DISABLE_BOOL(userinfo, +[ --disable-userinfo Disable nsUserInfo (default=enabled)], + MOZ_USERINFO=, + MOZ_USERINFO=1) + +if test -n "$MOZ_USERINFO"; then + AC_DEFINE(MOZ_USERINFO) +fi + +AC_SUBST(MOZ_USERINFO) + +dnl ======================================================== dnl = Define default location for MOZILLA_FIVE_HOME dnl ======================================================== MOZ_ARG_WITH_STRING(default-mozilla-five-home, @@ -4983,27 +4999,29 @@ dnl dnl option to disable necko's wifi scanner dnl -case "$OS_TARGET" in - Android) - ;; - Darwin) - if test -z "$MOZ_IOS"; then - NECKO_WIFI=1 - fi - ;; - DragonFly|FreeBSD|WINNT) - NECKO_WIFI=1 - ;; - Linux) - NECKO_WIFI=1 - NECKO_WIFI_DBUS=1 - ;; -esac - MOZ_ARG_DISABLE_BOOL(necko-wifi, [ --disable-necko-wifi Disable necko wifi scanner], - NECKO_WIFI=, - NECKO_WIFI=1) + MOZ_NECKO_WIFI=, + MOZ_NECKO_WIFI=1) + +if test "$MOZ_NECKO_WIFI"; then + case "$OS_TARGET" in + Android) + ;; + Darwin) + if test -z "$MOZ_IOS"; then + NECKO_WIFI=1 + fi + ;; + DragonFly|FreeBSD|WINNT) + NECKO_WIFI=1 + ;; + Linux) + NECKO_WIFI=1 + NECKO_WIFI_DBUS=1 + ;; + esac +fi if test "$NECKO_WIFI"; then if test -z "$MOZ_ENABLE_DBUS" -a -n "$NECKO_WIFI_DBUS"; then diff --git a/security/manager/ssl/nsNSSCallbacks.cpp b/security/manager/ssl/nsNSSCallbacks.cpp index daabca591..b8f1b0eb7 100644 --- a/security/manager/ssl/nsNSSCallbacks.cpp +++ b/security/manager/ssl/nsNSSCallbacks.cpp @@ -40,9 +40,6 @@ using namespace mozilla::psm; extern LazyLogModule gPIPNSSLog; -static void AccumulateCipherSuite(Telemetry::ID probe, - const SSLChannelInfo& channelInfo); - namespace { // Bits in bit mask for SSL_REASONS_FOR_NOT_FALSE_STARTING telemetry probe @@ -1106,68 +1103,6 @@ AccumulateECCCurve(Telemetry::ID probe, uint32_t bits) : 0; // Unknown } -static void -AccumulateCipherSuite(Telemetry::ID probe, const SSLChannelInfo& channelInfo) -{ - uint32_t value; - switch (channelInfo.cipherSuite) { - // ECDHE key exchange - case TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: value = 1; break; - case TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: value = 2; break; - case TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: value = 3; break; - case TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: value = 4; break; - case TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: value = 5; break; - case TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: value = 6; break; - case TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: value = 7; break; - case TLS_ECDHE_RSA_WITH_RC4_128_SHA: value = 8; break; - case TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: value = 9; break; - case TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: value = 10; break; - case TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256: value = 11; break; - case TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256: value = 12; break; - case TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: value = 13; break; - case TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: value = 14; break; - // DHE key exchange - case TLS_DHE_RSA_WITH_AES_128_CBC_SHA: value = 21; break; - case TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: value = 22; break; - case TLS_DHE_RSA_WITH_AES_256_CBC_SHA: value = 23; break; - case TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: value = 24; break; - case TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: value = 25; break; - case TLS_DHE_DSS_WITH_AES_128_CBC_SHA: value = 26; break; - case TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: value = 27; break; - case TLS_DHE_DSS_WITH_AES_256_CBC_SHA: value = 28; break; - case TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: value = 29; break; - case TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: value = 30; break; - // ECDH key exchange - case TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: value = 41; break; - case TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: value = 42; break; - case TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: value = 43; break; - case TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: value = 44; break; - case TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: value = 45; break; - case TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: value = 46; break; - case TLS_ECDH_ECDSA_WITH_RC4_128_SHA: value = 47; break; - case TLS_ECDH_RSA_WITH_RC4_128_SHA: value = 48; break; - // RSA key exchange - case TLS_RSA_WITH_AES_128_CBC_SHA: value = 61; break; - case TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: value = 62; break; - case TLS_RSA_WITH_AES_256_CBC_SHA: value = 63; break; - case TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: value = 64; break; - case SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA: value = 65; break; - case TLS_RSA_WITH_3DES_EDE_CBC_SHA: value = 66; break; - case TLS_RSA_WITH_SEED_CBC_SHA: value = 67; break; - case TLS_RSA_WITH_RC4_128_SHA: value = 68; break; - case TLS_RSA_WITH_RC4_128_MD5: value = 69; break; - // TLS 1.3 PSK resumption - case TLS_AES_128_GCM_SHA256: value = 70; break; - case TLS_CHACHA20_POLY1305_SHA256: value = 71; break; - case TLS_AES_256_GCM_SHA384: value = 72; break; - // unknown - default: - value = 0; - break; - } - MOZ_ASSERT(value != 0); -} - // In the case of session resumption, the AuthCertificate hook has been bypassed // (because we've previously successfully connected to our peer). That being the // case, we unfortunately don't know if the peer's server certificate verified @@ -1285,10 +1220,6 @@ void HandshakeCallback(PRFileDesc* fd, void* client_data) { // 1=tls1, 2=tls1.1, 3=tls1.2 unsigned int versionEnum = channelInfo.protocolVersion & 0xFF; MOZ_ASSERT(versionEnum > 0); - AccumulateCipherSuite( - infoObject->IsFullHandshake() ? Telemetry::SSL_CIPHER_SUITE_FULL - : Telemetry::SSL_CIPHER_SUITE_RESUMED, - channelInfo); SSLCipherSuiteInfo cipherInfo; rv = SSL_GetCipherSuiteInfo(channelInfo.cipherSuite, &cipherInfo, diff --git a/security/manager/ssl/nsNSSCertificate.cpp b/security/manager/ssl/nsNSSCertificate.cpp index 12fca5065..f6685e89a 100644 --- a/security/manager/ssl/nsNSSCertificate.cpp +++ b/security/manager/ssl/nsNSSCertificate.cpp @@ -1208,6 +1208,10 @@ void nsNSSCertList::destructorSafeDestroyNSSReference() NS_IMETHODIMP nsNSSCertList::AddCert(nsIX509Cert* aCert) { + if (!aCert) { + return NS_ERROR_INVALID_ARG; + } + nsNSSShutDownPreventionLock locker; if (isAlreadyShutDown()) { return NS_ERROR_NOT_AVAILABLE; @@ -1369,17 +1373,20 @@ nsNSSCertList::Read(nsIObjectInputStream* aStream) nsCOMPtr<nsISupports> certSupports; rv = aStream->ReadObject(true, getter_AddRefs(certSupports)); if (NS_FAILED(rv)) { - break; + return rv; } nsCOMPtr<nsIX509Cert> cert = do_QueryInterface(certSupports); + if (!cert) { + return NS_ERROR_UNEXPECTED; + } rv = AddCert(cert); if (NS_FAILED(rv)) { - break; + return rv; } } - return rv; + return NS_OK; } NS_IMETHODIMP diff --git a/security/manager/ssl/nsNSSComponent.cpp b/security/manager/ssl/nsNSSComponent.cpp index 4fc8c142e..f580f2bcb 100644 --- a/security/manager/ssl/nsNSSComponent.cpp +++ b/security/manager/ssl/nsNSSComponent.cpp @@ -1309,8 +1309,8 @@ typedef struct { bool weak; } CipherPref; -// Update the switch statement in AccumulateCipherSuite in nsNSSCallbacks.cpp -// when you add/remove cipher suites here. +// List of available cipher suites and their prefs +// Format: "pref", cipherSuite, defaultEnabled, [isWeak = false] static const CipherPref sCipherPrefs[] = { { "security.ssl3.ecdhe_rsa_aes_128_gcm_sha256", TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, true }, diff --git a/security/manager/ssl/nsNSSIOLayer.cpp b/security/manager/ssl/nsNSSIOLayer.cpp index 93fca396b..d2549c52d 100644 --- a/security/manager/ssl/nsNSSIOLayer.cpp +++ b/security/manager/ssl/nsNSSIOLayer.cpp @@ -1916,59 +1916,12 @@ nsConvertCANamesToStrings(const UniquePLArenaPool& arena, char** caNameStrings, } SECItem* dername; - SECStatus rv; - int headerlen; - uint32_t contentlen; - SECItem newitem; int n; char* namestring; for (n = 0; n < caNames->nnames; n++) { - newitem.data = nullptr; dername = &caNames->names[n]; - rv = DER_Lengths(dername, &headerlen, &contentlen); - - if (rv != SECSuccess) { - goto loser; - } - - if (headerlen + contentlen != dername->len) { - // This must be from an enterprise 2.x server, which sent - // incorrectly formatted der without the outer wrapper of type and - // length. Fix it up by adding the top level header. - if (dername->len <= 127) { - newitem.data = (unsigned char*) PR_Malloc(dername->len + 2); - if (!newitem.data) { - goto loser; - } - newitem.data[0] = (unsigned char) 0x30; - newitem.data[1] = (unsigned char) dername->len; - (void) memcpy(&newitem.data[2], dername->data, dername->len); - } else if (dername->len <= 255) { - newitem.data = (unsigned char*) PR_Malloc(dername->len + 3); - if (!newitem.data) { - goto loser; - } - newitem.data[0] = (unsigned char) 0x30; - newitem.data[1] = (unsigned char) 0x81; - newitem.data[2] = (unsigned char) dername->len; - (void) memcpy(&newitem.data[3], dername->data, dername->len); - } else { - // greater than 256, better be less than 64k - newitem.data = (unsigned char*) PR_Malloc(dername->len + 4); - if (!newitem.data) { - goto loser; - } - newitem.data[0] = (unsigned char) 0x30; - newitem.data[1] = (unsigned char) 0x82; - newitem.data[2] = (unsigned char) ((dername->len >> 8) & 0xff); - newitem.data[3] = (unsigned char) (dername->len & 0xff); - memcpy(&newitem.data[4], dername->data, dername->len); - } - dername = &newitem; - } - namestring = CERT_DerNameToAscii(dername); if (!namestring) { // XXX - keep going until we fail to convert the name @@ -1977,21 +1930,12 @@ nsConvertCANamesToStrings(const UniquePLArenaPool& arena, char** caNameStrings, caNameStrings[n] = PORT_ArenaStrdup(arena.get(), namestring); PR_Free(namestring); if (!caNameStrings[n]) { - goto loser; + return SECFailure; } } - - if (newitem.data) { - PR_Free(newitem.data); - } } return SECSuccess; -loser: - if (newitem.data) { - PR_Free(newitem.data); - } - return SECFailure; } // Possible behaviors for choosing a cert for client auth. diff --git a/security/manager/ssl/nsSTSPreloadList.errors b/security/manager/ssl/nsSTSPreloadList.errors index 90bfe502a..be60cc0ed 100644 --- a/security/manager/ssl/nsSTSPreloadList.errors +++ b/security/manager/ssl/nsSTSPreloadList.errors @@ -1,16 +1,29 @@ 0-1.party: could not connect to host -0.me.uk: could not connect to host +0.me.uk: did not receive HSTS header 00001.am: max-age too low: 129600 -00002.am: max-age too low: 129600 0005.com: could not connect to host 0005aa.com: could not connect to host 0005pay.com: did not receive HSTS header +00100010.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00120012.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00130013.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00140014.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00150015.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00160016.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00180018.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00190019.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 00220022.net: could not connect to host +00330033.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00440044.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00550055.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +00660066.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 007-preisvergleich.de: could not connect to host +00770077.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 00778899.com: did not receive HSTS header 007kf.com: could not connect to host 007sascha.de: did not receive HSTS header 00880088.net: could not connect to host +00990099.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 00wbf.com: could not connect to host 01100010011001010111001101110100.com: could not connect to host 013028.com: did not receive HSTS header @@ -20,28 +33,33 @@ 016328.com: did not receive HSTS header 019328.com: could not connect to host 019398.com: did not receive HSTS header +01smh.com: could not connect to host 020wifi.nl: could not connect to host 0222.mg: did not receive HSTS header 0222aa.com: could not connect to host 023838.com: could not connect to host +02607.com: could not connect to host 028718.com: did not receive HSTS header -029978.com: could not connect to host +029978.com: did not receive HSTS header 029inno.com: could not connect to host 02dl.net: could not connect to host +02smh.com: could not connect to host 03-09-2016.wedding: could not connect to host 0311buy.cn: did not receive HSTS header +03170317.com: could not connect to host 040fit.nl: did not receive HSTS header 040fitvitality.nl: did not receive HSTS header 048.ag: could not connect to host 04sun.com: could not connect to host 050508.com: could not connect to host 055268.com: did not receive HSTS header -066318.com: could not connect to host +066318.com: did not receive HSTS header 066538.com: did not receive HSTS header 066718.com: did not receive HSTS header 066928.com: could not connect to host 066938.com: could not connect to host 070709.net: could not connect to host +07733.win: did not receive HSTS header 078805.com: did not receive HSTS header 078810.com: did not receive HSTS header 078820.com: did not receive HSTS header @@ -50,6 +68,7 @@ 081638.com: did not receive HSTS header 083962.com: could not connect to host 086628.com: did not receive HSTS header +09115.com: could not connect to host 0c.eu: did not receive HSTS header 0cdn.ga: could not connect to host 0day.su: could not connect to host @@ -81,31 +100,42 @@ 1.0.0.1: max-age too low: 0 1000hats.com: did not receive HSTS header 1001.best: could not connect to host -1001firms.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 100onrainkajino.com: could not connect to host 1017scribes.com: could not connect to host 1018hosting.nl: did not receive HSTS header 1022996493.rsc.cdn77.org: could not connect to host +10414.org: could not connect to host +1066.io: could not connect to host 1091.jp: could not connect to host +10gb.io: could not connect to host 10gbit.ovh: could not connect to host 10seos.com: did not receive HSTS header 10tacle.io: could not connect to host 10v2.com: did not receive HSTS header 10x.ooo: could not connect to host +10xiuxiu.com: did not receive HSTS header 1100.so: could not connect to host +110110110.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 1116pay.com: did not receive HSTS header +112112112.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +113113113.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +118118118.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 11bt.cc: did not receive HSTS header 11recruitment.com.au: did not receive HSTS header +11scc.com: could not connect to host 120dayweightloss.com: could not connect to host 123110.com: could not connect to host 123movies.fyi: did not receive HSTS header 123share.org: did not receive HSTS header 123termpapers.com: could not connect to host +123test.com: did not receive HSTS header 123test.de: did not receive HSTS header 123test.es: did not receive HSTS header 123test.fr: did not receive HSTS header +123test.nl: did not receive HSTS header 126ium.moe: could not connect to host 127011-networks.ch: could not connect to host +1288366.com: could not connect to host 12vpn.org: could not connect to host 12vpnchina.com: could not connect to host 130978.com: did not receive HSTS header @@ -113,17 +143,32 @@ 135vv.com: could not connect to host 13826145000.com: could not connect to host 1391kj.com: did not receive HSTS header +1395kj.com: did not receive HSTS header 1396.cc: could not connect to host 1396.net: did not receive HSTS header +1481481.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481481.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481482.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481482.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481483.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481483.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481485.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481485.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481486.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +1481486.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 1536.cf: could not connect to host 16164f.com: could not connect to host 163pwd.com: could not connect to host +166166.com: could not connect to host 1689886.com: did not receive HSTS header 168bet9.com: could not connect to host +168bo9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +168bo9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 168esb.com: could not connect to host +16book.org: could not connect to host 16deza.com: did not receive HSTS header 16packets.com: could not connect to host -173vpn.cn: did not receive HSTS header +173vpn.cn: could not connect to host 173vpns.com: could not connect to host 173vpnv.com: could not connect to host 174.net.nz: did not receive HSTS header @@ -134,22 +179,25 @@ 1888zr.com: could not connect to host 188betwarriors.co.uk: could not connect to host 188trafalgar.ca: did not receive HSTS header +189dv.com: could not connect to host 1912x.com: could not connect to host 19216811.online: could not connect to host 1921958389.rsc.cdn77.org: could not connect to host 195gm.com: could not connect to host 1a-jva.de: could not connect to host +1aim.com: did not receive HSTS header 1atic.com: could not connect to host 1b1.pl: could not connect to host 1co-jp.net: did not receive HSTS header 1cover.com: could not connect to host 1day1ac.red: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 1er-secours.ch: could not connect to host +1europlan.nl: could not connect to host 1gsoft.com: could not connect to host 1item.co.il: did not receive HSTS header 1k8b.com: could not connect to host +1m.duckdns.org: could not connect to host 1nian.vip: could not connect to host -1pw.ca: did not receive HSTS header 1q2w.nl: could not connect to host 1q365a.com: could not connect to host 1s.tn: could not connect to host @@ -164,7 +212,7 @@ 2-cpu.de: could not connect to host 200fcw.com: could not connect to host 2018.wales: could not connect to host -20188088.com: did not receive HSTS header +2048-spiel.de: could not connect to host 2048game.co.uk: could not connect to host 206rc.net: max-age too low: 2592000 208.es: did not receive HSTS header @@ -174,6 +222,8 @@ 21lg.co: could not connect to host 21stnc.com: could not connect to host 22bt.cc: did not receive HSTS header +22digital.agency: could not connect to host +22scc.com: could not connect to host 2333.press: could not connect to host 247a.co.uk: could not connect to host 247quickbooks.com: did not receive HSTS header @@ -186,42 +236,46 @@ 24sihu.com: could not connect to host 2566335.xyz: did not receive HSTS header 256k.me: could not connect to host +258da.com: did not receive HSTS header 25daysof.io: could not connect to host 27728522.com: could not connect to host 2859cc.com: could not connect to host -286.com: did not receive HSTS header +288da.com: did not receive HSTS header 29227.com: could not connect to host +298da.com: did not receive HSTS header 2acbi-asso.fr: did not receive HSTS header 2b3b.com: could not connect to host +2bad2c0.de: did not receive HSTS header 2bitout.com: could not connect to host 2bizi.ru: could not connect to host 2bouncy.com: did not receive HSTS header 2brokegirls.org: could not connect to host 2carpros.com: did not receive HSTS header 2fl.me: did not receive HSTS header -2gen.com: could not connect to host 2intermediate.co.uk: did not receive HSTS header +2li.ch: could not connect to host 2or3.tk: could not connect to host -2programmers.net: did not receive HSTS header 2smart4food.com: could not connect to host 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 +301.website: did not receive HSTS header 302.nyc: could not connect to host -30yearmortgagerates.net: did not receive HSTS header +30yearmortgagerates.net: could not connect to host 3133780x.com: did not receive HSTS header 314166.com: could not connect to host 314chan.org: could not connect to host 31tv.ru: did not receive HSTS header 32ph.com: could not connect to host 330.net: could not connect to host +33836.com: could not connect to host 338da.com: could not connect to host 33drugstore.com: could not connect to host +33scc.com: could not connect to host 341.mg: could not connect to host 34oztonic.eu: did not receive HSTS header -3555500.com: could not connect to host +3555500.com: did not receive HSTS header 3555aa.com: could not connect to host 35792.de: could not connect to host 360gradus.com: did not receive HSTS header @@ -233,7 +287,7 @@ 3778xl.com: could not connect to host 3839.ca: could not connect to host 38888msc.com: could not connect to host -38blog.com: could not connect to host +38blog.com: did not receive HSTS header 38sihu.com: could not connect to host 3candy.com: could not connect to host 3chit.cf: could not connect to host @@ -244,6 +298,9 @@ 3dm.audio: could not connect to host 3dproteinimaging.com: did not receive HSTS header 3fl.com: did not receive HSTS header +3hl0.net: could not connect to host +3ik.us: could not connect to host +3james.com: could not connect to host 3mbo.de: did not receive HSTS header 3sreporting.com: did not receive HSTS header 3vlnaeet.cz: could not connect to host @@ -261,21 +318,21 @@ 404forest.com: did not receive HSTS header 41844.de: could not connect to host 420dongstorm.com: could not connect to host -4237.com: max-age too low: 86400 -42day.info: could not connect to host +4237.com: could not connect to host 42entrepreneurs.fr: did not receive HSTS header 42ms.org: could not connect to host 42t.ru: could not connect to host -439191.com: did not receive HSTS header +439191.com: could not connect to host 440hz-radio.de: did not receive HSTS header 440hz.radio: did not receive HSTS header -441jj.com: could not connect to host -4455software.com: could not connect to host +4455software.com: did not receive HSTS header +448da.com: did not receive HSTS header 44957.com: could not connect to host -44sec.com: could not connect to host +44scc.com: could not connect to host 4500.co.il: did not receive HSTS header 4679.space: did not receive HSTS header 478933.com: could not connect to host +47essays.com: could not connect to host 47tech.com: could not connect to host 4997777.com: could not connect to host 4azino777.ru: did not receive HSTS header @@ -283,6 +340,7 @@ 4bike.eu: did not receive HSTS header 4cclothing.com: could not connect to host 4d2.xyz: could not connect to host +4decor.org: max-age too low: 0 4hvac.com: did not receive HSTS header 4loc.us: could not connect to host 4miners.net: could not connect to host @@ -293,33 +351,46 @@ 4web-hosting.com: could not connect to host 4winds.pt: did not receive HSTS header 5000yz.com: could not connect to host -500103.com: could not connect to host -500108.com: could not connect to host +500103.com: did not receive HSTS header +500108.com: did not receive HSTS header 500fcw.com: could not connect to host +500k.nl: could not connect to host +508088.com: could not connect to host 50ma.xyz: could not connect to host 50millionablaze.org: could not connect to host +50plusnet.nl: could not connect to host 513vpn.net: could not connect to host 517vpn.cn: could not connect to host 518maicai.com: could not connect to host 51aifuli.com: could not connect to host +51tiaojiu.com: could not connect to host +5214889.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +5214889.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 52b9.com: could not connect to host 52b9.net: could not connect to host 52kb.net: could not connect to host 52kb1.com: could not connect to host 52neptune.com: did not receive HSTS header +5310899.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +5310899.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +5364.com: could not connect to host 540.co: did not receive HSTS header 5432.cc: did not receive HSTS header 54bf.com: could not connect to host 555fl.com: max-age too low: 129600 555xl.com: could not connect to host 55bt.cc: did not receive HSTS header +55scc.com: could not connect to host 56877.com: could not connect to host 56ct.com: could not connect to host 57aromas.com: did not receive HSTS header +57he.com: could not connect to host +598598598.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 5chat.it: could not connect to host 5ece.de: could not connect to host 5piecesofadvice.com: could not connect to host -5thchichesterscouts.org.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +5starbouncycastlehire.co.uk: did not receive HSTS header +5w5.la: did not receive HSTS header 605508.cc: could not connect to host 605508.com: could not connect to host 60ych.net: did not receive HSTS header @@ -328,17 +399,20 @@ 645ds.cn: did not receive HSTS header 645ds.com: did not receive HSTS header 64616e.xyz: could not connect to host -64970.com: could not connect to host +64970.com: did not receive HSTS header 64bitgaming.de: could not connect to host -660011.com: could not connect to host +64bitservers.net: could not connect to host +65d88.com: could not connect to host +660011.com: did not receive HSTS header 66205.net: did not receive HSTS header +6677.us: could not connect to host +668da.com: did not receive HSTS header 67899876.com: did not receive HSTS header -68277.me: could not connect to host 688da.com: could not connect to host 692b8c32.de: could not connect to host 69mentor.com: could not connect to host 69square.com: could not connect to host -6ird.com: did not receive HSTS header +6w6.la: did not receive HSTS header 6z3.net: could not connect to host 7183.org: could not connect to host 721av.com: could not connect to host @@ -347,24 +421,29 @@ 72ty.com: could not connect to host 72ty.net: could not connect to host 73223.com: did not receive HSTS header +73info.com: could not connect to host +7570.com: did not receive HSTS header 771122.tv: did not receive HSTS header 7717a.com: did not receive HSTS header 772244.net: did not receive HSTS header 776573.net: did not receive HSTS header 7777av.co: could not connect to host 77890k.com: could not connect to host +778da.com: did not receive HSTS header 77book.cn: could not connect to host -789zr.com: max-age too low: 86400 +788da.com: did not receive HSTS header +789zr.com: could not connect to host 7f-wgg.cf: could not connect to host +7kovrikov.ru: did not receive HSTS header 7links.com.br: did not receive HSTS header 7nw.eu: could not connect to host +7proxies.com: did not receive HSTS header 7thheavenrestaurant.com: could not connect to host 8.net.co: could not connect to host -80036.com: could not connect to host +80036.com: did not receive HSTS header 8003pay.com: could not connect to host -808.lv: could not connect to host +808.lv: did not receive HSTS header 808phone.net: could not connect to host -81818app.com: could not connect to host 81uc.com: could not connect to host 8206688.com: did not receive HSTS header 826468.com: could not connect to host @@ -375,76 +454,107 @@ 8522cn.com: did not receive HSTS header 8522top.com: could not connect to host 8560.be: could not connect to host +8688fc.com: could not connect to host +86metro.ru: could not connect to host 8722.com: did not receive HSTS header 87577.com: could not connect to host -88.to: could not connect to host +88.to: did not receive HSTS header 8887999.com: could not connect to host 8888av.co: could not connect to host +8888esb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 888azino.com: did not receive HSTS header 888lu.co: could not connect to host +888msc.vip: did not receive HSTS header 88d.com: could not connect to host 88laohu.cc: could not connect to host 88laohu.com: could not connect to host +8901178.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8901178.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8910899.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8910899.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8917168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8917168.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8917818.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8917818.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8951889.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8951889.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 8989k3.com: could not connect to host +8992088.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +8992088.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 89955.com: could not connect to host 899699.com: did not receive HSTS header 89he.com: could not connect to host 8azino777.ru: did not receive HSTS header 8ballbombom.uk: could not connect to host +8da2017.com: did not receive HSTS header 8da2018.com: could not connect to host 8mpay.com: did not receive HSTS header +8pecxstudios.com: could not connect to host +8shequapp.com: could not connect to host +8svn.com: could not connect to host 8t88.biz: could not connect to host -8ung.online: could not connect to host +8ung.online: did not receive HSTS header +8xx.bet: could not connect to host 8xx.io: could not connect to host +8xx888.com: could not connect to host 90smthng.com: could not connect to host 91-freedom.com: could not connect to host -910kj.com: did not receive HSTS header 9118b.com: could not connect to host 911911.pw: could not connect to host 915ers.com: could not connect to host 919945.com: did not receive HSTS header 91dh.cc: could not connect to host -91lt.info: could not connect to host +91lt.info: did not receive HSTS header 922.be: could not connect to host 92bmh.com: did not receive HSTS header -9454.com: max-age too low: 86400 -94cs.cn: did not receive HSTS header +9454.com: could not connect to host +9500years.com: max-age too low: 0 95778.com: could not connect to host 960news.ca: could not connect to host 9617818.com: could not connect to host 9617818.net: could not connect to host 9651678.ru: could not connect to host +9696178.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +9696178.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 9822.com: did not receive HSTS header 9822.info: did not receive HSTS header 987987.com: did not receive HSTS header 9906753.net: did not receive HSTS header 99511.fi: did not receive HSTS header +99599.net: could not connect to host 99buffets.com: could not connect to host +9bingo.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] 9iwan.net: did not receive HSTS header 9jadirect.com: could not connect to host 9point6.com: could not connect to host 9ss6.com: could not connect to host 9vies.ca: could not connect to host +9won.kr: could not connect to host +9y.at: could not connect to host a-intel.com: could not connect to host a-ix.net: could not connect to host a-plus.space: could not connect to host a-rickroll-n.pw: could not connect to host a-shafaat.ir: did not receive HSTS header +a-starbouncycastles.co.uk: could not connect to host a-theme.com: could not connect to host a1-autopartsglasgow.com: could not connect to host a1798.com: could not connect to host a200k.xyz: did not receive HSTS header a2c-co.net: could not connect to host a2it.gr: max-age too low: 0 +a3.pm: did not receive HSTS header a3workshop.swiss: could not connect to host +a7m2.me: could not connect to host a8q.org: could not connect to host a9c.co: could not connect to host aa43d.cn: could not connect to host +aa6688.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] aa7733.com: could not connect to host aaeblog.com: did not receive HSTS header aaeblog.net: did not receive HSTS header aaeblog.org: did not receive HSTS header -aaex.cloud: could not connect to host +aanbieders.ga: could not connect to host aaoo.net: could not connect to host aapp.space: could not connect to host aardvarksolutions.co.za: did not receive HSTS header @@ -457,13 +567,11 @@ ab-bauservice-berlin.de: [Exception... "Component returned failure code: 0x80004 abacus-events.co.uk: did not receive HSTS header abareplace.com: did not receive HSTS header abasky.net: could not connect to host -abcdef.be: could not connect to host abcdentalcare.com: did not receive HSTS header abcdobebe.com: did not receive HSTS header -abchelp.net: did not receive HSTS header +abchelp.net: could not connect to host abearofsoap.com: could not connect to host abecodes.net: could not connect to host -abeontech.com: could not connect to host aberdeenalmeras.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] abi-fvs.de: could not connect to host abigailstark.com: could not connect to host @@ -479,14 +587,12 @@ abou.to: could not connect to host about.ge: did not receive HSTS header aboutassistedliving.org: did not receive HSTS header aboutmyip.info: did not receive HSTS header -aboutmyproperty.ca: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] aboutyou-deals.de: could not connect to host abraxan.pro: could not connect to host absimple.ca: did not receive HSTS header absinthium.ch: could not connect to host absolutewaterproofingsolutions.com: did not receive HSTS header abstractbarista.com: could not connect to host -abstractbarista.net: could not connect to host abt.de: did not receive HSTS header abtom.de: did not receive HSTS header abury.fr: did not receive HSTS header @@ -495,17 +601,19 @@ abyssgaming.eu: could not connect to host ac.milan.it: did not receive HSTS header acabadosboston.com: could not connect to host academialowcost.com.br: did not receive HSTS header -academicenterprise.org: could not connect to host +academicenterprise.org: did not receive HSTS header academy4.net: did not receive HSTS header acadianapatios.com: did not receive HSTS header acai51.net: could not connect to host acaonegocios.com.br: could not connect to host acbc.ie: max-age too low: 0 +accadoro.it: did not receive HSTS header accbay.com: could not connect to host accelerate.network: could not connect to host accelerole.com: did not receive HSTS header accelight.co.jp: did not receive HSTS header accelight.jp: did not receive HSTS header +accelsnow.com: could not connect to host access-sofia.org: did not receive HSTS header accolade.com.br: could not connect to host accoun.technology: could not connect to host @@ -517,6 +625,7 @@ acelpb.com: could not connect to host acemypaper.com: could not connect to host acg.mn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] acg.sb: could not connect to host +acg18.us: max-age too low: 0 acgaudio.com: could not connect to host acgmoon.org: did not receive HSTS header acgpiano.club: could not connect to host @@ -535,9 +644,11 @@ acr.im: could not connect to host acraft.org: could not connect to host acrepairdrippingsprings.com: could not connect to host acritelli.com: did not receive HSTS header +across.ml: could not connect to host acrossgw.com: could not connect to host acsihostingsolutions.com: did not receive HSTS header acslimited.co.uk: did not receive HSTS header +actc81.fr: could not connect to host actilove.ch: could not connect to host actiontowingroundrock.com: could not connect to host activateplay.com: did not receive HSTS header @@ -546,7 +657,6 @@ activeclearweb.com: could not connect to host activeweb.top: could not connect to host activistasconstructivos.org: did not receive HSTS header activiti.alfresco.com: did not receive HSTS header -actom.cc: could not connect to host actu-film.com: max-age too low: 0 actu-medias.com: could not connect to host actualite-videos.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -571,7 +681,6 @@ addvocate.com: could not connect to host adec-emsa.ae: could not connect to host adelaides.com: did not receive HSTS header adelevie.com: could not connect to host -adeline.mobi: could not connect to host adelinlydia-coach.com: did not receive HSTS header adequatetechnology.com: could not connect to host aderal.io: could not connect to host @@ -587,10 +696,7 @@ adlerweb.info: did not receive HSTS header admin-forms.co.uk: did not receive HSTS header admin-numerique.com: did not receive HSTS header admin.google.com: did not receive HSTS header (error ignored - included regardless) -admins.tech: could not connect to host adminwerk.com: did not receive HSTS header -adminwerk.net: did not receive HSTS header -admiral.dp.ua: did not receive HSTS header admitcard.co.in: could not connect to host admsel.ec: could not connect to host adoal.net: did not receive HSTS header @@ -599,13 +705,10 @@ adonairelogios.com.br: could not connect to host adoniscabaret.co.uk: could not connect to host adopteunsiteflash.com: could not connect to host adora-illustrations.fr: did not receive HSTS header +adorade.ro: could not connect to host adprospb.com: did not receive HSTS header -adquisitio.co.uk: could not connect to host adquisitio.de: could not connect to host -adquisitio.es: could not connect to host -adquisitio.fr: could not connect to host adquisitio.in: could not connect to host -adquisitio.it: could not connect to host adrenaline-gaming.ru: could not connect to host adrianajewelry.my: could not connect to host adriancohea.ninja: did not receive HSTS header @@ -625,22 +728,27 @@ advancedplasticsurgerycenter.com: did not receive HSTS header advancedseotool.it: did not receive HSTS header advancedstudio.ro: could not connect to host advancedwriters.com: could not connect to host -advantagemechanicalinc.com: could not connect to host +advantagemechanicalinc.com: did not receive HSTS header +advelty.cz: could not connect to host adventistdeploy.org: could not connect to host adventures.is: did not receive HSTS header adver.top: could not connect to host advertisemant.com: could not connect to host adviespuntklokkenluiders.nl: could not connect to host +adwokatkosterka.pl: did not receive HSTS header adzie.xyz: could not connect to host adzuna.co.uk: did not receive HSTS header +ae-dir.com: could not connect to host +ae-dir.org: could not connect to host aegialis.com: did not receive HSTS header +aelisya.ch: could not connect to host aelurus.com: could not connect to host aemoria.com: could not connect to host aeon.wiki: 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: could not connect to host +aerotheque.fr: did not receive HSTS header aes256.ru: could not connect to host aesthetics-blog.com: did not receive HSTS header aesym.de: could not connect to host @@ -648,9 +756,8 @@ aether.pw: could not connect to host aethonan.pro: could not connect to host aevpn.net: could not connect to host aevpn.org: could not connect to host -aeyoun.com: did not receive HSTS header af-fotografie.net: did not receive HSTS header -afb24.de: did not receive HSTS header +af-internet.nl: did not receive HSTS header afdkompakt.de: max-age too low: 86400 afeefzarapackages.com: did not receive HSTS header affily.io: could not connect to host @@ -663,8 +770,9 @@ aflamtorrent.com: could not connect to host afmchandler.com: did not receive HSTS header afp548.tk: could not connect to host after.im: did not receive HSTS header +afterskool.eu: could not connect to host afterstack.net: could not connect to host -afvallendoeje.nu: did not receive HSTS header +afvallendoeje.nu: could not connect to host afyou.co.kr: could not connect to host afzco.asia: did not receive HSTS header agalaxyfarfaraway.co.uk: could not connect to host @@ -674,6 +782,7 @@ agdalieso.com.ba: could not connect to host agelesscitizen.com: could not connect to host agelesscitizens.com: could not connect to host agenbettingasia.com: did not receive HSTS header +agenceklic.com: did not receive HSTS header agenciagriff.com: did not receive HSTS header agencymanager.be: could not connect to host agentseeker.ca: could not connect to host @@ -682,27 +791,21 @@ agiairini.cz: could not connect to host agilebits.net: could not connect to host agileecommerce.com.br: could not connect to host agingstop.net: could not connect to host -aginion.net: did not receive HSTS header agonswim.com: could not connect to host agoravm.tk: could not connect to host agowa.eu: did not receive HSTS header agowa338.de: did not receive HSTS header -agracan.com: could not connect to host agrafix.design: did not receive HSTS header -agrarking.com: could not connect to host agrias.com.br: did not receive HSTS header agrikulturchic.com: could not connect to host agrimap.com: did not receive HSTS header agro-id.gov.ua: did not receive HSTS header agro.rip: did not receive HSTS header agroglass.com.br: did not receive HSTS header -agroyard.com.ua: could not connect to host agtv.com.br: did not receive HSTS header ahabingo.com: did not receive HSTS header ahelos.tk: could not connect to host -aheng.me: could not connect to host ahiru3.com: did not receive HSTS header -ahmetozer.org: max-age too low: 0 aholic.co: did not receive HSTS header ahoynetwork.com: could not connect to host ahri.ovh: could not connect to host @@ -712,25 +815,26 @@ ahwatukeefoothillsmontessori.com: did not receive HSTS header ai1989.com: could not connect to host aibaoyou.com: could not connect to host aibsoftware.mx: could not connect to host -aicial.com: could not connect to host +aicial.com: did not receive HSTS header aicial.com.au: could not connect to host aid-web.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] aidanwoods.com: did not receive HSTS header aide-admin.com: did not receive HSTS header +aide-valais.ch: could not connect to host aidikofflaw.com: did not receive HSTS header aiesecarad.ro: could not connect to host -aiforsocialmedia.com: could not connect to host aifreeze.ru: could not connect to host aify.eu: could not connect to host aikenorganics.com: could not connect to host aim-consultants.com: did not receive HSTS header -aimerworld.com: did not receive HSTS header aimrom.org: could not connect to host ainrb.com: could not connect to host aioboot.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] aip-marine.com: could not connect to host aiphyron.com: could not connect to host aiponne.com: could not connect to host +airbly.com: did not receive HSTS header +airconsalberton.co.za: did not receive HSTS header airconsboksburg.co.za: did not receive HSTS header airconsfourways.co.za: did not receive HSTS header airconsmidrand.co.za: did not receive HSTS header @@ -739,6 +843,7 @@ airedaleterrier.com.br: could not connect to host airfax.io: could not connect to host airlea.com: could not connect to host airlinecheckins.com: did not receive HSTS header +airlinesettlement.com: did not receive HSTS header airmazinginflatables.com: could not connect to host airportlimototoronto.com: did not receive HSTS header airproto.com: did not receive HSTS header @@ -750,6 +855,7 @@ aiticon.de: did not receive HSTS header aivene.com: could not connect to host aiw-thkoeln.online: could not connect to host aixxe.net: did not receive HSTS header +aizxxs.net: could not connect to host ajetaci.cz: could not connect to host ajibot.com: could not connect to host ajmahal.com: could not connect to host @@ -765,16 +871,19 @@ akhilindurti.com: could not connect to host akhras.at: did not receive HSTS header akiba-server.info: could not connect to host akihiro.xyz: could not connect to host +akita-boutique.com: could not connect to host akita-stream.com: could not connect to host akkadia.cc: could not connect to host +akkeylab.com: could not connect to host akoch.net: could not connect to host akombakom.net: could not connect to host -akoww.de: could not connect to host akracing.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +akritikos.info: could not connect to host akselimedia.fi: could not connect to host akstudentsfirst.org: could not connect to host aktan.com.br: could not connect to host aktivist.in: did not receive HSTS header +aktuelle-uhrzeit.at: did not receive HSTS header akul.co.in: could not connect to host al-f.net: could not connect to host al-shami.net: could not connect to host @@ -789,23 +898,24 @@ alarmsystemreviews.com: did not receive HSTS header alasta.info: could not connect to host alauda-home.de: could not connect to host alaundeil.xyz: could not connect to host -albanboye.info: could not connect to host albanien.guide: could not connect to host alberguecimballa.es: could not connect to host -albertbogdanowicz.pl: could not connect to host albertify.xyz: could not connect to host albertonplumber24-7.co.za: did not receive HSTS header albertopimienta.com: did not receive HSTS header -albrocar.com: did not receive HSTS header +albuic.tk: could not connect to host alcantarafleuriste.com: did not receive HSTS header alcatelonetouch.us: could not connect to host -alcatraz.online: could not connect to host +alcatraz.online: did not receive HSTS header alcazaar.com: could not connect to host alchemia.co.il: did not receive HSTS header alcorao.org: could not connect to host aldes.co.za: did not receive HSTS header +aldred.cloud: could not connect to host aleax.me: could not connect to host alecvannoten.be: did not receive HSTS header +aledg.cl: could not connect to host +alela.fr: could not connect to host alenan.org: could not connect to host aleph.land: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] alertaenlinea.gov: did not receive HSTS header @@ -814,9 +924,9 @@ alessandroz.ddns.net: could not connect to host alessandroz.pro: could not connect to host alethearose.com: did not receive HSTS header alexandernorth.ch: could not connect to host -alexandre.sh: could not connect to host +alexandre.sh: did not receive HSTS header +alexdaulby.com: did not receive HSTS header alexdodge.ca: did not receive HSTS header -alexei.su: could not connect to host alexfisherhealth.com.au: did not receive HSTS header alexhaydock.co.uk: did not receive HSTS header alexischaussy.xyz: could not connect to host @@ -837,16 +947,20 @@ algarmatic-automatismos.pt: could not connect to host algebraaec.com: did not receive HSTS header alghaib.com: could not connect to host alibababee.com: did not receive HSTS header +alibip.de: could not connect to host alicialab.org: could not connect to host alien.bz: did not receive HSTS header alilialili.ga: could not connect to host alinemaciel.adm.br: could not connect to host +alinode.com: could not connect to host alistairholland.me: did not receive HSTS header alistairpialek.com: max-age too low: 86400 +alisync.com: could not connect to host alittlebitcheeky.com: did not receive HSTS header aliwebstore.com: could not connect to host aljammaz.holdings: could not connect to host aljmz.com: did not receive HSTS header +aljweb.com: could not connect to host alkami.com: max-age too low: 0 alkamitech.com: max-age too low: 0 alkel.info: did not receive HSTS header @@ -857,17 +971,20 @@ allaboutbelgaum.com: did not receive HSTS header alldaymonitoring.com: could not connect to host alldm.ru: could not connect to host allegro-inc.com: did not receive HSTS header +allemobieleproviders.nl: could not connect to host allerbestefreunde.de: did not receive HSTS header allgrass.es: did not receive HSTS header allgrass.net: did not receive HSTS header allhard.org: could not connect to host alliance-compacts.com: did not receive HSTS header +alliances-faq.de: could not connect to host allinnote.com: could not connect to host -allinonecyprus.com: did not receive HSTS header +allinonecyprus.com: could not connect to host allkindzabeats.com: did not receive HSTS header allladyboys.com: could not connect to host allmbw.com: could not connect to host allmystery.de: did not receive HSTS header +allo-symo.fr: did not receive HSTS header allods-zone.ru: did not receive HSTS header alloffice.com.ua: did not receive HSTS header alloinformatique.net: could not connect to host @@ -883,6 +1000,8 @@ allstorebrasil.com.br: could not connect to host alltheducks.com: max-age too low: 43200 allthingsblogging.com: could not connect to host allthingsfpl.com: could not connect to host +allthingssquared.com: could not connect to host +alltubedownload.net: could not connect to host allvips.ru: could not connect to host almagalla.com: could not connect to host almatinki.com: could not connect to host @@ -892,12 +1011,14 @@ alorenzi.eu: did not receive HSTS header alp.net.cn: could not connect to host alparque.com: did not receive HSTS header alpe-d-or.dyn-o-saur.com: could not connect to host +alpencam.com: could not connect to host alpha.irccloud.com: could not connect to host alphabit-secure.com: could not connect to host alphabuild.io: could not connect to host alphagamers.net: did not receive HSTS header alphahunks.com: could not connect to host alphalabs.xyz: could not connect to host +alrait.com: could not connect to host als-hardware.co.za: did not receive HSTS header alspolska.pl: max-age too low: 2592000 alt-tab-design.com: did not receive HSTS header @@ -908,26 +1029,28 @@ altailife.ru: did not receive HSTS header altamarea.se: could not connect to host altbinaries.com: could not connect to host alteqnia.com: could not connect to host -alterbaum.net: could not connect to host -altercpa.ru: did not receive HSTS header +altercpa.ru: max-age too low: 0 altered.network: could not connect to host altfire.ca: could not connect to host altiacaselight.com: could not connect to host altitudemoversdenver.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +altonblom.com: did not receive HSTS header altoneum.com: could not connect to host altporn.xyz: could not connect to host altruistgroup.net: max-age too low: 300 aluminium-scaffolding.co.uk: could not connect to host -alunjam.es: did not receive HSTS header +alunjam.es: could not connect to host alunonaescola.com.br: did not receive HSTS header aluoblog.pw: could not connect to host aluoblog.top: could not connect to host alusta.co: could not connect to host +alvis-audio.com: did not receive HSTS header alvn.ga: could not connect to host am8888.top: could not connect to host amaderelectronics.com: max-age too low: 2592000 amadilo.de: could not connect to host amadoraslindas.com: could not connect to host +amaforro.com: could not connect to host amaforums.org: did not receive HSTS header amandaonishi.com: could not connect to host amaranthus.com.ph: could not connect to host @@ -952,6 +1075,7 @@ americansforcommunitydevelopment.org: did not receive HSTS header americansportsinstitute.org: did not receive HSTS header americanworkwear.nl: did not receive HSTS header ameschristian.net: did not receive HSTS header +amesplash.co.uk: did not receive HSTS header amethystcards.co.uk: could not connect to host ameza.co.uk: could not connect to host ameza.com.mx: could not connect to host @@ -967,6 +1091,7 @@ amilx.org: could not connect to host amimoto-ami.com: did not receive HSTS header amin.ga: did not receive HSTS header amin.one: could not connect to host +amisharingstuff.com: could not connect to host amishsecurity.com: could not connect to host amitse.com: did not receive HSTS header amitube.com: could not connect to host @@ -989,8 +1114,9 @@ anacruz.es: did not receive HSTS header anadoluefessk.org: did not receive HSTS header anadoluefessporkulubu.org: could not connect to host anagra.ms: could not connect to host -anaiscoachpersonal.es: did not receive HSTS header +anaiscoachpersonal.es: could not connect to host anaisypirueta.es: did not receive HSTS header +anajianu.ro: max-age too low: 2592000 anakros.me: could not connect to host analangelsteen.com: could not connect to host analpantyhose.org: could not connect to host @@ -1005,10 +1131,10 @@ anchorgrounds.com: did not receive HSTS header anchorinmarinainc.com: did not receive HSTS header ancient-gates.de: could not connect to host ancientkarma.com: could not connect to host -ancientnorth.com: did not receive HSTS header andbraiz.com: did not receive HSTS header -andere-gedanken.net: max-age too low: 10 +andere-gedanken.net: did not receive HSTS header anderslind.dk: could not connect to host +andiscyber.space: could not connect to host andreagobetti.com: did not receive HSTS header andreas-kluge.eu: could not connect to host andreasanti.net: did not receive HSTS header @@ -1016,13 +1142,16 @@ andreasbasurto.com: could not connect to host andreasbreitenlohner.de: max-age too low: 600000 andreasfritz-fotografie.de: could not connect to host andreaskluge.eu: could not connect to host +andreasr.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] andreastoneman.com: could not connect to host +andrefaber.nl: did not receive HSTS header andrei-coman.com: did not receive HSTS header andreigec.net: did not receive HSTS header andrejbenz.com: could not connect to host +andrejstefanovski.com: did not receive HSTS header andrepicard.de: could not connect to host andrerose.ca: did not receive HSTS header -andrewbroekman.com: did not receive HSTS header +andrewbroekman.com: could not connect to host andrewdavidwong.com: did not receive HSTS header andrewdaws.co: could not connect to host andrewdaws.info: could not connect to host @@ -1043,11 +1172,10 @@ androled.fr: max-age too low: 5184000 andronika.net: could not connect to host androoz.se: could not connect to host andyclark.io: could not connect to host +andycloud.dynu.net: could not connect to host andycraftz.eu: did not receive HSTS header andymartin.cc: could not connect to host andymelichar.com: max-age too low: 0 -andys-place.co.uk: could not connect to host -andysroom.dynu.net: could not connect to host andyuk.org: could not connect to host anecuni-club.com: could not connect to host anecuni-rec.com: could not connect to host @@ -1055,6 +1183,7 @@ anendlesssupply.co.uk: did not receive HSTS header anfenglish.com: did not receive HSTS header anfsanchezo.co: could not connect to host anfsanchezo.me: could not connect to host +ange-de-bonheur444.com: could not connect to host angelic47.com: could not connect to host angeloroberto.ch: did not receive HSTS header angeloventuri.com: did not receive HSTS header @@ -1062,21 +1191,22 @@ angervillelorcher.fr: did not receive HSTS header anghami.com: did not receive HSTS header anglertanke.de: could not connect to host anglictinatabor.cz: could not connect to host -angrut.com: did not receive HSTS header +angrut.com: could not connect to host angry-monk.com: could not connect to host angrydragonproductions.com: could not connect to host angrylab.com: did not receive HSTS header angryroute.com: could not connect to host -anguiao.com: could not connect to host +anguiao.com: did not receive HSTS header +aniaimichal.eu: could not connect to host anim.ee: could not connect to host -animal-nature-human.com: could not connect to host animalnet.de: max-age too low: 7776000 animalstropic.com: could not connect to host -animatelluris.nl: could not connect to host +animatelluris.nl: max-age too low: 300 anime1.top: could not connect to host anime1video.tk: could not connect to host animeday.ml: could not connect to host animesfusion.com.br: could not connect to host +animojis.es: could not connect to host animurecs.com: could not connect to host aniplus.cf: could not connect to host aniplus.gq: could not connect to host @@ -1085,11 +1215,12 @@ anisekai.com: max-age too low: 2592000 anita-mukorom.hu: did not receive HSTS header anitklib.ml: could not connect to host anitube-nocookie.ch: could not connect to host -anivar.net: did not receive HSTS header +anivar.net: could not connect to host ankakaak.com: could not connect to host ankaraprofesyonelnakliyat.com: did not receive HSTS header ankaraprofesyonelnakliyat.com.tr: did not receive HSTS header ankitha.in: max-age too low: 0 +ankya9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] anlp.top: could not connect to host annabellaw.com: did not receive HSTS header annahmeschluss.de: did not receive HSTS header @@ -1098,10 +1229,12 @@ annetaan.fi: could not connect to host annevankesteren.com: could not connect to host annevankesteren.org: could not connect to host annicascakes.nl: could not connect to host +annotate.software: could not connect to host annrusnak.com: did not receive HSTS header annsbouncycastles.com: could not connect to host anomaly.ws: did not receive HSTS header anonboards.com: could not connect to host +anoneko.com: could not connect to host anonrea.ch: could not connect to host anonukradio.org: could not connect to host anonymo.co.uk: could not connect to host @@ -1114,13 +1247,13 @@ ansermfg.com: max-age too low: 0 ansgar.tk: could not connect to host anshuman-chatterjee.com: did not receive HSTS header anshumanbiswas.com: could not connect to host +ansibeast.net: did not receive HSTS header answers-online.ru: could not connect to host ant.land: could not connect to host antecim.fr: could not connect to host antenasmundosat.com.br: did not receive HSTS header anthenor.co.uk: could not connect to host anthony-rouanet.com: could not connect to host -anthony.codes: did not receive HSTS header anthonyaires.com: did not receive HSTS header anthonyavon.com: could not connect to host anthonyloop.com: did not receive HSTS header @@ -1140,10 +1273,12 @@ antoniorequena.com.ve: could not connect to host antons.io: did not receive HSTS header antraxx.ee: could not connect to host antscript.com: did not receive HSTS header -anttitenhunen.com: could not connect to host anunayk.com: could not connect to host anycoin.me: could not connect to host anyfood.fi: could not connect to host +anypool.fr: did not receive HSTS header +anypool.net: did not receive HSTS header +anyprime.net: could not connect to host anytonetech.com: did not receive HSTS header anyways.at: could not connect to host aobogo.com: could not connect to host @@ -1165,7 +1300,7 @@ aperture-laboratories.science: did not receive HSTS header api.mega.co.nz: could not connect to host apibot.de: could not connect to host apience.com: did not receive HSTS header -apila.us: could not connect to host +apiled.io: could not connect to host apis.blue: could not connect to host apis.google.com: did not receive HSTS header (error ignored - included regardless) apis.world: could not connect to host @@ -1174,23 +1309,25 @@ apkdv.com: did not receive HSTS header apkoyunlar.club: could not connect to host apkriver.com: did not receive HSTS header apl2bits.net: did not receive HSTS header -apm.com.tw: did not receive HSTS header apmg-certified.com: did not receive HSTS header apmg-cyber.com: did not receive HSTS header apmpproject.org: did not receive HSTS header apnakliyat.com: did not receive HSTS header -apolloyl.com: could not connect to host +apo-deutschland.biz: could not connect to host +apolloyl.com: did not receive HSTS header apollyon.work: could not connect to host aponkral.site: could not connect to host aponkralsunucu.com: could not connect to host aponow.de: did not receive HSTS header -apotheek-nl.org: max-age too low: 3600 +apostilasaprovacao.com: could not connect to host +apotheek-nl.org: did not receive HSTS header app: could not connect to host app-arena.com: did not receive HSTS header app.manilla.com: could not connect to host apparels24.com: did not receive HSTS header appart.ninja: could not connect to host appchive.net: could not connect to host +appcoins.io: did not receive HSTS header appdb.cc: did not receive HSTS header appdrinks.com: could not connect to host appeldorn.me: did not receive HSTS header @@ -1199,7 +1336,7 @@ appimlab.it: could not connect to host apple-watch-zubehoer.de: could not connect to host apple.ax: could not connect to host applejacks-bouncy-castles.co.uk: could not connect to host -applewatch.co.nz: could not connect to host +applewatch.co.nz: did not receive HSTS header applez.xyz: could not connect to host appliancerepairlosangeles.com: did not receive HSTS header applic8.com: did not receive HSTS header @@ -1207,7 +1344,6 @@ apply55gx.com: could not connect to host appointed.at: did not receive HSTS header appraisal-comps.com: could not connect to host appreciationkards.com: did not receive HSTS header -apprenticeships.gov: did not receive HSTS header approlys.fr: did not receive HSTS header apps-for-fishing.com: could not connect to host apps4all.sytes.net: could not connect to host @@ -1216,19 +1352,24 @@ appsdash.io: could not connect to host appson.co.uk: did not receive HSTS header apptoutou.com: could not connect to host appuro.com: did not receive HSTS header +aprefix.com: could not connect to host aprpullmanportermuseum.org: did not receive HSTS header -aptitude9.com: could not connect to host +aptitude9.com: did not receive HSTS header +aqilacademy.com.au: could not connect to host aqqrate.com: could not connect to host aquariumaccessories.shop: could not connect to host +aquaselect.eu: could not connect to host aquilaguild.com: could not connect to host aquilalab.com: could not connect to host aquireceitas.com: did not receive HSTS header ar.al: did not receive HSTS header -arabdigitalexpression.org: did not receive HSTS header +arabdigitalexpression.org: could not connect to host arabsexi.info: could not connect to host aradulconteaza.ro: could not connect to host aran.me.uk: could not connect to host aranel.me: could not connect to host +arawaza.biz: did not receive HSTS header +arawaza.info: could not connect to host arboineuropa.nl: did not receive HSTS header arboleda-hurtado.com: could not connect to host arcadiaeng.com: did not receive HSTS header @@ -1246,35 +1387,36 @@ area3.org: could not connect to host areallyneatwebsite.com: could not connect to host arent.kz: did not receive HSTS header arenzanaphotography.com: could not connect to host -arewedubstepyet.com: did not receive HSTS header +arewedubstepyet.com: could not connect to host areyouever.me: could not connect to host argennon.xyz: could not connect to host argh.io: could not connect to host arguggi.co.uk: could not connect to host ariaartgallery.com: did not receive HSTS header ariacreations.net: did not receive HSTS header -ariege-pyrenees.net: did not receive HSTS header arifburhan.online: could not connect to host arifp.me: could not connect to host +arimarie.com: could not connect to host arinflatablefun.co.uk: could not connect to host arislight.com: could not connect to host aristilabs.com: did not receive HSTS header -aristocrates.co: could not connect to host aristocratps.com: did not receive HSTS header arithxu.com: did not receive HSTS header +arizer.com: did not receive HSTS header arka.gq: did not receive HSTS header +arkbyte.com: did not receive HSTS header arknodejs.com: could not connect to host arlen.io: could not connect to host arlen.se: could not connect to host arlet.click: could not connect to host arlingtonwine.net: could not connect to host -arm-host.com: did not receive HSTS header +arm.gov: could not connect to host armazemdaminiatura.com.br: could not connect to host armeni-jewellery.gr: did not receive HSTS header armenians.online: could not connect to host armingrodon.de: did not receive HSTS header armodec.com: did not receive HSTS header -armor.com: did not receive HSTS header +armor.com: could not connect to host armored.ninja: did not receive HSTS header armory.consulting: could not connect to host armory.supplies: could not connect to host @@ -1302,11 +1444,11 @@ artansoft.com: could not connect to host artaronquieres.com: did not receive HSTS header artartefatos.com.br: could not connect to host artbytik.ru: did not receive HSTS header +arteequipamientos.com.uy: did not receive HSTS header artegusto.ru: did not receive HSTS header artemicroway.com.br: could not connect to host arteseideias.com.pt: did not receive HSTS header artesupra.com: did not receive HSTS header -arthan.me: could not connect to host arti-group.ml: max-age too low: 2592000 articaexports.com: could not connect to host artifex21.com: did not receive HSTS header @@ -1318,6 +1460,7 @@ artisense.de: could not connect to host artisphere.ch: did not receive HSTS header artisticedgegranite.net: could not connect to host artistnetwork.nl: did not receive HSTS header +artmaxi.eu: could not connect to host artnims.com: could not connect to host arto.bg: did not receive HSTS header artofeyes.nl: could not connect to host @@ -1325,7 +1468,6 @@ artsinthevalley.net.au: did not receive HSTS header artstopinc.com: did not receive HSTS header artyland.ru: could not connect to host arvamus.eu: could not connect to host -arxell.com: did not receive HSTS header arzaroth.com: did not receive HSTS header as.se: could not connect to host as9178.net: could not connect to host @@ -1336,45 +1478,47 @@ asasuou.pw: could not connect to host asc16.com: could not connect to host aschaefer.net: could not connect to host asdpress.cn: could not connect to host +aseith.com: could not connect to host asepms.com: max-age too low: 7776000 -asge-handel.de: did not receive HSTS header ashlane-cottages.com: could not connect to host ashleakunowski.com: could not connect to host ashleyadum.com: could not connect to host ashleyfoley.photography: could not connect to host +ashleymadison.com: could not connect to host ashleymedway.com: could not connect to host asian-archi.com.tw: did not receive HSTS header asianbet77.co: did not receive HSTS header asianbet77.net: did not receive HSTS header asisee.co.il: could not connect to host -asisee.photography: could not connect to host ask.pe: could not connect to host askfit.cz: did not receive HSTS header askmagicconch.com: could not connect to host +aslinfinity.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] asm-x.com: could not connect to host asmik-armenie.com: did not receive HSTS header +asmm.cc: did not receive HSTS header asmui.ga: could not connect to host asmui.ml: did not receive HSTS header asoftwareco.com: did not receive HSTS header asphaltfruehling.de: could not connect to host asral7.com: could not connect to host -asryflorist.com: could not connect to host -ass.org.au: could not connect to host +asryflorist.com: did not receive HSTS header +ass.org.au: did not receive HSTS header assadrivesloirecher.com: did not receive HSTS header assdecoeur.org: could not connect to host assekuranzjobs.de: could not connect to host asset-alive.com: did not receive HSTS header asset-alive.net: could not connect to host assetsupervision.com: could not connect to host -assindia.nl: could not connect to host +assindia.nl: did not receive HSTS header assistance-personnes-agees.ch: could not connect to host assistcart.com: could not connect to host +asspinter.me: could not connect to host assurancesmons.be: did not receive HSTS header astaninki.com: could not connect to host asthon.cn: could not connect to host astraalivankila.net: could not connect to host astral.gq: did not receive HSTS header -astral.org.pl: could not connect to host astrath.net: could not connect to host astrea-voetbal-groningen.nl: could not connect to host astrolpost.com: could not connect to host @@ -1385,8 +1529,8 @@ astutr.co: could not connect to host asuhe.cc: could not connect to host asuhe.win: did not receive HSTS header asuhe.xyz: could not connect to host -async.be: max-age too low: 0 -at-one.ca: could not connect to host +async.be: could not connect to host +at-one.ca: did not receive HSTS header at1.co: could not connect to host atacadooptico.com.br: could not connect to host atavio.at: could not connect to host @@ -1396,8 +1540,10 @@ atbeckett.com: did not receive HSTS header atcreform.gov: did not receive HSTS header atelier-rk.com: did not receive HSTS header atelier-viennois-cannes.fr: could not connect to host +atelierhupsakee.nl: did not receive HSTS header ateliernihongo.ch: did not receive HSTS header ateliersantgervasi.com: did not receive HSTS header +atg.soy: could not connect to host athaliasoft.com: could not connect to host athenelive.com: could not connect to host athensbusinessresources.us: could not connect to host @@ -1410,23 +1556,27 @@ atlas-5.site: could not connect to host atlas-staging.ml: could not connect to host atlas.co: did not receive HSTS header atlassian.net: did not receive HSTS header -atlayo.com: did not receive HSTS header +atlayo.com: could not connect to host atlex.nl: did not receive HSTS header atlseccon.com: did not receive HSTS header atmocdn.com: could not connect to host atomic.menu: could not connect to host +atomic.red: could not connect to host atomik.pro: did not receive HSTS header atop.io: could not connect to host atracaosexshop.com.br: could not connect to host atrevillot.com: could not connect to host -atrinik.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +attelage.net: did not receive HSTS header attic118.com: could not connect to host +attilagyorffy.com: could not connect to host attimidesigns.com: did not receive HSTS header attogproductions.com: did not receive HSTS header au-pair24.de: did not receive HSTS header au.search.yahoo.com: max-age too low: 172800 +au2pb.net: could not connect to host aubiosales.com: could not connect to host aucubin.moe: could not connect to host +audiobookstudio.com: could not connect to host audioonly.stream: could not connect to host audiovisualdevices.com.au: did not receive HSTS header audividi.shop: did not receive HSTS header @@ -1435,10 +1585,14 @@ aufprise.de: did not receive HSTS header augaware.org: did not receive HSTS header augenblicke-blog.de: could not connect to host augias.org: could not connect to host +augiero.it: could not connect to host augix.net: could not connect to host augrandinquisiteur.com: did not receive HSTS header +august.black: could not connect to host aujapan.ru: could not connect to host auntieme.com: did not receive HSTS header +auntmia.com: could not connect to host +aur.rocks: did not receive HSTS header aurainfosec.com: did not receive HSTS header aurainfosec.com.au: did not receive HSTS header auraredeye.com: could not connect to host @@ -1451,6 +1605,7 @@ ausec.ch: could not connect to host auskunftsbegehren.at: did not receive HSTS header auslandsjahr-usa.de: did not receive HSTS header ausnah.me: could not connect to host +ausschreibungen-suedtirol.it: did not receive HSTS header aussiecable.org: could not connect to host aussiehq.com.au: did not receive HSTS header aussiewebmarketing.com.au: did not receive HSTS header @@ -1462,8 +1617,8 @@ australianfreebets.com.au: did not receive HSTS header auth.mail.ru: did not receive HSTS header authenitech.com: did not receive HSTS header authentication.io: could not connect to host +authinfo-bestellen.de: could not connect to host authint.com: could not connect to host -authland.com: could not connect to host author24.ru: did not receive HSTS header authoritynutrition.com: did not receive HSTS header authorsguild.in: did not receive HSTS header @@ -1479,9 +1634,10 @@ autoecolebudget.ch: did not receive HSTS header autoecoledumontblanc.com: could not connect to host autoeet.cz: did not receive HSTS header autojuhos.sk: could not connect to host +autokovrik-diskont.ru: did not receive HSTS header automobiles5.com: could not connect to host autos-retro-plaisir.com: did not receive HSTS header -autosearch.me: did not receive HSTS header +autosearch.me: could not connect to host autosiero.nl: did not receive HSTS header autostock.me: could not connect to host autostop-occasions.be: could not connect to host @@ -1496,6 +1652,7 @@ av.de: did not receive HSTS header av01.tv: could not connect to host av163.cc: could not connect to host avadatravel.com: did not receive HSTS header +avalyuan.com: could not connect to host avantmfg.com: did not receive HSTS header avaq.fr: did not receive HSTS header avastantivirus.ro: did not receive HSTS header @@ -1507,13 +1664,13 @@ avg.club: did not receive HSTS header avi9526.pp.ua: could not connect to host aviacao.pt: did not receive HSTS header avidcruiser.com: did not receive HSTS header -avidmode-staging.com: did not receive HSTS header aviodeals.com: could not connect to host -avitres.com: did not receive HSTS header +avitres.com: could not connect to host avmemo.com: could not connect to host avmo.pw: could not connect to host avmoo.com: could not connect to host avonlearningcampus.com: could not connect to host +avotoma.com: did not receive HSTS header avso.pw: could not connect to host avspot.net: could not connect to host avus-automobile.com: did not receive HSTS header @@ -1522,8 +1679,10 @@ awan.tech: could not connect to host awanderlustadventure.com: did not receive HSTS header awccanadianpharmacy.com: could not connect to host awei.pub: could not connect to host +awen.me: did not receive HSTS header awf0.xyz: could not connect to host awg-mode.de: did not receive HSTS header +awin.la: did not receive HSTS header aww.moe: did not receive HSTS header awxg.eu.org: could not connect to host awxg.org: could not connect to host @@ -1536,6 +1695,7 @@ axem.co.jp: did not receive HSTS header axeny.com: did not receive HSTS header axg.io: did not receive HSTS header axialsports.com: did not receive HSTS header +axis-stralis.co.uk: could not connect to host axiumacademy.com: did not receive HSTS header axka.com: could not connect to host axolsoft.com: max-age too low: 10540800 @@ -1543,9 +1703,9 @@ axtudo.com: did not receive HSTS header axtux.tk: could not connect to host axxial.tk: could not connect to host ayahuascaadvisor.com: could not connect to host +ayamchikchik.com: could not connect to host ayatk.com: did not receive HSTS header ayesh.win: could not connect to host -aymericlagier.com: could not connect to host ayon.group: could not connect to host ayor.jp: could not connect to host ayor.tech: could not connect to host @@ -1560,24 +1720,114 @@ azlo.com: did not receive HSTS header azprep.us: could not connect to host azun.pl: did not receive HSTS header azuxul.fr: could not connect to host +azzag.co.uk: did not receive HSTS header b-entropy.com: could not connect to host b-pi.duckdns.org: could not connect to host b-rickroll-e.pw: could not connect to host b-space.de: could not connect to host +b0618.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b0618.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b0868.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b0868.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b1.work: could not connect to host b1236.com: could not connect to host +b1758.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b1758.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b1768.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b1768.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b1788.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b2486.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b2486.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b2b-nestle.com.br: could not connect to host b2bpromoteit.com: did not receive HSTS header b3orion.com: could not connect to host b422edu.com: could not connect to host +b5189.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b5189.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b5289.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b5289.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b5989.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b5989.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b61688.com: could not connect to host +b8591.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b8591.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b8979.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b8979.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b8a.me: could not connect to host +b9018.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9018.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9108.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9108.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9110.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9110.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9112.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9112.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b911gt.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b911gt.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b91688.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b91688.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b91688.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b91688.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9175.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9175.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9258.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9258.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9318.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9318.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9418.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9418.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9428.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9428.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9453.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9453.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9468.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9468.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9488.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9488.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9498.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9498.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9518.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9518.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9518.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9518.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b9520.com: could not connect to host +b9528.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9528.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9538.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9538.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b9568.com: could not connect to host +b9586.net: could not connect to host +b9588.net: could not connect to host +b95888.net: could not connect to host +b9589.net: could not connect to host +b9598.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9598.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9658.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9658.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b96899.com: could not connect to host +b9758.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9758.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9818.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9818.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9858.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9858.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9880.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9883.net: could not connect to host +b9884.net: could not connect to host +b9885.net: could not connect to host b9886.com: could not connect to host +b9886.net: could not connect to host +b9887.net: could not connect to host +b9888.net: could not connect to host b98886.com: could not connect to host +b9889.net: could not connect to host +b9920.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b9930.com: could not connect to host +b9948.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9948.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b99520.com: could not connect to host +b9960.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b9970.com: did not receive HSTS header b9980.com: could not connect to host b99881.com: could not connect to host @@ -1585,7 +1835,16 @@ b99882.com: could not connect to host b99883.com: could not connect to host b99885.com: could not connect to host b99886.com: could not connect to host +b9best.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9best.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9king.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9king.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9king.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +b9winner.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] b9winner.com: could not connect to host +b9winner.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +baas-becking.biology.utah.edu: could not connect to host +babarkata.com: could not connect to host babelfisch.eu: could not connect to host babursahvizeofisi.com: could not connect to host baby-click.de: could not connect to host @@ -1594,7 +1853,7 @@ babybic.hu: could not connect to host babycs.house: could not connect to host babyhouse.xyz: could not connect to host babyliss-pro.com: could not connect to host -babyliss-pro.net: did not receive HSTS header +babyliss-pro.net: max-age too low: 0 babysaying.me: could not connect to host babystep.tv: did not receive HSTS header bacchanallia.com: could not connect to host @@ -1611,7 +1870,6 @@ backscattering.de: did not receive HSTS header backupsinop.com.br: did not receive HSTS header backyardbbqbash.com: did not receive HSTS header baconate.com: did not receive HSTS header -bad.horse: could not connect to host bad.show: could not connect to host badai.at: could not connect to host badbee.cc: could not connect to host @@ -1619,22 +1877,22 @@ badcronjob.com: could not connect to host badenhard.eu: could not connect to host badgirlsbible.com: could not connect to host badkamergigant.com: could not connect to host -badlink.org: could not connect to host baff.lu: could not connect to host -baffinlee.com: could not connect to host +baffinlee.com: did not receive HSTS header bagiobella.com: max-age too low: 0 +bagstage.de: did not receive HSTS header baiduaccount.com: could not connect to host baildonhottubs.co.uk: could not connect to host bair.io: could not connect to host bairdzhang.com: could not connect to host baito-j.jp: did not receive HSTS header baixoutudo.com: did not receive HSTS header -bajic.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bakabt.info: could not connect to host bakanin.ru: could not connect to host bakaweb.fr: could not connect to host bakhansen.com: did not receive HSTS header bakkerdesignandbuild.com: did not receive HSTS header +bakongcondo.com: could not connect to host bakxnet.com: could not connect to host balatoni-nyar.hu: did not receive HSTS header balcan-underground.net: could not connect to host @@ -1662,12 +1920,13 @@ bandar303.cc: did not receive HSTS header bandar303.id: did not receive HSTS header bandar303.win: did not receive HSTS header bandarifamily.com: could not connect to host -bandb.xyz: could not connect to host +bandb.xyz: did not receive HSTS header bandrcrafts.com: did not receive HSTS header banduhn.com: did not receive HSTS header bangzafran.com: could not connect to host bank: could not connect to host bankcircle.co.in: could not connect to host +bankfreeoffers.com: did not receive HSTS header bankitt.network: could not connect to host bankmilhas.com.br: did not receive HSTS header bankofrealty.review: could not connect to host @@ -1677,25 +1936,27 @@ banoviny.sk: did not receive HSTS header banqingdiao.com: could not connect to host banri.me: could not connect to host banxehoi.com: did not receive HSTS header +bao-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bao-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] baodan666.com: could not connect to host baosuckhoedoisong.net: could not connect to host baptistboard.com: did not receive HSTS header baptiste-destombes.fr: did not receive HSTS header baraxolka.ru: could not connect to host +barbaros.info: could not connect to host barcouniforms.com: did not receive HSTS header -bardiel.de: max-age too low: 0 -barely.sexy: could not connect to host +barely.sexy: did not receive HSTS header +barf-alarm.de: did not receive HSTS header bargainmovingcompany.com: did not receive HSTS header -bariller.fr: did not receive HSTS header +bariller.fr: could not connect to host baris-sagdic.com: could not connect to host -barisi.me: could not connect to host barnrats.com: could not connect to host baropkamp.be: did not receive HSTS header barprive.com: could not connect to host barqo.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] barracuda.blog: could not connect to host barrelhead.org: could not connect to host -barrett.ag: could not connect to host +barrett.ag: did not receive HSTS header barrut.me: did not receive HSTS header barshout.co.uk: could not connect to host barss.io: could not connect to host @@ -1704,6 +1965,7 @@ bartelldrugs.com: did not receive HSTS header barunisystems.com: could not connect to host bascht.com: did not receive HSTS header basculasconfiables.com: could not connect to host +basercap.co.ke: could not connect to host bashc.at: could not connect to host bashcode.ninja: could not connect to host basicsolutionsus.com: could not connect to host @@ -1715,12 +1977,19 @@ baskettemple.com: did not receive HSTS header basnieuwenhuizen.nl: did not receive HSTS header bassh.net: did not receive HSTS header bastadigital.com: did not receive HSTS header +bastivmobile.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bat909.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bat909.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bat9vip.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bat9vip.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] batfoundry.com: could not connect to host batonger.com: could not connect to host batten.eu.org: could not connect to host batteryservice.ru: did not receive HSTS header +batvip9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] baud.ninja: could not connect to host -baudairenergyservices.com: could not connect to host +baudairenergyservices.com: did not receive HSTS header +bauen-mit-ziegel.de: max-age too low: 604800 baum.ga: did not receive HSTS header baumstark.ca: could not connect to host bayinstruments.com: could not connect to host @@ -1730,11 +1999,13 @@ bazarstupava.sk: could not connect to host bazisszoftver.hu: could not connect to host bb-shiokaze.jp: did not receive HSTS header bbb1991.me: could not connect to host -bbdos.ru: could not connect to host +bbdos.ru: did not receive HSTS header bbj.io: did not receive HSTS header bbkanews.com: did not receive HSTS header bblovess.cn: could not connect to host bbrinck.eu: could not connect to host +bbswin9.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bbswin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bbw-wrestling.com: could not connect to host bbwdom.xyz: could not connect to host bbwf.de: did not receive HSTS header @@ -1742,6 +2013,8 @@ bbwfacesitting.us: could not connect to host bbwfacesitting.xyz: could not connect to host bbwfight.xyz: could not connect to host bbwteens.org: could not connect to host +bbxin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bbxin9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bc-personal.ch: did not receive HSTS header bc416.com: did not receive HSTS header bc418.com: did not receive HSTS header @@ -1765,11 +2038,24 @@ bddemir.com: could not connect to host bde-epitech.fr: could not connect to host bdenzer.com: did not receive HSTS header bdenzer.xyz: could not connect to host +bdikaros-network.net: could not connect to host bdsmxxxpics.com: could not connect to host -be-real.life: did not receive HSTS header +be9418.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9418.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9418.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9418.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9458.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9458.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9458.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be9458.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be958.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be958.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be958.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +be958.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] be9966.com: could not connect to host beach-inspector.com: did not receive HSTS header beachi.es: could not connect to host +beacinsight.com: could not connect to host beaglewatch.com: could not connect to host beagreenbean.co.uk: could not connect to host beamitapp.com: could not connect to host @@ -1790,6 +2076,7 @@ becoast.fr: did not receive HSTS header becubed.co: could not connect to host bedabox.com: did not receive HSTS header bedeta.de: could not connect to host +bedlingtonterrier.com.br: could not connect to host bedouille.com: could not connect to host bedreid.dk: did not receive HSTS header bedrijvenadministratie.nl: could not connect to host @@ -1798,31 +2085,33 @@ beerboutique.com.br: could not connect to host beermedlar.com: could not connect to host beersandco.ch: could not connect to host beetgroup.id: could not connect to host -beethoveninlove.com: did not receive HSTS header beetleroadstories.com: could not connect to host beforesunrise.de: did not receive HSTS header befundup.com: could not connect to host begcykel.com: did not receive HSTS header +begoodny.co.il: max-age too low: 7889238 behere.be: could not connect to host +beholdthehurricane.com: did not receive HSTS header beier.io: could not connect to host beikeil.de: did not receive HSTS header beingmad.org: did not receive HSTS header belairsewvac.com: could not connect to host -belcompany.nl: did not receive HSTS header +belcompany.nl: could not connect to host belewpictures.com: could not connect to host belgien.guide: could not connect to host belize-firmengruendung.com: could not connect to host bellavistaoutdoor.com: could not connect to host belliash.eu.org: did not receive HSTS header -belltower.io: did not receive HSTS header +belltower.io: could not connect to host belmontprom.com: could not connect to host belpbleibtbelp.ch: could not connect to host +belua.com: did not receive HSTS header belwederczykow.eu: could not connect to host -bemcorp.de: did not receive HSTS header -bemvindoaolar.com.br: did not receive HSTS header +bemvindoaolar.com.br: could not connect to host bemyvictim.com: max-age too low: 2678400 -benchcast.com: could not connect to host +benchcast.com: did not receive HSTS header bendechrai.com: did not receive HSTS header +bendingtheending.com: did not receive HSTS header benedikt-tuchen.de: could not connect to host benediktdichgans.de: did not receive HSTS header beneffy.com: did not receive HSTS header @@ -1835,13 +2124,14 @@ benhchuyenkhoa.net: could not connect to host benjakesjohnson.com: could not connect to host benjamin-horvath.com: could not connect to host benjamin-suess.de: could not connect to host +benjamindietrich.com: could not connect to host benjaminesims.com: did not receive HSTS header +benjaminjurke.net: did not receive HSTS header benk.press: could not connect to host benny003.de: could not connect to host benohead.com: did not receive HSTS header bentphotos.se: could not connect to host benwattie.com: did not receive HSTS header -benzi.io: could not connect to host benzkosmetik.de: did not receive HSTS header benzou-space.com: could not connect to host beourvictim.com: max-age too low: 2678400 @@ -1849,6 +2139,7 @@ bep.gov: did not receive HSTS header bep362.vn: could not connect to host beraru.tk: could not connect to host beraten-entwickeln-steuern.de: could not connect to host +berdaguermontes.eu: could not connect to host berdu.id: did not receive HSTS header berduri.com: did not receive HSTS header beretech.fr: could not connect to host @@ -1856,7 +2147,9 @@ berger.work: could not connect to host bergfex.at: did not receive HSTS header bergland-seefeld.at: did not receive HSTS header berhampore-gateway.tk: could not connect to host -berlatih.com: did not receive HSTS header +berinhard.pl: did not receive HSTS header +berlatih.com: could not connect to host +berliancom.com: did not receive HSTS header berlin-kohlefrei.de: could not connect to host berlinleaks.com: could not connect to host bermytraq.bm: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -1882,8 +2175,9 @@ bestattorney.com: did not receive HSTS header bestbeards.ca: could not connect to host bestbestbitcoin.com: could not connect to host bestbonuses.co.uk: did not receive HSTS header -bestcellular.com: did not receive HSTS header bestellipticalmachinereview.info: could not connect to host +bestesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bestesb.net: could not connect to host bestfitnesswatchreview.info: could not connect to host besthost.cz: did not receive HSTS header besthotsales.com: could not connect to host @@ -1894,15 +2188,22 @@ bestof1001.de: could not connect to host bestorangeseo.com: could not connect to host bestpaintings.nl: did not receive HSTS header bestparking.xyz: could not connect to host -bestschools.top: did not receive HSTS header bestwarezone.com: could not connect to host +bet-99.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bet-99.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bet-99.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bet168wy.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bet168wy.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bet909.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bet990.com: could not connect to host +bet9bet9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] betaclean.fr: did not receive HSTS header betafive.net: could not connect to host -betakah.net: could not connect to host -betamint.org: did not receive HSTS header -betcafearena.ro: did not receive HSTS header +betakah.net: did not receive HSTS header +betamint.org: could not connect to host +betcafearena.ro: could not connect to host betformular.com: could not connect to host +betgo9.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bethanyduke.com: could not connect to host bethditto.com: did not receive HSTS header betkoo.com: could not connect to host @@ -1914,6 +2215,9 @@ betshoot.com: could not connect to host betsonlinefree.com.au: could not connect to host betterlifemakers.com: max-age too low: 200 bettween.com: did not receive HSTS header +between.be: did not receive HSTS header +betwin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +betwin9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] betz.ro: could not connect to host beulahtabernacle.com: could not connect to host bevapehappy.com: did not receive HSTS header @@ -1925,6 +2229,7 @@ bexit-security.nl: could not connect to host bexithosting.nl: could not connect to host bey.io: could not connect to host beylikduzum.com: could not connect to host +beylikduzuvaillant.com: could not connect to host beyond-edge.com: could not connect to host beyuna.co.uk: did not receive HSTS header beyuna.eu: did not receive HSTS header @@ -1934,13 +2239,12 @@ bezoomnyville.com: could not connect to host bezorg.ninja: could not connect to host bezprawnik.pl: did not receive HSTS header bf.am: max-age too low: 0 -bf7088.com: did not receive HSTS header -bf7877.com: did not receive HSTS header bfd.vodka: did not receive HSTS header bfear.com: could not connect to host bfelob.gov: could not connect to host bffm.biz: could not connect to host bfrailwayclub.cf: could not connect to host +bg-sexologia.com: could not connect to host bg16.de: could not connect to host bgcparkstad.nl: did not receive HSTS header bgdaddy.com: did not receive HSTS header @@ -1949,11 +2253,11 @@ bgfashion.net: could not connect to host bgneuesheim.de: did not receive HSTS header bhatia.at: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bhosted.nl: did not receive HSTS header -biancolievito.it: did not receive HSTS header bianinapiccanovias.com: could not connect to host biaoqingfuhao.net: did not receive HSTS header biaoqingfuhao.org: did not receive HSTS header biapinheiro.com.br: max-age too low: 5184000 +biathloncup.ru: could not connect to host biblerhymes.com: did not receive HSTS header bibliafeminina.com.br: could not connect to host bichines.es: did not receive HSTS header @@ -1969,6 +2273,7 @@ bienenblog.cc: could not connect to host bier.jp: did not receive HSTS header bierbringer.at: could not connect to host bierochs.org: could not connect to host +biewen.me: could not connect to host big-black.de: did not receive HSTS header bigbbqbrush.bid: could not connect to host bigbounceentertainment.co.uk: could not connect to host @@ -1976,6 +2281,7 @@ bigbrownpromotions.com.au: did not receive HSTS header bigcorporateevents.com: could not connect to host bigerbio.com: could not connect to host bigfunbouncycastles.com: could not connect to host +bigjohn.ru: did not receive HSTS header biglagoonrentals.com: did not receive HSTS header bigshinylock.minazo.net: could not connect to host bigshort.org: could not connect to host @@ -1984,13 +2290,14 @@ bijoux.com.br: could not connect to host bijouxbrasil.com.br: did not receive HSTS header bijouxdegriffe.com.br: could not connect to host bijugeral.com.br: could not connect to host +bijuteriicualint.ro: could not connect to host bikelifetvkidsquads.co.uk: could not connect to host bikermusic.net: could not connect to host bilanligne.com: did not receive HSTS header bildermachr.de: could not connect to host biletua.de: could not connect to host -biletyplus.com: could not connect to host biletyplus.ru: did not receive HSTS header +bilibili.red: could not connect to host bill-nye-the.science: did not receive HSTS header billdestler.com: did not receive HSTS header billigssl.dk: did not receive HSTS header @@ -2003,7 +2310,10 @@ binam.center: could not connect to host binarization.net: could not connect to host binarization.org: did not receive HSTS header binaryabstraction.com: could not connect to host +binaryevolved.com: could not connect to host binaryfigments.com: max-age too low: 7776000 +binbin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +binbin9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] binderapp.net: could not connect to host bingcheung.com: could not connect to host bingcheung.org: could not connect to host @@ -2012,13 +2322,15 @@ bingo9.net: could not connect to host bingofriends.com: could not connect to host bingostars.com: did not receive HSTS header binimo.com: could not connect to host -biocrafting.net: could not connect to host +binkanhada.biz: could not connect to host +biocrafting.net: did not receive HSTS header bioespuna.eu: did not receive HSTS header biofam.ru: did not receive HSTS header biomax-mep.com.br: did not receive HSTS header bionicspirit.com: did not receive HSTS header biophysik-ssl.de: did not receive HSTS header biopreferred.gov: could not connect to host +biospeak.solutions: could not connect to host biou.me: could not connect to host biovalue.eu: could not connect to host bip.gov.sa: could not connect to host @@ -2027,13 +2339,15 @@ birkengarten.ch: could not connect to host birkman.com: did not receive HSTS header biscuits-rec.com: could not connect to host biscuits-shop.com: could not connect to host +bismarck-tb.de: could not connect to host bismarck.moe: did not receive HSTS header bisterfeldt.com: did not receive HSTS header +bistrodeminas.com: could not connect to host biswas.me: could not connect to host bit.voyage: did not receive HSTS header bitace.com: did not receive HSTS header bitbit.org: did not receive HSTS header -bitbr.net: could not connect to host +bitbr.net: did not receive HSTS header bitcantor.com: did not receive HSTS header bitchan.it: could not connect to host bitclubfun.com: did not receive HSTS header @@ -2041,15 +2355,16 @@ bitcoin-casino-no-deposit-bonus.com: max-age too low: 0 bitcoin-class.com: could not connect to host bitcoin-daijin.com: could not connect to host bitcoin.com: did not receive HSTS header +bitcoinclashic.ninja: could not connect to host bitcoinec.info: could not connect to host bitcoinfo.jp: did not receive HSTS header bitcoinhk.org: did not receive HSTS header bitcoinjpn.com: could not connect to host bitcoinprivacy.net: did not receive HSTS header -bitcointhefts.com: could not connect to host bitcoinworld.me: could not connect to host bitconcepts.co.uk: could not connect to host bitedge.com: did not receive HSTS header +bitenose.com: could not connect to host bitenose.net: could not connect to host bitenose.org: could not connect to host biteoftech.com: did not receive HSTS header @@ -2059,6 +2374,10 @@ bitfarm-archiv.com: did not receive HSTS header bitfarm-archiv.de: did not receive HSTS header bitheus.com: could not connect to host bithosting.io: did not receive HSTS header +bitk.co: did not receive HSTS header +bitk.co.uk: did not receive HSTS header +bitk.eu: did not receive HSTS header +bitk.uk: did not receive HSTS header bitmain.com.ua: could not connect to host bitmaincare.com.ua: could not connect to host bitmaincare.ru: could not connect to host @@ -2068,7 +2387,6 @@ bitmex.com: did not receive HSTS header bitmexin.com: could not connect to host bitmon.net: could not connect to host bitnet.io: did not receive HSTS header -bitok.com: did not receive HSTS header bitplay.space: could not connect to host bitpod.de: could not connect to host bitrage.de: could not connect to host @@ -2076,7 +2394,7 @@ bitraum.io: could not connect to host bitroll.com: could not connect to host bitsafe.systems: did not receive HSTS header bitsensor.io: did not receive HSTS header -bitstep.ca: could not connect to host +bitshaker.net: did not receive HSTS header bittervault.xyz: could not connect to host bituptick.com: did not receive HSTS header bitvegas.com: did not receive HSTS header @@ -2089,12 +2407,18 @@ bizedge.co.nz: 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 +bizzi.tv: could not connect to host bizzybeebouncers.co.uk: could not connect to host bjgongyi.com: did not receive HSTS header +bjl5689.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bjl5689.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bjrn.io: could not connect to host bjtxl.cn: could not connect to host bk-wife.com: could not connect to host bkb-skandal.ch: could not connect to host +bkhayes.com: did not receive HSTS header +bl00.se: could not connect to host +blaauwgeers.travel: could not connect to host 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 @@ -2102,37 +2426,45 @@ black-gay-porn.biz: could not connect to host black-octopus.ru: could not connect to host blackapron.com.br: could not connect to host blackberrycentral.com: could not connect to host +blackberryforums.be: did not receive HSTS header blackburn.link: could not connect to host blackdesertsp.com: could not connect to host blackdiam.net: did not receive HSTS header +blackdragoninc.org: could not connect to host blacklane.com: did not receive HSTS header blackly.uk: max-age too low: 0 blackmagic.sk: could not connect to host blackmirror.com.au: did not receive HSTS header -blacknova.io: did not receive HSTS header -blackpayment.ru: could not connect to host blackphantom.de: could not connect to host blackscreen.me: could not connect to host blackunicorn.wtf: could not connect to host bladesmith.io: did not receive HSTS header -blakerandall.xyz: could not connect to host +blakerandall.xyz: did not receive HSTS header blantik.net: could not connect to host +blantr.com: could not connect to host blarg.co: could not connect to host +blauerhunger.de: could not connect to host blauwwit.be: did not receive HSTS header blazeit.io: could not connect to host -blechpirat.name: did not receive HSTS header +blechpirat.name: could not connect to host bleep.zone: could not connect to host blendlecdn.com: could not connect to host blenheimchalcot.com: did not receive HSTS header blessedearth.com.au: max-age too low: 7889238 blessnet.jp: did not receive HSTS header -bleutecmedia.com: max-age too low: 2592000 +bleutecmedia.com: did not receive HSTS header blha303.com.au: could not connect to host bliker.ga: could not connect to host +blikund.swedbank.se: did not receive HSTS header blindaryproduction.tk: could not connect to host blindsexdate.nl: did not receive HSTS header +bling9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bling999.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bling999.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bling999.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] blinkenlight.co.uk: could not connect to host blinkenlight.com.au: could not connect to host +blizz.news: max-age too low: 0 blmiller.com: did not receive HSTS header blocksatz-medien.de: could not connect to host blockshopauto.com: could not connect to host @@ -2142,6 +2474,8 @@ blog.cyveillance.com: did not receive HSTS header blog.gparent.org: could not connect to host blog.torproject.org: max-age too low: 1000 blogabout.ru: could not connect to host +blogcuaviet.com: could not connect to host +blogdeyugioh.com: could not connect to host blogdieconomia.it: did not receive HSTS header blogdimoda.com: did not receive HSTS header blogdimotori.it: did not receive HSTS header @@ -2150,7 +2484,6 @@ bloglikepro.com: could not connect to host blognone.com: did not receive HSTS header blognr.com: could not connect to host blogonblogspot.com: did not receive HSTS header -blok56.nl: did not receive HSTS header blokino.org: did not receive HSTS header blokuhaka.fr: did not receive HSTS header bloodyexcellent.com: did not receive HSTS header @@ -2163,13 +2496,16 @@ 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 +bluecardlottery.eu: did not receive HSTS header +bluecards.eu: did not receive HSTS header +bluecon.eu: could not connect to host bluefinger.nl: did not receive HSTS header blueglobalmedia.com: could not connect to host bluehawk.cloud: could not connect to host bluehelixmusic.com: could not connect to host blueliv.com: did not receive HSTS header bluemoonroleplaying.com: could not connect to host +bluepearl.tk: could not connect to host bluepoint.foundation: could not connect to host bluepoint.institute: could not connect to host blueprintloans.co.uk: did not receive HSTS header @@ -2179,10 +2515,12 @@ bluesecure.com.br: could not connect to host bluetenmeer.com: did not receive HSTS header bluezonehealth.co.uk: did not receive HSTS header blui.cf: max-age too low: 1209600 +bluiandaj.ml: could not connect to host bluketing.com: did not receive HSTS header blumen-binder.ch: did not receive HSTS header blumen-garage.de: could not connect to host blumenwiese.xyz: did not receive HSTS header +blundell.wedding: could not connect to host blunderify.se: did not receive HSTS header bluop.com: did not receive HSTS header bluserv.net: could not connect to host @@ -2198,27 +2536,40 @@ bnb-buddy.nl: could not connect to host bnboy.cn: could not connect to host bngsecure.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] bnhlibrary.com: did not receive HSTS header +bo1689.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo1689.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9club.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9club.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9club.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9fun.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9fun.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9game.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9game.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bo9king.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] board-buy.ru: could not connect to host bobaobei.org: could not connect to host bobep.ru: could not connect to host +bobiji.com: could not connect to host boboates.com: did not receive HSTS header +bodixite.com: could not connect to host bodo-wolff.de: could not connect to host bodrumfarm.com: could not connect to host bodyblog.nl: did not receive HSTS header bodybuilding-legends.com: could not connect to host bodybuilding.events: could not connect to host +bodymusclejournal.com: could not connect to host bodyweightsolution.com: could not connect to host boel073.nl: did not receive HSTS header boensou.com: did not receive HSTS header bohaishibei.com: did not receive HSTS header -bohan.co: could not connect to host bohan.life: could not connect to host bohyn.cz: could not connect to host boiadeirodeberna.com: could not connect to host boilesen.com: did not receive HSTS header bokeyy.com: could not connect to host -bokkeriders.com: could not connect to host bolainfoasia.com: did not receive HSTS header +bolivarfm.com.ve: could not connect to host +bollywood.uno: did not receive HSTS header boltdata.io: could not connect to host boltn.uk: did not receive HSTS header bolwerk.com.br: did not receive HSTS header @@ -2229,23 +2580,24 @@ bonapp.restaurant: could not connect to host bondagefetishstore.com: could not connect to host bondtofte.dk: did not receive HSTS header boneko.de: did not receive HSTS header -bonesserver.com: could not connect to host bonigo.de: did not receive HSTS header bonitabrazilian.co.nz: did not receive HSTS header bonnin.fr: did not receive HSTS header bonobo.cz: could not connect to host -bonop.com: did not receive HSTS header +bonop.com: could not connect to host bonta.one: could not connect to host bonus-flexi.com: did not receive HSTS header boobox.xyz: could not connect to host -book-of-ra.de: did not receive HSTS header +boodaah.com: did not receive HSTS header +book-of-ra.de: could not connect to host bookcelerator.com: did not receive HSTS header booked.holiday: could not connect to host bookingentertainment.com: did not receive HSTS header -bookmakersfreebets.com.au: could not connect to host +bookmakersfreebets.com.au: did not receive HSTS header bookofraonlinecasinos.com: could not connect to host bookourdjs.com: could not connect to host bookreport.ga: could not connect to host +bookshopofindia.com: did not receive HSTS header bookwitty.social: could not connect to host boomerang.com: did not receive HSTS header boomsaki.com: did not receive HSTS header @@ -2255,6 +2607,7 @@ boosterlearnpro.com: did not receive HSTS header boostgame.win: could not connect to host boote.wien: could not connect to host booter.es: could not connect to host +booter.pw: did not receive HSTS header booth.in.th: could not connect to host bootikexpress.fr: did not receive HSTS header boozinyan.com: could not connect to host @@ -2267,18 +2620,21 @@ boringsecurity.net: could not connect to host boris.one: could not connect to host borisavstankovic.rs: could not connect to host borisbesemer.com: could not connect to host -born-to-learn.com: did not receive HSTS header +born-to-learn.com: could not connect to host +borowski.pw: could not connect to host borrelioz.com: did not receive HSTS header borscheid-wenig.com: did not receive HSTS header +borzoi.com.br: could not connect to host boschee.net: could not connect to host +bosworthdental.co.uk: did not receive HSTS header botlab.ch: could not connect to host botmanager.pl: could not connect to host botox.bz: did not receive HSTS header bots.cat: could not connect to host +bottke.berlin: could not connect to host boueki.jp: did not receive HSTS header boueki.org: did not receive HSTS header bouk.co: could not connect to host -bounce-r-us.co.uk: did not receive HSTS header bouncebeyondcastles.co.uk: did not receive HSTS header bounceboxspc.com: did not receive HSTS header bouncecoffee.com: did not receive HSTS header @@ -2288,20 +2644,22 @@ bouncemasters.co.uk: could not connect to host bouncewithbovells.com: could not connect to host bouncing4joy.co.uk: could not connect to host bouncingbuzzybees.co.uk: could not connect to host -bouncourseplanner.net: could not connect to host bouncycastleandparty.co.uk: could not connect to host bouncycastlehiremedway.com: did not receive HSTS header bouncycastles.me: could not connect to host +bouncycastlesperth.net: could not connect to host +bouncyhouses.co.uk: did not receive HSTS header +bouncymadness.com: did not receive HSTS header bouwbedrijfpurmerend.nl: did not receive HSTS header bowlsheet.com: did not receive HSTS header -bownty.pt: max-age too low: 0 +bownty.pt: could not connect to host boxcryptor.com: did not receive HSTS header boxdevigneron.fr: could not connect to host boxing-austria.eu: did not receive HSTS header boxintense.com: did not receive HSTS header boxit.es: did not receive HSTS header boxlitepackaging.com: did not receive HSTS header -boxmoe.cn: could not connect to host +boxmoe.cn: did not receive HSTS header boxview.com: could not connect to host boyan.in: could not connect to host boyfriendhusband.men: did not receive HSTS header @@ -2311,6 +2669,7 @@ bp-wahl.at: did not receive HSTS header bpadvisors.eu: could not connect to host bqcp.net: could not connect to host bqtoolbox.com: could not connect to host +bracoitaliano.com.br: could not connect to host braemer-it-consulting.de: could not connect to host bragasoft.com.br: did not receive HSTS header bragaweb.com.br: could not connect to host @@ -2324,16 +2683,14 @@ braintm.com: could not connect to host braintreebouncycastles.com: could not connect to host braintreegateway.com: did not receive HSTS header braintreepayments.com: did not receive HSTS header -brainvation.de: did not receive HSTS header -brakstad.org: could not connect to host bran.cc: could not connect to host bran.soy: could not connect to host branchzero.com: did not receive HSTS header brand-foo.com: did not receive HSTS header brand-foo.jp: did not receive HSTS header brand-foo.net: did not receive HSTS header +brandbuilderwebsites.com: could not connect to host brandnewdays.nl: could not connect to host -brando753.xyz: could not connect to host brandon.so: could not connect to host brandonlui.ml: could not connect to host brandons.site: could not connect to host @@ -2344,15 +2701,20 @@ brasilien.guide: could not connect to host brasilmorar.com: did not receive HSTS header bravz.de: could not connect to host brb.city: did not receive HSTS header +breadofgod.org: could not connect to host breatheav.com: did not receive HSTS header breatheproduction.com: did not receive HSTS header breeswish.org: did not receive HSTS header +bregnedalsystems.dk: did not receive HSTS header bremensaki.com: max-age too low: 2592000 brenden.net.au: could not connect to host bress.cloud: could not connect to host brettcornwall.com: did not receive HSTS header brettpemberton.xyz: did not receive HSTS header +bretz-hufer.de: did not receive HSTS header brfvh24.se: could not connect to host +briangarcia.ga: could not connect to host +brianmwaters.net: did not receive HSTS header brianpcurran.com: did not receive HSTS header brickoo.com: could not connect to host brickwerks.io: could not connect to host @@ -2389,49 +2751,47 @@ brownlawoffice.us: did not receive HSTS header browserid.org: could not connect to host brplusdigital.com: could not connect to host brrd.io: could not connect to host -brrr.fr: could not connect to host +bruckner.li: could not connect to host brunix.net: did not receive HSTS header brunoonline.co.uk: could not connect to host -brunoramos.com: could not connect to host -brunoramos.org: could not connect to host bryancastillo.site: could not connect to host bryanshearer.accountant: did not receive HSTS header bryn.xyz: could not connect to host brynnan.nl: could not connect to host -brztec.com: did not receive HSTS header -bs.sb: could not connect to host bsagan.fr: did not receive HSTS header bsalyzer.com: could not connect to host bsc01.dyndns.org: could not connect to host +bsd.com.ro: could not connect to host bsdtips.com: could not connect to host bsdug.org: could not connect to host +bsg-aok-muenchen.de: did not receive HSTS header bsklabels.com: did not receive HSTS header bsktweetup.info: could not connect to host bsohoekvanholland.nl: could not connect to host bsuess.de: could not connect to host -bt78.cn: did not receive HSTS header +bsuru.xyz: could not connect to host +bt78.cn: could not connect to host bt85.cn: could not connect to host bt9.cc: did not receive HSTS header bt96.cn: did not receive HSTS header bt995.com: did not receive HSTS header btaoke.com: could not connect to host btc-e.com: could not connect to host +btc2secure.com: could not connect to host btcdlc.com: could not connect to host btcgo.nl: did not receive HSTS header -btcontract.com: could not connect to host btcp.space: could not connect to host -btcpot.ltd: did not receive HSTS header +btcpot.ltd: could not connect to host btku.org: could not connect to host +btrb.ml: could not connect to host btserv.de: did not receive HSTS header -btth.live: could not connect to host +bturboo.com: could not connect to host btxiaobai.com: did not receive HSTS header bubba.cc: could not connect to host buben.tech: did not receive HSTS header -bubulazi.com: did not receive HSTS header -bubulazy.com: did not receive HSTS header buchheld.at: could not connect to host buchverlag-scholz.de: did not receive HSTS header -buck.com: could not connect to host +buck.com: did not receive HSTS header bucket.tk: could not connect to host buckmulligans.com: did not receive HSTS header budaev-shop.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -2439,6 +2799,7 @@ buddhistische-weisheiten.org: could not connect to host budgetenergievriendenvoordeel.nl: could not connect to host budgetthostels.nl: did not receive HSTS header budskap.eu: could not connect to host +buehnenbande.ch: max-age too low: 2592000 buenosairesestetica.com.ar: could not connect to host buenotour.ru: did not receive HSTS header buergerdialog.net: could not connect to host @@ -2446,7 +2807,6 @@ buergerhaushalt.com: did not receive HSTS header buffalodrinkinggame.beer: did not receive HSTS header bugtrack.co.uk: did not receive HSTS header bugtrack.io: could not connect to host -bugwie.com: did not receive HSTS header buhler.pro: did not receive HSTS header buiko.com: did not receive HSTS header build.chromium.org: did not receive HSTS header (error ignored - included regardless) @@ -2463,6 +2823,7 @@ built.by: did not receive HSTS header buka.jp: could not connect to host bukai.men: did not receive HSTS header bukatv.cz: could not connect to host +bulbgenie.com: could not connect to host buldogueingles.com.br: could not connect to host bulgarien.guide: could not connect to host bulkbuy.tech: could not connect to host @@ -2486,6 +2847,7 @@ burckardtnet.de: did not receive HSTS header bureaubolster.nl: did not receive HSTS header bureaugravity.com: did not receive HSTS header burian-server.cz: could not connect to host +buricloud.fr: could not connect to host burlesquemakeup.com: did not receive HSTS header burningcrash.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] burpsuite.site: could not connect to host @@ -2497,17 +2859,16 @@ burtrum.top: could not connect to host buryat-mongol.cf: could not connect to host buryit.net: did not receive HSTS header busanhs.bid: could not connect to host -busanhs.win: could not connect to host buserror.cn: could not connect to host bush41.org: did not receive HSTS header bushcraftfriends.com: could not connect to host business.lookout.com: could not connect to host business.medbank.com.mt: did not receive HSTS header +businessadviceperth.com.au: did not receive HSTS header businessamongus.com: could not connect to host businessetmarketing.com: could not connect to host businessfurs.info: could not connect to host businesshosting.nl: did not receive HSTS header -businessloanconnection.org: did not receive HSTS header businessmodeler.se: could not connect to host bustabit.com: could not connect to host bustimes.org.uk: did not receive HSTS header @@ -2518,8 +2879,11 @@ butt.repair: could not connect to host buttercoin.com: could not connect to host buttercupstraining.co.uk: did not receive HSTS header butterfieldstraining.com: could not connect to host +buttermilk.cf: could not connect to host buturyu.org: did not receive HSTS header buvinghausen.com: max-age too low: 86400 +buy-thing.com: could not connect to host +buyaccessible.gov: did not receive HSTS header buybaby.eu: could not connect to host buydesired.com: did not receive HSTS header buyessay.org: could not connect to host @@ -2531,14 +2895,20 @@ buyingsellingflorida.com: could not connect to host buynowdepot.com: did not receive HSTS header buyshoe.org: could not connect to host buywood.shop: could not connect to host -buzzconcert.com: did not receive HSTS header -buzzconf.io: could not connect to host +buzzconcert.com: could not connect to host buzzdeck.com: did not receive HSTS header buzztelco.com.au: could not connect to host bvexplained.co.uk: could not connect to host bvionline.eu: did not receive HSTS header +bvv-europe.eu: could not connect to host bw81.xyz: could not connect to host bwear4all.de: could not connect to host +bwf11.com: could not connect to host +bwf55.com: could not connect to host +bwf6.com: could not connect to host +bwf66.com: could not connect to host +bwf77.com: could not connect to host +bwf99.com: could not connect to host bwin86.com: did not receive HSTS header bwin8601.com: did not receive HSTS header bwin8602.com: did not receive HSTS header @@ -2546,12 +2916,14 @@ bwin8603.com: did not receive HSTS header bwin8604.com: did not receive HSTS header bwin8605.com: did not receive HSTS header bwin8606.com: did not receive HSTS header +bwwb.nu: did not receive HSTS header bx-web.com: did not receive HSTS header +by.cx: did not receive HSTS header by1896.com: could not connect to host by1898.com: could not connect to host by1899.com: could not connect to host by4cqb.cn: could not connect to host -by77.com: did not receive HSTS header +by77.com: could not connect to host by777.com: did not receive HSTS header bydisk.com: could not connect to host byji.com: could not connect to host @@ -2576,9 +2948,9 @@ bypassed.works: could not connect to host bypassed.world: could not connect to host bypro.xyz: could not connect to host byronkg.us: could not connect to host +byronprivaterehab.com.au: did not receive HSTS header byronr.com: did not receive HSTS header byronwade.com: did not receive HSTS header -bysb.net: could not connect to host byte.chat: did not receive HSTS header byte.wtf: did not receive HSTS header bytelog.org: did not receive HSTS header @@ -2588,6 +2960,8 @@ bytesofcode.de: could not connect to host bytesund.biz: could not connect to host byteturtle.eu: did not receive HSTS header byurudraw.pics: could not connect to host +bywin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +bzhub.bid: could not connect to host c-rickroll-v.pw: could not connect to host c0rn3j.com: could not connect to host c12discountonline.com: did not receive HSTS header @@ -2602,39 +2976,42 @@ c3bbs.com: could not connect to host c3hv.cn: could not connect to host c3ie.com: did not receive HSTS header c4.hk: could not connect to host +cablehighspeed.net: could not connect to host cabsites.com: could not connect to host cabusar.fr: could not connect to host cachethome.com: could not connect to host cachethq.io: did not receive HSTS header caconnect.org: could not connect to host cadao.me: did not receive HSTS header -cadburymovies.in.net: did not receive HSTS header +cadburymovies.in.net: could not connect to host cadenadg.gr: did not receive HSTS header caerostris.com: could not connect to host caesreon.com: could not connect to host -cafe-murr.de: did not receive HSTS header +cafe-murr.de: could not connect to host cafe-scientifique.org.ec: could not connect to host +cafe-service.ru: could not connect to host cafechesscourt.com: could not connect to host cafefresco.pe: did not receive HSTS header -cafesg.net: could not connect to host +cafesg.net: did not receive HSTS header caibi.io: could not connect to host caim.cz: did not receive HSTS header caipai.fm: could not connect to host cairnterrier.com.br: could not connect to host cais.de: did not receive HSTS header -caizx.com: did not receive HSTS header cajapopcorn.com: max-age too low: 0 cake.care: could not connect to host cal.goip.de: could not connect to host calcularpagerank.com.br: could not connect to host calculatoaresecondhand.xyz: could not connect to host +caldecotevillagehall.co.uk: could not connect to host calebmorris.com: max-age too low: 60 calgaryconstructionjobs.com: did not receive HSTS header +calidoinvierno.com: could not connect to host callabs.net: could not connect to host callanbryant.co.uk: did not receive HSTS header calleveryday.com: could not connect to host callision.com: did not receive HSTS header -callmereda.com: did not receive HSTS header +callmereda.com: could not connect to host callsigns.ca: could not connect to host calltrackingreports.com: could not connect to host calomel.org: max-age too low: 2764800 @@ -2643,17 +3020,18 @@ caltonnutrition.com: did not receive HSTS header calvin.me: did not receive HSTS header calypso-tour.net: could not connect to host calypsogames.net: could not connect to host -calyxinstitute.org: could not connect to host -camashop.de: did not receive HSTS header camaya.net: did not receive HSTS header cambridgeanalytica.net: could not connect to host cambridgeanalytica.org: did not receive HSTS header camisadotorcedor.com.br: could not connect to host camjackson.net: did not receive HSTS header +camjobs.net: did not receive HSTS header cammarkets.com: could not connect to host -campaignelves.com: did not receive HSTS header +campaignelves.com: could not connect to host campbellsoftware.co.uk: could not connect to host +campbrainybunch.com: did not receive HSTS header campeoesdofutebol.com.br: did not receive HSTS header +campeonatoalemao.com.br: could not connect to host campfire.co.il: did not receive HSTS header campfourpaws.com: did not receive HSTS header campingcarlovers.com: could not connect to host @@ -2662,7 +3040,6 @@ campus-cybersecurity.team: did not receive HSTS header campusportalng.com: did not receive HSTS header camsanalytics.com: could not connect to host camshowhub.com: could not connect to host -camshowverse.com: could not connect to host canadiangamblingchoice.com: did not receive HSTS header canarianlegalalliance.com: did not receive HSTS header cancelmyprofile.com: could not connect to host @@ -2675,7 +3052,8 @@ candylion.rocks: could not connect to host canifis.net: did not receive HSTS header cannarobotics.com: could not connect to host canterbury.ws: could not connect to host -canyonshoa.com: did not receive HSTS header +canva-dev.com: could not connect to host +canyons.media: did not receive HSTS header caodecristachines.com.br: could not connect to host caoyu.info: did not receive HSTS header capacent.is: did not receive HSTS header @@ -2684,7 +3062,7 @@ capecycles.co.za: did not receive HSTS header capeyorkfire.com.au: did not receive HSTS header capitalonecardservice.com: did not receive HSTS header capitaltg.com: did not receive HSTS header -capogna.com: could not connect to host +capogna.com: did not receive HSTS header captalize.com: could not connect to host captchatheprize.com: could not connect to host captianseb.de: could not connect to host @@ -2693,9 +3071,9 @@ captivationscience.com: could not connect to host capturethepen.co.uk: could not connect to host car-navi.ph: did not receive HSTS header car-rental24.com: did not receive HSTS header -car-shop.top: did not receive HSTS header carano-service.de: did not receive HSTS header -caraudio69.cz: could not connect to host +caraudio69.cz: did not receive HSTS header +carbonmonoxidelawyer.net: could not connect to host card-cashing.com: max-age too low: 0 card-toka.jp: could not connect to host cardloan-manual.net: could not connect to host @@ -2705,12 +3083,11 @@ cardurl.com: did not receive HSTS header cardwars.hu: could not connect to host careeraid.in: could not connect to host careerstuds.com: did not receive HSTS header -carepassport.com: did not receive HSTS header careplasticsurgery.com: did not receive HSTS header carey.bio: did not receive HSTS header +carey.li: did not receive HSTS header carif-idf.net: could not connect to host carif-idf.org: could not connect to host -carlgo11.com: did not receive HSTS header carlolly.co.uk: could not connect to host carlosalves.info: could not connect to host carloshmm.com: could not connect to host @@ -2719,13 +3096,16 @@ carlovanwyk.com: could not connect to host carlsbouncycastlesandhottubs.co.uk: did not receive HSTS header carlscatering.com: did not receive HSTS header caroli.biz: could not connect to host +caroli.info: could not connect to host carpliyz.com: did not receive HSTS header carrando.de: could not connect to host -carredejardin.com: could not connect to host +carredejardin.com: did not receive HSTS header +carrentalsathens.com: max-age too low: 0 carroarmato0.be: did not receive HSTS header carsforbackpackers.com: could not connect to host carsten.pw: did not receive HSTS header carstenfeuls.de: did not receive HSTS header +cartelcircuit.com: could not connect to host carterorland.com: could not connect to host cartesunicef.be: did not receive HSTS header carwashvapeur.be: could not connect to host @@ -2741,35 +3121,34 @@ cashfortulsahouses.com: could not connect to host cashless.fr: did not receive HSTS header cashmyphone.ch: could not connect to host cashsector.ga: could not connect to host -casino-cash-flow.su: could not connect to host -casino-cashflow.ru: could not connect to host casinocashflow.ru: could not connect to host casinolegal.pt: did not receive HSTS header casinolistings.com: could not connect to host casinoluck.com: could not connect to host casinoreal.com: could not connect to host casinostest.com: could not connect to host -casionova.org: did not receive HSTS header +casionova.org: could not connect to host casioshop.eu: did not receive HSTS header casjay.com: did not receive HSTS header casovi.cf: could not connect to host -caspicards.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] castagnonavocats.com: did not receive HSTS header castlejackpot.com: did not receive HSTS header -cat73.org: could not connect to host +castleswa.com.au: could not connect to host cata.ga: could not connect to host -catalin.pw: did not receive HSTS header +catalin.pw: could not connect to host catarsisvr.com: could not connect to host catcontent.cloud: could not connect to host caterkids.com: did not receive HSTS header -catgirl.me: could not connect to host +catgirl.me: did not receive HSTS header catgirl.pics: could not connect to host catharisme.org: could not connect to host catherineidylle.com: max-age too low: 0 catherinesarasin.com: did not receive HSTS header +cathosting.org: could not connect to host catinmay.com: did not receive HSTS header catnapstudios.com: could not connect to host catnmeow.com: could not connect to host +catprog.org: could not connect to host catsmagic.pp.ua: could not connect to host causae-fincas.es: did not receive HSTS header causae.es: did not receive HSTS header @@ -2781,23 +3160,24 @@ cavedroid.xyz: could not connect to host cavern.tv: did not receive HSTS header cayafashion.de: did not receive HSTS header cayounglab.co.jp: did not receive HSTS header -cazes.info: did not receive HSTS header cbamo.org: did not receive HSTS header -cbengineeringinc.com: max-age too low: 86400 cbi-epa.gov: could not connect to host cc2729.com: did not receive HSTS header ccayearbook.com: could not connect to host ccblog.de: did not receive HSTS header +ccgn.co: could not connect to host ccja.ro: did not receive HSTS header ccl-sti.ch: did not receive HSTS header ccretreatandfarm.com: did not receive HSTS header cctech.ph: could not connect to host cctld.com: could not connect to host +ccu.io: could not connect to host ccv.eu: did not receive HSTS header cd0.us: could not connect to host cdcpartners.gov: could not connect to host cdeck.net: could not connect to host cdkeyworld.de: did not receive HSTS header +cdlcenter.com: could not connect to host cdmhp.org.nz: could not connect to host cdmon.tech: could not connect to host cdn.sx.cn: could not connect to host @@ -2821,25 +3201,24 @@ celigo.com: did not receive HSTS header celina-reads.de: could not connect to host cellartracker.com: could not connect to host cellsites.nz: could not connect to host -celtadigital.com: did not receive HSTS header cem.pw: did not receive HSTS header cencalvia.org: could not connect to host centennialrewards.com: did not receive HSTS header centerforpolicy.org: could not connect to host +centillien.com: did not receive HSTS header centos.pub: could not connect to host central4.me: could not connect to host centralcountiesservices.org: did not receive HSTS header -centralfor.me: did not receive HSTS header +centralfor.me: could not connect to host centrallead.net: could not connect to host centralvacsunlimited.net: did not receive HSTS header centralvoice.org: could not connect to host centralync.com: could not connect to host centrepoint-community.com: could not connect to host centricbeats.com: did not receive HSTS header -centrodoinstalador.com.br: could not connect to host centrolavoro.org: did not receive HSTS header centsforchange.net: could not connect to host -century-group.com: could not connect to host +century-group.com: max-age too low: 2592000 ceoimon.com: did not receive HSTS header ceoptique.com: could not connect to host cercevelet.com: did not receive HSTS header @@ -2849,6 +3228,8 @@ ceritamalam.net: could not connect to host cerize.love: could not connect to host cernega.ro: did not receive HSTS header cerpa.com.br: did not receive HSTS header +cerstve-korenie.sk: did not receive HSTS header +cerstvekorenie.sk: did not receive HSTS header cert.se: max-age too low: 2628001 certcenter.fr: could not connect to host certifi.io: did not receive HSTS header @@ -2861,21 +3242,19 @@ cesidianroot.eu: could not connect to host cespri.com.pe: did not receive HSTS header ceta.one: did not receive HSTS header cevrimici.com: could not connect to host -cf-tm.net: could not connect to host cf11.de: did not receive HSTS header cfcnexus.org: could not connect to host cfcproperties.com: did not receive HSTS header cfetengineering.com: could not connect to host cfneia.org: did not receive HSTS header cfoitplaybook.com: could not connect to host -cfsh.tk: could not connect to host cganx.org: could not connect to host cgerstner.eu: did not receive HSTS header cgsshelper.tk: could not connect to host cgtx.us: could not connect to host chabaojia.com: did not receive HSTS header -chad.ch: max-age too low: 2592000 chadklass.com: could not connect to host +chadtaljaardt.com: could not connect to host chahub.com: could not connect to host chainmonitor.com: could not connect to host chairinstitute.com: did not receive HSTS header @@ -2892,30 +3271,34 @@ chandlerredding.com: could not connect to host changelab.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] changetip.com: did not receive HSTS header channelcards.com: did not receive HSTS header -channellife.asia: could not connect to host +channellife.asia: did not receive HSTS header channellife.co.nz: did not receive HSTS header channellife.com.au: did not receive HSTS header -channyc.com: did not receive HSTS header +channyc.com: could not connect to host chaos.fail: could not connect to host -chaospott.de: did not receive HSTS header +chaoscastles.co.uk: did not receive HSTS header chaoswebs.net: did not receive HSTS header +chaoticlaw.com: did not receive HSTS header chaouby.com: could not connect to host charakato.com: could not connect to host -charge.co: could not connect to host chargejuice.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] charityclear.com: could not connect to host charitystreet.co.uk: could not connect to host +charl.eu: could not connect to host +charlesjay.com: could not connect to host charlestonsecuritysystems.net: did not receive HSTS header charliemcneive.com: could not connect to host charlimarie.com: did not receive HSTS header -charlipopkids.com.au: could not connect to host +charlipopkids.com.au: did not receive HSTS header +charmyadesara.com: could not connect to host charnleyhouse.co.uk: did not receive HSTS header charonsecurity.com: could not connect to host charp.eu: could not connect to host chartstoffarm.de: did not receive HSTS header +chasafilli.ch: could not connect to host chaseganey.com: did not receive HSTS header chasing-coins.com: did not receive HSTS header -chaska.co.za: did not receive HSTS header +chaska.co.za: could not connect to host chasse-et-plaisir.com: did not receive HSTS header chat-porc.eu: did not receive HSTS header chatbot.me: did not receive HSTS header @@ -2947,17 +3330,21 @@ checkyourmeds.com: did not receive HSTS header cheekylittlerascals.co.uk: did not receive HSTS header cheerflow.com: could not connect to host cheesefusion.com: could not connect to host +cheesehosting.net: did not receive HSTS header cheesetart.my: could not connect to host cheesypicsbooths.co.uk: could not connect to host cheetah85.de: could not connect to host +cheetahwerx.com: could not connect to host chefgalles.com.br: could not connect to host chejianer.cn: could not connect to host +chelema.xyz: could not connect to host chellame.com: could not connect to host chellame.fr: could not connect to host chelseafs.co.uk: did not receive HSTS header chemicalguys-ruhrpott.de: could not connect to host chenfengyi.com: could not connect to host -chengtongled.com: did not receive HSTS header +chengtongled.com: could not connect to host +chenky.com: could not connect to host chensir.net: could not connect to host chepaofen.com: did not receive HSTS header cherekerry.com: could not connect to host @@ -2965,6 +3352,7 @@ cherrydropscandycarts.co.uk: could not connect to host cherylsoleway.com: did not receive HSTS header chessreporter.nl: did not receive HSTS header chesterbrass.uk: did not receive HSTS header +chez-janine.de: could not connect to host chiamata-aiuto.ch: could not connect to host chiaramail.com: could not connect to host chib.chat: could not connect to host @@ -2976,10 +3364,12 @@ chikatomo-ryugaku.com: did not receive HSTS header chikory.com: could not connect to host childcaresolutionscny.org: did not receive HSTS header childrendeservebetter.org: could not connect to host -chilli943.info: did not receive HSTS header +chilli943.info: could not connect to host chimparoo.ca: did not receive HSTS header china-dhl.org: could not connect to host china-line.org: could not connect to host +chinacdn.org: could not connect to host +chinawhale.com: could not connect to host chinternet.xyz: could not connect to host chiphell.com: did not receive HSTS header chirgui.eu: could not connect to host @@ -2990,11 +3380,12 @@ chloehorler.com: could not connect to host chlouis.net: could not connect to host chm.vn: did not receive HSTS header chocolat-suisse.ch: could not connect to host -chocotough.nl: did not receive HSTS header +chocolate13tilias.com.br: did not receive HSTS header chodobien.com: could not connect to host chodocu.com: did not receive HSTS header choe.fi: could not connect to host choiralberta.ca: did not receive HSTS header +choisirmonerp.com: did not receive HSTS header chollima.pro: could not connect to host chontalpa.pw: could not connect to host chopperforums.com: could not connect to host @@ -3013,10 +3404,11 @@ chrisfaber.com: could not connect to host chrisfinazzo.com: did not receive HSTS header chriskirchner.de: did not receive HSTS header chriskyrouac.com: could not connect to host -chrismathys.com: could not connect to host -chrisopperwall.com: did not receive HSTS header -chrisself.xyz: max-age too low: 0 +chrisopperwall.com: could not connect to host +chrisself.xyz: could not connect to host +chrissx.ga: could not connect to host christiaandruif.nl: could not connect to host +christian-krug.website: did not receive HSTS header christianbro.gq: could not connect to host christianhoffmann.info: could not connect to host christianhospitaltank.org: did not receive HSTS header @@ -3041,19 +3433,17 @@ chronic101.xyz: could not connect to host chronogram.me: did not receive HSTS header chronoproject.com: did not receive HSTS header chrst.ph: could not connect to host -chs.us: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +chs.us: max-age too low: 0 chsh.moe: could not connect to host chua.cf: could not connect to host chua.family: did not receive HSTS header chuckame.fr: did not receive HSTS header chulado.com: did not receive HSTS header chundelac.com: could not connect to host +churchlinkpro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] churchux.co: could not connect to host -churchwebcanada.ca: did not receive HSTS header -churchwebsupport.com: did not receive HSTS header churrasqueirafacil.com.br: could not connect to host chxdf.net: could not connect to host -ci-labo.com.tw: max-age too low: 7889238 cianmawhinney.xyz: could not connect to host cidadedopoker.com.br: did not receive HSTS header ciderclub.com: could not connect to host @@ -3066,13 +3456,14 @@ ciicutini.ro: did not receive HSTS header cim2b.de: could not connect to host cimalando.eu: could not connect to host cinartelorgu.com: did not receive HSTS header +cinay.pw: could not connect to host cindey.io: could not connect to host cinefilia.tk: could not connect to host -cinelite.club: did not receive HSTS header +cinelite.club: could not connect to host cinema5.ru: did not receive HSTS header cinemaclub.co: could not connect to host ciner.is: could not connect to host -cinerama.com.br: did not receive HSTS header +cintactimber.com: did not receive HSTS header cintdirect.com: could not connect to host cioconference.co.nz: could not connect to host cipher.co.th: did not receive HSTS header @@ -3087,15 +3478,15 @@ cirfi.com: could not connect to host cirrohost.com: did not receive HSTS header ciscohomeanalytics.com: could not connect to host ciscommerce.net: could not connect to host +citationgurus.com: could not connect to host citiagent.cz: could not connect to host citra-emu.org: did not receive HSTS header citroner.blog: could not connect to host citybusexpress.com: did not receive HSTS header cityofeastpointemi.gov: could not connect to host cityoflaurel.org: did not receive HSTS header -cityofwadley-ga.gov: could not connect to host +cityofwadley-ga.gov: did not receive HSTS header citywalkr.com: could not connect to host -ciubotaru.tk: could not connect to host ciuciucadou.ro: could not connect to host cium.ru: could not connect to host civicunicorn.com: could not connect to host @@ -3109,6 +3500,7 @@ clad.cf: could not connect to host claibornecountytn.gov: could not connect to host claimit.ml: could not connect to host clan-ww.com: did not receive HSTS header +clanthor.com: did not receive HSTS header clapping-rhymes.com: could not connect to host clara-baumert.de: could not connect to host claralabs.com: did not receive HSTS header @@ -3122,26 +3514,25 @@ classicsandexotics.com: could not connect to host classicshop.ua: did not receive HSTS header classicspublishing.com: could not connect to host classifiedssa.co.za: could not connect to host -claster.it: did not receive HSTS header claudearpel.fr: did not receive HSTS header claudio4.com: did not receive HSTS header claytoncondon.com: could not connect to host clcleaningco.com: could not connect to host +cleanbeautymarket.com.au: did not receive HSTS header cleanexperts.co.uk: could not connect to host cleaningsquad.ca: did not receive HSTS header cleanmta.com: could not connect to host cleanstar.org: could not connect to host -clear.ml: could not connect to host +clear.ml: did not receive HSTS header clearc.tk: could not connect to host clearchatsandbox.com: could not connect to host clearsky.me: did not receive HSTS header clearviewwealthprojector.com.au: could not connect to host -clementfevrier.fr: could not connect to host clemovementlaw.com: could not connect to host clerkendweller.uk: could not connect to host clevelandokla.com: could not connect to host -cleververmarkten.com: did not receive HSTS header -cleververmarkten.de: did not receive HSTS header +cleververmarkten.com: could not connect to host +cleververmarkten.de: could not connect to host clic-music.com: could not connect to host click-2-order.co.uk: did not receive HSTS header click2order.co.uk: did not receive HSTS header @@ -3156,6 +3547,7 @@ clicktenisdemesa.com.br: did not receive HSTS header clicn.bio: could not connect to host clicnbio.com: could not connect to host cliftons.com: did not receive HSTS header +climaencusco.com: could not connect to host clinia.ca: did not receive HSTS header clinicaferrusbratos.com: did not receive HSTS header clinicasilos.com: did not receive HSTS header @@ -3163,13 +3555,15 @@ cliniko.com: did not receive HSTS header clintonbloodworth.com: could not connect to host clintonbloodworth.io: could not connect to host clintwilson.technology: max-age too low: 2592000 +clip.ovh: did not receive HSTS header clipped4u.com: could not connect to host clnet.com.au: did not receive HSTS header -clod-hacking.com: could not connect to host cloghercastles.co.uk: did not receive HSTS header +clojurescript.ru: could not connect to host clorik.com: could not connect to host closient.com: did not receive HSTS header closingholding.com: could not connect to host +cloturea.fr: could not connect to host cloud-crowd.com.au: did not receive HSTS header cloud-project.com: could not connect to host cloud.wtf: could not connect to host @@ -3180,25 +3574,32 @@ cloudbased.info: did not receive HSTS header cloudbasedsite.com: did not receive HSTS header cloudberlin.goip.de: could not connect to host cloudbleed.info: could not connect to host +cloudbreaker.de: could not connect to host cloudcert.org: did not receive HSTS header +cloudconsulting.net.za: did not receive HSTS header +cloudconsulting.org.za: did not receive HSTS header +cloudconsulting.web.za: did not receive HSTS header cloudcy.net: could not connect to host clouddesktop.co.nz: could not connect to host +cloudfiles.at: could not connect to host cloudfren.com: did not receive HSTS header cloudimag.es: could not connect to host cloudimproved.com: could not connect to host +cloudimprovedtest.com: could not connect to host cloudlink.club: could not connect to host -cloudmigrator365.com: did not receive HSTS header +cloudmigrator365.com: could not connect to host cloudns.com.au: could not connect to host cloudopt.net: did not receive HSTS header cloudpagesforwork.com: did not receive HSTS header cloudpebble.net: did not receive HSTS header +cloudpengu.in: could not connect to host clouds.webcam: could not connect to host +cloudsocial.io: could not connect to host cloudspotterapp.com: did not receive HSTS header cloudstoragemaus.com: could not connect to host cloudstorm.me: could not connect to host cloudstrike.co: could not connect to host -cloudteam.de: did not receive HSTS header -cloudtocloud.tk: could not connect to host +cloudteam.de: could not connect to host cloudwalk.io: did not receive HSTS header cloudwarez.xyz: could not connect to host clounix.online: could not connect to host @@ -3206,55 +3607,58 @@ clovissantos.com: did not receive HSTS header clowde.in: could not connect to host clownaroundbouncycastles.co.uk: did not receive HSTS header clownish.co.il: could not connect to host -clsimage.com: did not receive HSTS header clsimplex.com: did not receive HSTS header clubcall.com: did not receive HSTS header clubdeslecteurs.net: could not connect to host -clubefiel.com.br: did not receive HSTS header clubmix.co.kr: could not connect to host +clubscannan.ie: did not receive HSTS header cluefulca.com: could not connect to host cluefulca.net: could not connect to host cluefulca.org: could not connect to host cluj.apartments: could not connect to host +clush.pw: did not receive HSTS header cluster.id: could not connect to host clvrwebdesign.com: did not receive HSTS header clvs7.com: did not receive HSTS header clycat.ru: could not connect to host clywedogmaths.co.uk: could not connect to host cm3.pw: could not connect to host +cmahy.be: could not connect to host cmangos.net: did not receive HSTS header cmc-versand.de: did not receive HSTS header cmcc.network: could not connect to host cmci.dk: did not receive HSTS header cmdtelecom.net.br: did not receive HSTS header -cmitao.com: could not connect to host cmpr.es: could not connect to host cmrss.com: could not connect to host cmsbattle.com: could not connect to host cmscafe.ru: did not receive HSTS header cmskh.co.uk: could not connect to host cmso-cal.com: could not connect to host +cmusical.es: could not connect to host cmweller.com: could not connect to host +cnam.net: did not receive HSTS header cnaprograms.online: could not connect to host cncfraises.fr: did not receive HSTS header cncmachinemetal.com: did not receive HSTS header cncn.us: did not receive HSTS header cnetw.xyz: could not connect to host cnitdog.com: could not connect to host -cnlau.com: could not connect to host +cnlau.com: did not receive HSTS header cnlic.com: could not connect to host -cnrd.me: did not receive HSTS header +cnrd.me: could not connect to host cnsyear.com: did not receive HSTS header cnwage.com: could not connect to host cnwarn.com: could not connect to host co-driversphoto.se: could not connect to host co-yutaka.com: could not connect to host +co2eco.cn: did not receive HSTS header +coa.one: could not connect to host coach-sportif.paris: did not receive HSTS header coachingconsultancy.com: did not receive HSTS header cobaltlp.com: could not connect to host cobcode.com: could not connect to host cobrax.net: could not connect to host -cocaine-import.agency: could not connect to host coccinellaskitchen.com: could not connect to host coccinellaskitchen.de: could not connect to host coccinellaskitchen.it: could not connect to host @@ -3266,8 +3670,7 @@ cocktailfuture.fr: could not connect to host coco-cool.fr: could not connect to host cocodemy.com: did not receive HSTS header cocolovesdaddy.com: could not connect to host -codabix.com: did not receive HSTS header -codabix.de: did not receive HSTS header +cocyou.ooo: could not connect to host codabix.net: could not connect to host code-35.com: could not connect to host code-digsite.com: could not connect to host @@ -3276,13 +3679,13 @@ code.google.com: did not receive HSTS header (error ignored - included regardles codealkemy.co: could not connect to host codeco.pw: could not connect to host codecontrollers.de: could not connect to host -codedelarouteenligne.fr: did not receive HSTS header codeforce.io: could not connect to host codeforhakodate.org: did not receive HSTS header +codejunkie.de: could not connect to host codelayer.ca: could not connect to host codelitmus.com: did not receive HSTS header codeloop.pw: could not connect to host -codelove.de: did not receive HSTS header +codelove.de: could not connect to host codemonkeyrawks.net: did not receive HSTS header codemperium.com: could not connect to host codenlife.xyz: could not connect to host @@ -3290,27 +3693,32 @@ codeofhonor.tech: could not connect to host codeplay.org: could not connect to host codepoet.de: did not receive HSTS header codeproxy.ddns.net: could not connect to host -codepx.com: did not receive HSTS header +codepx.com: could not connect to host codercy.com: could not connect to host coderhangout.com: could not connect to host +codersatlas.com: could not connect to host codersbistro.com: did not receive HSTS header +codestep.io: could not connect to host codewiththepros.org: could not connect to host codewiz.xyz: could not connect to host -codigosddd.com.br: did not receive HSTS header +codigodelbonusbet365.com: could not connect to host +codymoniz.com: could not connect to host coecrafters.com: could not connect to host coffeedino.com: did not receive HSTS header coffeeetc.co.uk: could not connect to host coffeestrategies.com: max-age too low: 5184000 -cogniflex.com: did not receive HSTS header +coffeetocode.me: did not receive HSTS header +cogniflex.com: could not connect to host +cognixia.com: did not receive HSTS header cogumelosmagicos.org: could not connect to host -cohesive.io: did not receive HSTS header +cohesive.io: could not connect to host coin-exchange.cz: could not connect to host coindam.com: could not connect to host coinessa.com: could not connect to host coinjar-sandbox.com: could not connect to host colarelli.ch: could not connect to host coldaddy.com: could not connect to host -coldlostsick.net: could not connect to host +coldlostsick.net: did not receive HSTS header coldwatericecream.com: did not receive HSTS header colearnr.com: could not connect to host colincampbell.me: could not connect to host @@ -3329,6 +3737,7 @@ collins.press: could not connect to host collinsartworks.com: did not receive HSTS header collision.fyi: could not connect to host colmexpro.com: did not receive HSTS header +colo-tech.com: could not connect to host colognegaming.net: could not connect to host cololi.moe: max-age too low: 2592000 coloradocomputernetworking.net: could not connect to host @@ -3341,7 +3750,6 @@ com.cc: could not connect to host combatshield.cz: did not receive HSTS header comchezmeme.com: could not connect to host comdotgame.com: could not connect to host -comefollowme2016.com: did not receive HSTS header comeoncolleen.com: did not receive HSTS header comercialtrading.eu: could not connect to host cometbot.cf: could not connect to host @@ -3350,7 +3758,6 @@ comevius.com: could not connect to host comevius.org: could not connect to host comevius.xyz: could not connect to host comfortdom.ua: did not receive HSTS header -comfortmastersinsulation.com: did not receive HSTS header comfortticket.de: did not receive HSTS header comfy.cafe: could not connect to host comfy.moe: could not connect to host @@ -3366,13 +3773,18 @@ commerciallocker.com: could not connect to host commercialplanet.eu: could not connect to host commune-preuilly.fr: did not receive HSTS header community-cupboard.org: did not receive HSTS header +communityflow.info: could not connect to host +comocurarlagastritis24.online: did not receive HSTS header comocurarlashemorroides.org: did not receive HSTS header comocurarlashemorroidesya.com: did not receive HSTS header +comodesinflamarlashemorroides.org: did not receive HSTS header +comohacerelamoraunhombrenet.com: did not receive HSTS header +comoquitarlacaspa24.com: did not receive HSTS header +comoquitarlasestriasrapidamente.com: did not receive HSTS header comorecuperaratumujerpdf.com: could not connect to host comotalk.com: could not connect to host compalytics.com: could not connect to host comparamejor.com: did not receive HSTS header -comparatif-moto.fr: could not connect to host comparejewelleryprices.co.uk: could not connect to host comparetravelinsurance.com.au: did not receive HSTS header compassionate-biology.com: could not connect to host @@ -3391,6 +3803,8 @@ compros.me: could not connect to host compsmag.com: did not receive HSTS header comptrollerofthecurrency.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] compucorner.com.mx: could not connect to host +compusolve.nl: could not connect to host +computercraft.net: could not connect to host computertal.de: could not connect to host comssa.org.au: did not receive HSTS header comyuno.com: did not receive HSTS header @@ -3399,15 +3813,18 @@ conceptatelier.de: could not connect to host conception.sk: could not connect to host concerts-metal.ch: did not receive HSTS header conclave.global: could not connect to host +conclinica.com.br: did not receive HSTS header concord-group.co.jp: did not receive HSTS header -concretehermit.com: did not receive HSTS header conectalmeria.com: did not receive HSTS header confidential.network: could not connect to host confirm365.com: could not connect to host +conflux.tw: did not receive HSTS header conformal.com: could not connect to host +conformist.jp: could not connect to host +confucio.cl: could not connect to host confuddledpenguin.com: did not receive HSTS header cong5.net: max-age too low: 0 -congz.me: could not connect to host +congz.me: did not receive HSTS header conkret.ch: could not connect to host conkret.co.uk: could not connect to host conkret.eu: could not connect to host @@ -3428,8 +3845,7 @@ conseil-gli.fr: did not receive HSTS header consejosdehogar.com: did not receive HSTS header console.python.org: did not receive HSTS header console.support: did not receive HSTS header -construct-trust.com: did not receive HSTS header -constructive.men: could not connect to host +construct-trust.com: could not connect to host consultcelerity.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] consultingroupitaly.com: did not receive HSTS header consultorcr.net: did not receive HSTS header @@ -3443,10 +3859,12 @@ contarkos.xyz: could not connect to host contents.ga: did not receive HSTS header continuation.io: could not connect to host continuumgaming.com: could not connect to host +contractdigital.co.uk: did not receive HSTS header contraout.com: could not connect to host controlcenter.gigahost.dk: did not receive HSTS header contxt-agentur.de: did not receive HSTS header convergemagazine.com: did not receive HSTS header +converter.ml: could not connect to host convertimg.com: could not connect to host convoitises.com: did not receive HSTS header cooink.net: could not connect to host @@ -3458,8 +3876,11 @@ coolchevy.org.ua: did not receive HSTS header coole-meister.de: could not connect to host cooljs.me: could not connect to host coolkidsbouncycastles.co.uk: did not receive HSTS header +coolrc.me: did not receive HSTS header +coolviewthermostat.com: did not receive HSTS header coolvox.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] coonelnel.net: did not receive HSTS header +coor.fun: did not receive HSTS header cooxa.com: could not connect to host copshop.com.br: could not connect to host coptic-treasures.com: max-age too low: 2592000 @@ -3468,14 +3889,13 @@ copytrack.com: did not receive HSTS header cor-ser.es: could not connect to host coralproject.net: did not receive HSTS header coralrosado.com.br: did not receive HSTS header -coramcdaniel.com: did not receive HSTS header -corbinhesse.com: could not connect to host +coramcdaniel.com: could not connect to host +corbinhesse.com: did not receive HSTS header corderoscleaning.com: did not receive HSTS header cordial-restaurant.com: did not receive HSTS header core4system.de: could not connect to host coreapm.com: could not connect to host corecdn.org: could not connect to host -corecodec.com: could not connect to host coreinfrastructure.org: did not receive HSTS header corenetworking.de: could not connect to host coresos.com: could not connect to host @@ -3494,37 +3914,40 @@ corozanu.ro: did not receive HSTS header corpoatletico.com.br: could not connect to host corporateencryption.com: could not connect to host corporatesubscriptions.com.au: did not receive HSTS header -correct.horse: could not connect to host +correct.horse: did not receive HSTS header correctpaardbatterijnietje.nl: did not receive HSTS header -correiodovale.com.br: did not receive HSTS header +correiodovale.com.br: could not connect to host corruption-mc.net: could not connect to host corruption-rsps.net: could not connect to host corruption-server.net: could not connect to host +corzntin.fr: did not receive HSTS header +cosmeticosdelivery.com.br: did not receive HSTS header cosmeticosnet.com.br: did not receive HSTS header cosmiatria.pe: could not connect to host cosmoluziluminacion.com: did not receive HSTS header cosmoss-departure.com: could not connect to host +costcofinance.com: did not receive HSTS header costow.club: did not receive HSTS header cotonea.de: did not receive HSTS header cougarsland.com: did not receive HSTS header coughlan.de: did not receive HSTS header counselling.network: could not connect to host +counsellingtime.co.uk: could not connect to host count.sh: could not connect to host countryoutlaws.ca: did not receive HSTS header coup-dun-soir.ch: could not connect to host couponcodeq.com: could not connect to host couragewhispers.ca: could not connect to host -coursables.com: did not receive HSTS header coursdeprogrammation.com: could not connect to host course.pp.ua: did not receive HSTS header course.rs: could not connect to host coursella.com: did not receive HSTS header courses.nl: could not connect to host courseworkbank.info: could not connect to host -cousincouples.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +covaci.pro: did not receive HSTS header cove.sh: could not connect to host covenantbank.net: could not connect to host -covenantmatrix.com: could not connect to host +covenantmatrix.com: did not receive HSTS header coverdat.com: could not connect to host coverduck.ru: could not connect to host coworkingmanifesto.com: did not receive HSTS header @@ -3543,6 +3966,7 @@ crackslut.eu: could not connect to host craftbeerbarn.co.uk: could not connect to host craftedge.xyz: could not connect to host craftination.net: could not connect to host +craftinghand.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] craftmain.eu: could not connect to host craftmine.cz: could not connect to host craftngo.hu: could not connect to host @@ -3565,14 +3989,16 @@ crazyker.com: did not receive HSTS header crbug.com: did not receive HSTS header (error ignored - included regardless) crc-online.nl: did not receive HSTS header creaescola.com: did not receive HSTS header +crealogix-online.com: could not connect to host creamybuild.com: could not connect to host create-ls.jp: could not connect to host create-test-publish.co.uk: could not connect to host +create-together.nl: did not receive HSTS header +creations-edita.com: could not connect to host creativeapple.ltd: did not receive HSTS header creativeartifice.com: did not receive HSTS header creativecommons.cl: did not receive HSTS header creativecommonscatpictures.com: could not connect to host -creativefolks.co.uk: did not receive HSTS header creativephysics.ml: could not connect to host creativeplayuk.com: did not receive HSTS header creato.top: could not connect to host @@ -3587,25 +4013,34 @@ creorin.com: did not receive HSTS header crestoncottage.com: could not connect to host crewplanner.eu: did not receive HSTS header crge.eu: max-age too low: 0 +criadorespet.com.br: could not connect to host +crickey.eu: could not connect to host crimewatch.net.za: could not connect to host +crimson.no: did not receive HSTS header crip-usk.ba: could not connect to host crisissurvivalspecialists.com: could not connect to host cristianhares.com: could not connect to host +critcola.com: did not receive HSTS header criticalaim.com: could not connect to host crizk.com: could not connect to host crl-autos.com: could not connect to host -crmdemo.website: did not receive HSTS header +crmdemo.website: could not connect to host +croceverdevb.it: did not receive HSTS header crockett.io: did not receive HSTS header croco.vision: did not receive HSTS header croeder.net: could not connect to host croisieres.discount: did not receive HSTS header cromosomax.com: could not connect to host +cronberg.ch: could not connect to host croods-mt2.fr: did not receive HSTS header croome.no-ip.org: could not connect to host crop-alert.com: could not connect to host +croquette.net: did not receive HSTS header crosbug.com: did not receive HSTS header (error ignored - included regardless) +crosscom.ch: could not connect to host crosspeakoms.com: did not receive HSTS header crosssec.com: did not receive HSTS header +crow.tw: could not connect to host crowdcurity.com: did not receive HSTS header crowdjuris.com: could not connect to host crowdwis.com: could not connect to host @@ -3613,28 +4048,30 @@ crownbouncycastlehire.co.uk: did not receive HSTS header crownruler.com: did not receive HSTS header crox.co: could not connect to host crrev.com: did not receive HSTS header (error ignored - included regardless) -crt.cloud: could not connect to host +crt.sh: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] crtvmgmt.com: could not connect to host crudysql.com: could not connect to host crufad.org: did not receive HSTS header cruikshank.com.au: did not receive HSTS header crushroom.com: max-age too low: 43200 +cruzadobalcazarabogados.com: could not connect to host cruzeiropedia.org: did not receive HSTS header cruzr.xyz: could not connect to host crypalert.com: could not connect to host crypt.guru: did not receive HSTS header cryptify.eu: could not connect to host +crypto-armory.com: could not connect to host crypto-navi.org: did not receive HSTS header -crypto.graphics: did not receive HSTS header +crypto.tube: did not receive HSTS header cryptobells.com: did not receive HSTS header cryptobin.org: could not connect to host cryptocaseproject.com: could not connect to host cryptodash.net: could not connect to host cryptodyno.ninja: could not connect to host -cryptoisnotacrime.org: could not connect to host cryptojar.io: could not connect to host cryptolab.pro: could not connect to host -cryptolab.tk: did not receive HSTS header +cryptolab.tk: could not connect to host +cryptonom.org: could not connect to host cryptoparty.dk: could not connect to host cryptopartyatx.org: could not connect to host cryptopartynewcastle.org: could not connect to host @@ -3645,9 +4082,10 @@ crystalclassics.co.uk: did not receive HSTS header crystalmate.eu: did not receive HSTS header cs-colorscreed-betongulve.dk: could not connect to host cs-ubladego.pl: could not connect to host -csacongress.org: did not receive HSTS header +csacongress.org: max-age too low: 2592000 csapak.com: did not receive HSTS header csawctf.poly.edu: could not connect to host +csbgtribalta.com: did not receive HSTS header cscau.com: did not receive HSTS header csehnyelv.hu: could not connect to host cselzer.com: did not receive HSTS header @@ -3664,37 +4102,37 @@ csgohandouts.com: did not receive HSTS header csgokings.eu: could not connect to host csgoshifter.com: could not connect to host csgotwister.com: could not connect to host +cshopify.com: could not connect to host csilies.de: could not connect to host csinfo.us: could not connect to host cskdoc.com: did not receive HSTS header csohack.tk: could not connect to host cspbuilder.info: did not receive HSTS header +csru.net: could not connect to host cssps.org: could not connect to host cssu.in: did not receive HSTS header csvape.com: did not receive HSTS header cswarzone.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] ct-status.org: could not connect to host ct-watches.dk: did not receive HSTS header -ctrl.blog: did not receive HSTS header +cthomas.work: could not connect to host +cthulhuden.com: could not connect to host ctyi.me: could not connect to host -cuanhua3s.com: did not receive HSTS header -cubebot.io: could not connect to host -cubecart.net: did not receive HSTS header +cuanhua3s.com: could not connect to host +cubecart.net: could not connect to host cubecraftstore.com: could not connect to host cubecraftstore.net: could not connect to host cubela.tech: could not connect to host cubeserver.eu: could not connect to host cubewano.com: could not connect to host -cubix.host: did not receive HSTS header +cubix.host: could not connect to host cucc.date: could not connect to host cuecamania.com.br: could not connect to host cujanovic.com: did not receive HSTS header cujba.com: could not connect to host culinae.nl: could not connect to host -culture-school.top: did not receive HSTS header cultureelbeleggen.nl: did not receive HSTS header cultureroll.com: could not connect to host -cumparama.com: did not receive HSTS header cumshots-video.ru: could not connect to host cunha.be: could not connect to host cuni-cuni-club.com: did not receive HSTS header @@ -3705,35 +4143,44 @@ cuongthach.com: did not receive HSTS header cuonic.com: could not connect to host cupcake.io: did not receive HSTS header cupcake.is: did not receive HSTS header +cupidosshop.com: could not connect to host cupofarchitects.net: could not connect to host curacao-license.com: could not connect to host curarnosensalud.com: could not connect to host +curia.fi: could not connect to host curiouscat.me: max-age too low: 2592000 curlyroots.com: did not receive HSTS header current.com: did not receive HSTS header curroapp.com: could not connect to host cursosdnc.cl: did not receive HSTS header +cursosgratuitos.com.br: did not receive HSTS header curveweb.co.uk: did not receive HSTS header +curvylove.de: could not connect to host cusfit.com: did not receive HSTS header custe.rs: could not connect to host -custerweb.com: could not connect to host +custerweb.com: did not receive HSTS header customadesign.com: did not receive HSTS header customd.com: did not receive HSTS header customfilmworks.com: could not connect to host customizeyourshower.com: could not connect to host custompapers.com: could not connect to host customromlist.com: could not connect to host +customshort.link: could not connect to host customwritings.com: could not connect to host cutelariafiveladeouro.com.br: did not receive HSTS header +cutephil.com: could not connect to host +cutimbo.com: could not connect to host cutorrent.com: could not connect to host cuvva.insure: did not receive HSTS header cuxpool.club: could not connect to host cvjm-memmingen.de: did not receive HSTS header +cvninja.pl: did not receive HSTS header +cvps.top: did not receive HSTS header cvsoftub.com: did not receive HSTS header cvtparking.co.uk: did not receive HSTS header cw-bw.de: could not connect to host cwage.com: could not connect to host -cwbw.network: could not connect to host +cwbw.network: did not receive HSTS header cwilson.ga: could not connect to host cy.technology: did not receive HSTS header cyanogenmod.xxx: could not connect to host @@ -3743,8 +4190,8 @@ cyber-konzept.de: did not receive HSTS header cyber-perikarp.eu: could not connect to host cyber.cafe: could not connect to host cybercecurity.com: did not receive HSTS header -cybercloud.cc: did not receive HSTS header -cyberdyne-industries.net: could not connect to host +cybercymru.co.uk: did not receive HSTS header +cyberdyne-industries.net: did not receive HSTS header cyberfrancais.ro: did not receive HSTS header cyberlab.team: did not receive HSTS header cyberpeace.nl: could not connect to host @@ -3756,9 +4203,6 @@ cyberserver.org: could not connect to host cybershambles.com: could not connect to host cybersmart.co.uk: did not receive HSTS header cyberspace.today: could not connect to host -cybertorsk.org: could not connect to host -cyberxpert.nl: could not connect to host -cybit.io: did not receive HSTS header cyclehackluxembourgcity.lu: could not connect to host cyclingjunkies.com: could not connect to host cydia-search.io: could not connect to host @@ -3767,32 +4211,38 @@ cygu.ch: did not receive HSTS header cymtech.net: could not connect to host cynoshair.com: could not connect to host cyoda.com: did not receive HSTS header -cypherpunk.com: could not connect to host +cype.dedyn.io: could not connect to host cypherpunk.ws: could not connect to host cyphertite.com: could not connect to host -cypressinheritancesaga.com: could not connect to host cytadel.fr: did not receive HSTS header +cyyzaid.cn: could not connect to host czaw.org: did not receive HSTS header -czirnich.org: did not receive HSTS header +czirnich.org: could not connect to host czlx.co: could not connect to host d-academia.com: did not receive HSTS header d-macindustries.com: did not receive HSTS header d-rickroll-e.pw: could not connect to host -d-toys.com.ua: could not connect to host d.rip: max-age too low: 900 d00r.de: did not receive HSTS header d0xq.net: could not connect to host d1ves.io: did not receive HSTS header d3njjcbhbojbot.cloudfront.net: did not receive HSTS header d3x.pw: could not connect to host +d3xx3r.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] d4rkdeagle.tk: could not connect to host +d4wson.com: could not connect to host +d88688.com: could not connect to host +d88871.com: could not connect to host d8studio.net: could not connect to host +da-ist-kunst.de: could not connect to host +da.hn: could not connect to host da8.cc: could not connect to host dabblegoat.com: could not connect to host dabbot.org: did not receive HSTS header dad256.tk: could not connect to host dadtheimpaler.com: could not connect to host -daemonslayer.net: could not connect to host +daemon.xin: could not connect to host +daemonslayer.net: did not receive HSTS header dah5.com: did not receive HSTS header dahl-pind.dk: did not receive HSTS header dai-rin.co.jp: could not connect to host @@ -3800,7 +4250,7 @@ dailybunda.com: did not receive HSTS header dailystormerpodcasts.com: could not connect to host dailytopix.com: could not connect to host daimadi.com: could not connect to host -daisuki.pw: did not receive HSTS header +daisuki.pw: could not connect to host daiwai.de: did not receive HSTS header dakerealestate.com: did not receive HSTS header dakl-shop.de: did not receive HSTS header @@ -3811,14 +4261,14 @@ dalfiume.it: did not receive HSTS header dalingk.co: could not connect to host daltonedwards.me: could not connect to host dam74.com.ar: could not connect to host -damianuv-blog.cz: did not receive HSTS header +damianuv-blog.cz: could not connect to host +damienpontifex.com: did not receive HSTS header damjanovic.work: could not connect to host dan.org.nz: could not connect to host danbarrett.com.au: could not connect to host dancebuzz.co.uk: did not receive HSTS header dancerdates.net: did not receive HSTS header dandymrsb.com: could not connect to host -dane-bre.net: max-age too low: 172800 dango.in: could not connect to host daniel-du.com: could not connect to host daniel-mosquera.com: could not connect to host @@ -3830,6 +4280,7 @@ danieldk.eu: did not receive HSTS header danielgraziano.ca: could not connect to host danieliancu.com: could not connect to host danielkratz.com: max-age too low: 172800 +danielmarquard.com: did not receive HSTS header danielt.co.uk: did not receive HSTS header danielverlaan.nl: could not connect to host danielworthy.com: did not receive HSTS header @@ -3837,9 +4288,13 @@ danielzuzevich.com: could not connect to host danijobs.com: could not connect to host danishenanigans.com: could not connect to host dankeblog.com: could not connect to host +dankredues.com: could not connect to host danmark.guide: did not receive HSTS header dannycrichton.com: did not receive HSTS header +danova.de: did not receive HSTS header +danoz.net: could not connect to host danrl.de: could not connect to host +dansa.com.co: could not connect to host danskringsporta.be: did not receive HSTS header danwillenberg.com: did not receive HSTS header daolerp.xyz: could not connect to host @@ -3847,10 +4302,10 @@ dapim.co.il: did not receive HSTS header dargasia.is: could not connect to host darinjohnson.ca: did not receive HSTS header dario.im: did not receive HSTS header +dariosirangelo.me: could not connect to host dark-x.cf: could not connect to host darkanzali.pl: max-age too low: 0 darkdestiny.ch: could not connect to host -darkfire.ch: could not connect to host darkfriday.ddns.net: could not connect to host darkhole.cn: did not receive HSTS header darkishgreen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -3873,11 +4328,13 @@ dash-board.jp: did not receive HSTS header dash.rocks: did not receive HSTS header dashboard.yt: could not connect to host dashburst.com: did not receive HSTS header +dashlane.com: did not receive HSTS header dashnimorad.com: did not receive HSTS header data-abundance.com: could not connect to host data-detox.com: could not connect to host data.haus: could not connect to host data.qld.gov.au: did not receive HSTS header +data.world: did not receive HSTS header databeam.de: could not connect to host datacave.is: could not connect to host datacenternews.asia: did not receive HSTS header @@ -3885,15 +4342,13 @@ datacenternews.co.nz: did not receive HSTS header datacentrenews.eu: did not receive HSTS header datacool.tk: could not connect to host datacubed.com: did not receive HSTS header -datafd.com: could not connect to host -datafd.net: could not connect to host datahoarder.download: could not connect to host datahoarderschool.club: did not receive HSTS header dataisme.com: did not receive HSTS header datajapan.co.jp: did not receive HSTS header datamatic.ru: could not connect to host -datapun.ch: did not receive HSTS header dataretention.solutions: could not connect to host +datascomemorativas.com.br: could not connect to host datasharesystem.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] datasnitch.co.uk: could not connect to host datatekniikka.com: could not connect to host @@ -3904,10 +4359,10 @@ datenreiter.cf: could not connect to host datenreiter.gq: could not connect to host datenreiter.ml: could not connect to host datenreiter.tk: could not connect to host -datenschutzhelden.org: could not connect to host +datenschutzhelden.org: max-age too low: 172800 datine.com.br: could not connect to host datorb.com: could not connect to host -datortipsen.se: did not receive HSTS header +datortipsen.se: could not connect to host datsound.ru: did not receive HSTS header datsumou-q.com: did not receive HSTS header daverandom.com: could not connect to host @@ -3915,6 +4370,7 @@ davewut.ca: did not receive HSTS header david-mallett.com: did not receive HSTS header davidandkailey.com: could not connect to host davidbrito.tech: could not connect to host +davidbuckell.com: could not connect to host davidglidden.eu: did not receive HSTS header davidgrudl.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] davidhunter.scot: did not receive HSTS header @@ -3926,6 +4382,7 @@ davidscherzer.at: could not connect to host davimun.org: could not connect to host davros.eu: could not connect to host davros.ru: could not connect to host +daw.nz: could not connect to host dawnofeden.org: did not receive HSTS header dawnson.is: could not connect to host dawnsonb.com: could not connect to host @@ -3946,11 +4403,11 @@ dcc.moe: could not connect to host dccode.gov: could not connect to host dccoffeeproducts.com: did not receive HSTS header dccraft.net: could not connect to host +dcl.re: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] dctxf.com: did not receive HSTS header dcuofriends.net: could not connect to host -dcw.io: did not receive HSTS header dd.art.pl: could not connect to host -ddatsh.com: could not connect to host +ddatsh.com: did not receive HSTS header dden.website: could not connect to host dden.xyz: could not connect to host ddmeportal.com: could not connect to host @@ -3986,6 +4443,8 @@ decorincasa.com.br: could not connect to host decorland.com.ua: could not connect to host decormiernissanparts.com: could not connect to host decoyrouting.com: could not connect to host +decstasy.de: did not receive HSTS header +dede.ml: could not connect to host dedeo.tk: could not connect to host dedicatutiempo.es: could not connect to host dedietrich-asia.com: did not receive HSTS header @@ -3997,14 +4456,12 @@ deeprecce.com: could not connect to host deeprecce.link: could not connect to host deeprecce.tech: could not connect to host deeps.cat: could not connect to host -deeps.me: could not connect to host deepvalley.tech: could not connect to host deepvision.com.ua: did not receive HSTS header deer.team: could not connect to host deetz.nl: did not receive HSTS header deetzen.de: did not receive HSTS header deezeno.com: could not connect to host -defeestboek.nl: could not connect to host defi-metier.com: could not connect to host defi-metier.fr: could not connect to host defi-metier.org: could not connect to host @@ -4017,15 +4474,18 @@ defimetier.org: could not connect to host defimetiers.com: could not connect to host defimetiers.fr: could not connect to host degroetenvanrosaline.nl: could not connect to host +dehydrated.de: did not receive HSTS header deight.co: could not connect to host deight.in: could not connect to host dekasan.ru: could not connect to host delandalucia.com: did not receive HSTS header delayrefunds.co.uk: could not connect to host delcopa.gov: could not connect to host +delf.co.jp: did not receive HSTS header deliberatedigital.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] deliver.moe: did not receive HSTS header deliverance.co.uk: could not connect to host +deliveryiquique.cl: did not receive HSTS header deloittequant.com: could not connect to host deltaconcepts.de: could not connect to host delvj.org: could not connect to host @@ -4033,14 +4493,16 @@ demandware.com: did not receive HSTS header demarche-expresse.com: did not receive HSTS header demdis.org: could not connect to host demilitarized.ninja: could not connect to host -demmer.one: could not connect to host demo-server.us: could not connect to host demo.sb: could not connect to host +demo.swedbank.se: did not receive HSTS header democracy.io: did not receive HSTS header democraticdifference.com: could not connect to host demomanca.com: did not receive HSTS header demotops.com: could not connect to host +dengchangdong.com: did not receive HSTS header denh.am: did not receive HSTS header +denimio.com: did not receive HSTS header denisjean.fr: could not connect to host dennispotter.eu: did not receive HSTS header densmirnov.com: max-age too low: 7776000 @@ -4053,7 +4515,8 @@ denverprophit.us: could not connect to host depaco.com: did not receive HSTS header deped.blog: could not connect to host depedshs.com: could not connect to host -depedtayo.ph: could not connect to host +depedtayo.com: did not receive HSTS header +depedtayo.ph: did not receive HSTS header depijl-mz.nl: did not receive HSTS header depixion.agency: could not connect to host depo.space: could not connect to host @@ -4061,23 +4524,24 @@ deprobe.pro: could not connect to host dequehablamos.es: could not connect to host derbyshiredotnet.co.uk: did not receive HSTS header derchris.me: could not connect to host -derekseaman.com: did not receive HSTS header -derekseaman.studio: did not receive HSTS header +derekkent.com: could not connect to host derevtsov.com: did not receive HSTS header derivativeshub.pro: could not connect to host derive.cc: could not connect to host dermacarecomplex.com: could not connect to host derpumpkinfuhrer.com: could not connect to host -derrickemery.com: did not receive HSTS header +derrickemery.com: could not connect to host derwaldschrat.net: did not receive HSTS header derwolfe.net: did not receive HSTS header desiccantpackets.com: did not receive HSTS header +design-fu.com: did not receive HSTS header designandmore.it: did not receive HSTS header designanyware.com.br: could not connect to host -designgears.com: did not receive HSTS header +designgears.com: could not connect to host designgraphic.fr: did not receive HSTS header designsbykerrialee.co.uk: could not connect to host designthinking.or.jp: did not receive HSTS header +desormiers.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] despora.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] despotika.de: could not connect to host desserteagleselvenar.tk: could not connect to host @@ -4091,12 +4555,14 @@ detecte-fuite.ch: could not connect to host detecte.ch: could not connect to host detectefuite.ch: could not connect to host detector.exposed: could not connect to host -detest.org: did not receive HSTS header +detest.org: could not connect to host dethikiemtra.com: did not receive HSTS header detroitrocs.org: did not receive HSTS header detteflies.com: max-age too low: 7889238 +detuprovincia.cl: did not receive HSTS header detutorial.com: max-age too low: 36000 -deusu.org: did not receive HSTS header +deusu.de: could not connect to host +deusu.org: could not connect to host deux.solutions: could not connect to host deuxsol.co: could not connect to host deuxsol.com: could not connect to host @@ -4108,13 +4574,15 @@ dev-bluep.pantheonsite.io: did not receive HSTS header dev-talk.eu: did not receive HSTS header dev-talk.net: could not connect to host devafterdark.com: could not connect to host +devcast.io: could not connect to host devdesco.com: could not connect to host devdom.io: max-age too low: 172800 devdoodle.net: could not connect to host -develop.cool: did not receive HSTS header +develerik.com: could not connect to host +develop.cool: could not connect to host develop.fitness: could not connect to host developersclub.website: could not connect to host -developyourelement.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +devenney.io: did not receive HSTS header devh.de: could not connect to host deviltracks.net: could not connect to host devin-balimuhac.de: did not receive HSTS header @@ -4122,13 +4590,17 @@ devincrow.me: could not connect to host devinpacker.com: could not connect to host devisonline.ch: could not connect to host devistravaux.org: did not receive HSTS header +devjack.de: could not connect to host +devkit.cc: could not connect to host devlux.ch: did not receive HSTS header devmsg.com: could not connect to host devnsec.com: could not connect to host devnull.team: could not connect to host -devopps.me: did not receive HSTS header +devolution.ws: could not connect to host +devopps.me: could not connect to host devops.moe: could not connect to host devopsconnected.com: could not connect to host +devpgsv.com: could not connect to host devtestfan1.gov: could not connect to host devtub.com: could not connect to host devuan.org: did not receive HSTS header @@ -4139,6 +4611,7 @@ dfrance.com.br: did not receive HSTS header dfviana.com.br: max-age too low: 2592000 dgby.org: did not receive HSTS header dggwp.de: did not receive HSTS header +dgx.io: could not connect to host dharamkot.com: could not connect to host dharma.ai: did not receive HSTS header dhl-smart.ch: could not connect to host @@ -4149,9 +4622,11 @@ dhub.xyz: could not connect to host dhxxls.com: could not connect to host diablotine.rocks: could not connect to host diabolic.chat: could not connect to host +diagnocentro.cl: could not connect to host diagnosia.com: did not receive HSTS header diagonale-deco.fr: did not receive HSTS header -dialoegue.com: did not receive HSTS header +diagrammingoutloud.co.uk: did not receive HSTS header +dialectic-og.com: could not connect to host diamondcare.com.br: did not receive HSTS header diamondpkg.org: could not connect to host diamondt.us: did not receive HSTS header @@ -4166,14 +4641,14 @@ dichgans-besserer.de: did not receive HSTS header dichvudangkygiayphep.com: could not connect to host dicio.com.br: did not receive HSTS header dick.red: could not connect to host -dickord.club: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] didierlaumen.be: did not receive HSTS header +didikhari.web.id: did not receive HSTS header die-besten-weisheiten.de: could not connect to host -die-borts.ch: could not connect to host die-gruenen-teufel.de: could not connect to host dieb.photo: could not connect to host diejanssens.net: did not receive HSTS header diemogebhardt.com: could not connect to host +dierabenmutti.de: max-age too low: 7776000 dierencompleet.nl: did not receive HSTS header dierenkruiden.nl: did not receive HSTS header dieser.me: could not connect to host @@ -4181,6 +4656,7 @@ dietagespresse.com: did not receive HSTS header diewebstube.de: could not connect to host diezel.com: could not connect to host diferenca.com: did not receive HSTS header +diff2html.xyz: did not receive HSTS header diggable.co: max-age too low: 2592000 digihyp.ch: did not receive HSTS header digikol.net: could not connect to host @@ -4189,9 +4665,9 @@ digired.ro: could not connect to host digired.xyz: could not connect to host digital1world.com: did not receive HSTS header digitalbank.kz: could not connect to host -digitalcloud.ovh: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +digitalcloud.ovh: could not connect to host digitalcuko.com: did not receive HSTS header -digitaldaddy.net: did not receive HSTS header +digitaldaddy.net: could not connect to host digitalero.rip: did not receive HSTS header digitalewelten.de: could not connect to host digitalexhale.com: did not receive HSTS header @@ -4199,6 +4675,7 @@ digitalhurricane.io: could not connect to host digitalimpostor.co.uk: could not connect to host digitaljungle.net: could not connect to host digitallocker.com: did not receive HSTS header +digitalmaniac.co.uk: could not connect to host digitalnonplus.com: could not connect to host digitalquery.com: did not receive HSTS header digitalriver.tk: did not receive HSTS header @@ -4210,9 +4687,10 @@ diguass.us: could not connect to host dijks.com: could not connect to host dikshant.net: could not connect to host diletec.com.br: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -dillewijnzwapak.nl: could not connect to host +dilichen.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] dillynbarber.com: did not receive HSTS header dim.lighting: could not connect to host +dimensionen.de: did not receive HSTS header dimes.com.tr: did not receive HSTS header dimitrisotiropoulosbooks.com: max-age too low: 7889238 din-tools.com: did not receive HSTS header @@ -4220,27 +4698,29 @@ dinamoelektrik.com: could not connect to host dingcc.com: could not connect to host dingcc.org: could not connect to host dingcc.xyz: could not connect to host +dinge.xyz: did not receive HSTS header dingelbob-schuhcreme.gq: could not connect to host dingss.com: could not connect to host dinkum.online: could not connect to host +dinotopia.org.uk: did not receive HSTS header dinotv.at: could not connect to host dintillat.fr: could not connect to host dinube.com: did not receive HSTS header dionysus.se: could not connect to host dipconsultants.com: could not connect to host +direct2uk.com: max-age too low: 2592000 directhskincream.com: could not connect to host directinsure.in: did not receive HSTS header +directme.ga: could not connect to host directorinegocis.cat: could not connect to host directtwo.solutions: could not connect to host directtwosolutions.org: could not connect to host directwatertanks.co.uk: did not receive HSTS header direnv.net: did not receive HSTS header direwolfsoftware.ca: could not connect to host -dirk-weise.de: could not connect to host -dirkwolf.de: could not connect to host +dirips.com: did not receive HSTS header dirtycat.ru: could not connect to host disadattamentolavorativo.it: could not connect to host -discipul.nl: did not receive HSTS header disclosure.io: did not receive HSTS header disco-crazy-world.de: could not connect to host discord-chan.net: could not connect to host @@ -4249,10 +4729,10 @@ discountmetaux.fr: did not receive HSTS header discover-mercure.com: could not connect to host discoveringdocker.com: could not connect to host discoverrsv.com: did not receive HSTS header +discoverucluelet.com: did not receive HSTS header discoverwellness.center: could not connect to host discovery.lookout.com: did not receive HSTS header discoveryballoon.org: 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 @@ -4263,11 +4743,13 @@ distinctivephotography.com.au: could not connect to host distinguishedwindows.co.uk: did not receive HSTS header distractionco.de: did not receive HSTS header distrilogservices.com: could not connect to host +distro.re: did not receive HSTS header ditch.ch: could not connect to host ditrutoancau.vn: could not connect to host dittvertshus.no: could not connect to host diva-ey.com: could not connect to host divegearexpress.com.cn: did not receive HSTS header +divenwa.com: did not receive HSTS header diversity-spielzeug.de: did not receive HSTS header divvi.co.nz: did not receive HSTS header divvymonkey.com: did not receive HSTS header @@ -4284,10 +4766,10 @@ djul.net: could not connect to host djxmmx.net: did not receive HSTS header dkn.go.id: did not receive HSTS header dkniss.de: could not connect to host -dko-steiermark.ml: did not receive HSTS header dl.google.com: did not receive HSTS header (error ignored - included regardless) dlbouncers.co.uk: could not connect to host dlc.viasinc.com: could not connect to host +dlcwilson.com: could not connect to host dlemper.de: did not receive HSTS header dlouwrink.nl: could not connect to host dlyl888.com: could not connect to host @@ -4304,6 +4786,7 @@ dmmkenya.co.ke: could not connect to host dmtry.me: did not receive HSTS header dmwall.cn: could not connect to host dmz.ninja: could not connect to host +dndesign.be: did not receive HSTS header dnfc.rocks: could not connect to host dnmaze.com: could not connect to host dns-manager.info: did not receive HSTS header @@ -4311,38 +4794,44 @@ dns.google.com: did not receive HSTS header (error ignored - included regardless dnsbird.net: could not connect to host dnsbird.org: could not connect to host dnscrypt.nl: could not connect to host -dnscrypt.org: max-age too low: 0 +dnscrypt.org: could not connect to host dnsknowledge.com: did not receive HSTS header dnsql.io: could not connect to host +dnzz123.com: did not receive HSTS header do-do.tk: could not connect to host do-it.cz: could not connect to host doak.io: did not receive HSTS header dobet.in: could not connect to host +dobrev.family: could not connect to host doc-justice.com: did not receive HSTS header docid.io: could not connect to host +dockerm.com: could not connect to host dockerturkiye.com: could not connect to host docket.news: could not connect to host doclassworks.com: could not connect to host doclot.io: could not connect to host -docplexus.in: did not receive HSTS header +docplexus.in: could not connect to host +docplexus.org: did not receive HSTS header docset.io: could not connect to host +docsoc.org.uk: could not connect to host docufiel.com: could not connect to host doculus.io: could not connect to host documentations-sociales.com: could not connect to host docxtemplater.com: did not receive HSTS header doesmycodehavebugs.today: could not connect to host doeswindowssuckforeveryoneorjustme.com: could not connect to host -dogbox.se: could not connect to host +dogbox.se: did not receive HSTS header dogcratereview.info: could not connect to host dogespeed.ga: could not connect to host dogfi.sh: could not connect to host doggieholic.net: could not connect to host dognlife.com: could not connect to host -dogoodbehappyllc.com: did not receive HSTS header +dogoodbehappyllc.com: could not connect to host dogprograms.net: could not connect to host dohosting.ru: could not connect to host dojifish.space: could not connect to host dojin.nagoya: could not connect to host +dokan-e.com: did not receive HSTS header dokan.online: did not receive HSTS header doked.io: could not connect to host dokspot.cf: could not connect to host @@ -4359,26 +4848,29 @@ dolt.xyz: could not connect to host domaine-aigoual-cevennes.com: did not receive HSTS header domainelaremejeanne.com: did not receive HSTS header domaris.de: did not receive HSTS header +domasazu.pl: did not receive HSTS header domen-reg.ru: could not connect to host domengrad.ru: did not receive HSTS header domenicocatelli.com: did not receive HSTS header domfee.com: could not connect to host dominikanskarepubliken.guide: could not connect to host dominioanimal.com: could not connect to host +dominioanimal.com.br: could not connect to host dominique-mueller.de: could not connect to host domytermpaper.com: could not connect to host don.yokohama: could not connect to host -donateway.com: did not receive HSTS header dong8.top: could not connect to host dongjingre.net: could not connect to host donhoward.org: did not receive HSTS header +donlydental.ca: did not receive HSTS header donmez.uk: could not connect to host donmez.ws: could not connect to host +donna-bellini-business-fotografie-muenchen.de: did not receive HSTS header donotspampls.me: could not connect to host donotspellitgav.in: did not receive HSTS header donpaginasweb.com: did not receive HSTS header +donpomodoro.com.co: did not receive HSTS header donsbach-edv.de: did not receive HSTS header -dontcageus.org: could not connect to host donthedragonwilson.com: could not connect to host donttrustrobots.nl: could not connect to host donzelot.co.uk: did not receive HSTS header @@ -4390,6 +4882,7 @@ doomleika.com: did not receive HSTS header doooonoooob.com: could not connect to host doopdidoop.com: did not receive HSTS header door.cards: could not connect to host +dopfer-fenstertechnik.de: did not receive HSTS header dopost.it: could not connect to host doriginal.es: did not receive HSTS header dorkfarm.com: did not receive HSTS header @@ -4400,8 +4893,7 @@ dostavkakurierom.ru: could not connect to host dot.ro: did not receive HSTS header dotadata.me: could not connect to host dotb.dn.ua: did not receive HSTS header -dotbox.org: did not receive HSTS header -dotbrick.co.th: did not receive HSTS header +dotbrick.co.th: could not connect to host dotkod.com: could not connect to host dotnetsandbox.ca: could not connect to host dotspaperie.com: could not connect to host @@ -4421,10 +4913,9 @@ downsouthweddings.com.au: did not receive HSTS header doxcelerate.com: could not connect to host doyoulyft.com: could not connect to host dpangerl.de: did not receive HSTS header -dps.srl: did not receive HSTS header dpsart.it: did not receive HSTS header dr-knirr.de: could not connect to host -dr2dr.ca: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +drabben.be: did not receive HSTS header drabbin.com: could not connect to host draghive.club: did not receive HSTS header draghive.net: could not connect to host @@ -4441,24 +4932,30 @@ drakefortreasurer.sexy: could not connect to host drakensberg-tourism.com: did not receive HSTS header drakfot.se: could not connect to host dralexjimenez.com: did not receive HSTS header +dranek.com: max-age too low: 2592000 drastosasports.com.br: could not connect to host drawvesly.ovh: did not receive HSTS header drbarnabus.com: could not connect to host +drdavidgilpin.com: did not receive HSTS header drdevil.ru: could not connect to host +drdim.ru: could not connect to host dreadbyte.com: could not connect to host dreadd.org: could not connect to host dreamaholic.club: could not connect to host dreamcatcherblog.de: could not connect to host +dreamersgiftshopec.com: could not connect to host dreaming.solutions: could not connect to host dreamlighteyeserum.com: could not connect to host dreamsforabetterworld.com.au: did not receive HSTS header dreax.win: could not connect to host dredgepress.com: did not receive HSTS header dreischneidiger.de: could not connect to host +dreizwosechs.de: could not connect to host drewgle.net: could not connect to host drhopeson.com: did not receive HSTS header drillnation.com.au: could not connect to host drinknaturespower.com: could not connect to host +drinkplanet.eu: could not connect to host drinkvabeer.com: could not connect to host dripdoctors.com: did not receive HSTS header drishti.guru: could not connect to host @@ -4466,17 +4963,16 @@ drive.xyz: could not connect to host drivercopilot.com: did not receive HSTS header drivewithstatetransit.com.au: did not receive HSTS header driving-lessons.co.uk: could not connect to host -drixn.cn: could not connect to host drixn.info: could not connect to host drixn.net: could not connect to host -drizz.com.br: could not connect to host -drkmtrx.xyz: could not connect to host drlazarina.net: did not receive HSTS header drobniuch.pl: could not connect to host drogoz.moe: could not connect to host droidboss.com: did not receive HSTS header droithxn.com: could not connect to host droncentrum.pl: could not connect to host +dronebotworkshop.com: did not receive HSTS header +dronexpertos.com: could not connect to host droomhuis-in-brielle-kopen.nl: could not connect to host droomhuis-in-de-friese-meren-kopen.nl: could not connect to host droomhuis-in-delfzijl-kopen.nl: could not connect to host @@ -4492,6 +4988,7 @@ droomhuisindestadverkopen.nl: could not connect to host droomhuisophetplattelandverkopen.nl: could not connect to host dropcam.com: did not receive HSTS header drostschocolates.com: did not receive HSTS header +drpure.pw: could not connect to host drtroyhendrickson.com: could not connect to host drtti.io: could not connect to host drturner.com.au: did not receive HSTS header @@ -4499,33 +4996,40 @@ drubn.de: could not connect to host drugagodba.si: did not receive HSTS header drumbandesperanto.nl: could not connect to host drump-truck.com: did not receive HSTS header +drunkscifi.com: could not connect to host drupal123.com: could not connect to host druznek.rocks: could not connect to host druznek.xyz: could not connect to host +drvr.xyz: could not connect to host drybasement.com: did not receive HSTS header drybasementkansas.com: did not receive HSTS header drycreekapiary.com: could not connect to host ds-christiansen.de: could not connect to host dshiv.io: could not connect to host -dsne.com.mx: did not receive HSTS header -dsouzamusic.com: could not connect to host +dsne.com.mx: could not connect to host +dsouzamusic.com: did not receive HSTS header +dsrw.org: max-age too low: 1576800 dsuinnovation.com: could not connect to host dsyunmall.com: did not receive HSTS header +dtechstore.com.br: did not receive HSTS header dtub.co: could not connect to host -dtx.sk: could not connect to host +dualias.xyz: could not connect to host duan.li: could not connect to host +dubai-company.ae: could not connect to host dubaosheng.com: could not connect to host dubik.su: did not receive HSTS header +duchyoffeann.com: could not connect to host +duckasylum.com: did not receive HSTS header duckyubuntu.tk: could not connect to host ducohosting.com: did not receive HSTS header dudesunderwear.com.br: could not connect to host duelsow.eu: could not connect to host duelysthub.com: could not connect to host -duerls.de: could not connect to host +duerls.de: did not receive HSTS header dugnet.tech: could not connect to host dujsq.com: could not connect to host dujsq.top: could not connect to host -dukec.me: did not receive HSTS header +dukec.me: could not connect to host dukefox.com: could not connect to host duks.com.br: did not receive HSTS header dullsir.com: did not receive HSTS header @@ -4535,6 +5039,7 @@ dunashoes.com: could not connect to host dune.io: did not receive HSTS header dunea.nl: did not receive HSTS header dung-massage.fr: did not receive HSTS header +dunklau.fr: could not connect to host duo.money: could not connect to host duocircle.com: did not receive HSTS header duole30.com: could not connect to host @@ -4551,7 +5056,6 @@ dwellstudio.com: did not receive HSTS header dwhd.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] dwnld.me: could not connect to host dycem-ns.com: did not receive HSTS header -dycoa.com: could not connect to host dycontrol.de: could not connect to host dylanscott.com.au: did not receive HSTS header dynamic-innovations.net: could not connect to host @@ -4559,10 +5063,12 @@ dynamic-networks.be: could not connect to host dynamize.solutions: did not receive HSTS header dyncdn.me: could not connect to host dynts.pro: could not connect to host -dyz.pw: could not connect to host +dyz.pw: did not receive HSTS header dziekonski.com: could not connect to host dzimejl.sk: did not receive HSTS header dzlibs.io: could not connect to host +dzndk.net: could not connect to host +dzndk.org: could not connect to host dzytdl.com: did not receive HSTS header e-aut.net: could not connect to host e-baraxolka.ru: could not connect to host @@ -4579,6 +5085,7 @@ e-vau.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_F e-vo-linka.cz: did not receive HSTS header e-wishlist.net: could not connect to host e024.org: could not connect to host +e1488.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] e191.com: could not connect to host e30gruppe.com: did not receive HSTS header e3amn2l.com: could not connect to host @@ -4586,6 +5093,12 @@ e3kids.com: did not receive HSTS header e3q.de: could not connect to host e505.net: could not connect to host e51888.com: did not receive HSTS header +e52888.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +e52888.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +e53888.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +e53888.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +e59888.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +e59888.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] eagle-aluminum.com: did not receive HSTS header eagle-yard.de: could not connect to host eagleridgecampground.com: could not connect to host @@ -4596,7 +5109,9 @@ earlybirdsnacks.com: could not connect to host earth-people.org: could not connect to host earthrise16.com: could not connect to host easew.com: could not connect to host +eason-yang.com: could not connect to host east-line.su: could not connect to host +eastcoastbubbleandbounce.co.uk: could not connect to host eastcoastinflatables.co.uk: did not receive HSTS header easthokkaido-5airport.jp: did not receive HSTS header eastmidlandsstargazers.org.uk: did not receive HSTS header @@ -4604,9 +5119,11 @@ eastmontgroup.com: did not receive HSTS header eastpeoria-il.gov: could not connect to host easy-factures.fr: could not connect to host easychiller.org: could not connect to host +easycontentplan.com: could not connect to host easykonto.de: could not connect to host easyplane.it: did not receive HSTS header easyreal.ru: could not connect to host +easyschools.org: did not receive HSTS header easysimplecrm.com: could not connect to host eat-mine.ml: could not connect to host eat-the-world.ch: could not connect to host @@ -4625,28 +5142,31 @@ ebolsa.com.br: did not receive HSTS header ebolsas.com.br: did not receive HSTS header ebooksgratuits.org: could not connect to host ebop.ch: could not connect to host -ebp2p.com: did not receive HSTS header +ebp2p.com: could not connect to host ebraph.com: could not connect to host ebrowz.com: could not connect to host -ecake.in: could not connect to host +ec-baran.de: could not connect to host +ecake.in: did not receive HSTS header ecc-kaufbeuren.de: could not connect to host eccux.com: could not connect to host ecelembrou.ovh: could not connect to host ecfs.link: could not connect to host ecg.fr: could not connect to host echipstore.com: did not receive HSTS header -echo.cc: could not connect to host echoactive.com: max-age too low: 7776000 echomanchester.net: could not connect to host eckro.com: could not connect to host -ecodigital.social: could not connect to host +eco-wiki.com: could not connect to host +ecobrain.be: max-age too low: 0 ecole-en-danger.fr: could not connect to host ecole-iaf.fr: could not connect to host ecole-maternelle-saint-joseph.be: could not connect to host ecolesrec.ch: did not receive HSTS header ecology-21.ru: did not receive HSTS header ecomlane.com: could not connect to host +ecommercestore.net.br: could not connect to host ecomparemo.com: did not receive HSTS header +ecompen.co.za: could not connect to host econativa.pt: could not connect to host economy.st: did not receive HSTS header economycarrentalscyprus.com: could not connect to host @@ -4671,11 +5191,9 @@ edgecustomersportal.com: could not connect to host edgereinvent.com: did not receive HSTS header edh.email: 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 edisonchee.com: did not receive HSTS header edissecurity.sk: did not receive HSTS header -edition-pommern.com: did not receive HSTS header +edition-pommern.com: max-age too low: 86400 editoraacademiacrista.com.br: could not connect to host edix.ru: could not connect to host edk.com.tr: did not receive HSTS header @@ -4695,7 +5213,6 @@ eduvance.in: did not receive HSTS header ee-terminals.com: could not connect to host eeb98.com: could not connect to host eeetrust.org: could not connect to host -eelsden.net: could not connect to host eenekorea.com: could not connect to host 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 @@ -4721,17 +5238,20 @@ eftcorp.biz: did not receive HSTS header egfl.org.uk: did not receive HSTS header egge.com: max-age too low: 0 egit.co: could not connect to host -ego-world.org: did not receive HSTS header +eglek.com: could not connect to host +ego-world.org: could not connect to host egupova.ru: did not receive HSTS header +ehcommerce.com: did not receive HSTS header ehealthcounselor.com: could not connect to host ehipaadev.com: could not connect to host ehito.ovh: could not connect to host +ehr.gov: could not connect to host ehrenamt-skpfcw.de: could not connect to host ehrlichesbier.de: could not connect to host +ehseller.com: did not receive HSTS header ehuber.info: could not connect to host eicfood.com: could not connect to host eidolonhost.com: did not receive HSTS header -eifelindex.de: did not receive HSTS header eiga-movie.com: max-age too low: 0 eigenbubi.de: could not connect to host eightyfour.ca: could not connect to host @@ -4761,8 +5281,11 @@ elanguest.ru: could not connect to host elaxy-online.de: could not connect to host elbaal.gov: did not receive HSTS header elblein.de: did not receive HSTS header +elblogdegoyo.mx: max-age too low: 2592000 elbohlyart.com: did not receive HSTS header +eldevo.com: could not connect to host eldietista.es: could not connect to host +eldisagjapi.de: could not connect to host elearningpilot.com: did not receive HSTS header electicofficial.com: did not receive HSTS header electricalcontrolpanels.co.uk: could not connect to host @@ -4770,7 +5293,9 @@ electricant.com: did not receive HSTS header electricant.nl: did not receive HSTS header electriccitysf.com: could not connect to host electrician-umhlanga.co.za: did not receive HSTS header +electrician-umhlangaridge.co.za: did not receive HSTS header electricianforum.co.uk: did not receive HSTS header +electricianlalucia.co.za: did not receive HSTS header electricianumhlangarocks.co.za: did not receive HSTS header electricoperaduo.com: did not receive HSTS header electromc.com: could not connect to host @@ -4781,22 +5306,20 @@ elementalict.com: did not receive HSTS header elementalrobotics.com: could not connect to host elemenx.com: did not receive HSTS header elemprendedor.com.ve: could not connect to host -elena-baykova.ru: could not connect to host elenag.ga: could not connect to host elenagherta.ga: could not connect to host elenoon.ir: max-age too low: 1 elenorsmadness.org: could not connect to host eleonorengland.com: did not receive HSTS header elestanteliterario.com: did not receive HSTS header -eletesstilus.hu: could not connect to host elevateandprosper.com: could not connect to host -elgacien.de: did not receive HSTS header +elgacien.de: could not connect to host elguillatun.cl: did not receive HSTS header elhall.pro: did not receive HSTS header elhall.ru: did not receive HSTS header -elias-nicolas.com: could not connect to host eliasojala.me: did not receive HSTS header elimdengelen.com: did not receive HSTS header +eline168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] eliott.be: could not connect to host elistor6100.xyz: did not receive HSTS header elite-box.com: did not receive HSTS header @@ -4804,7 +5327,7 @@ elite-box.org: did not receive HSTS header elite-porno.ru: could not connect to host elitecovering.fr: did not receive HSTS header elitefishtank.com: could not connect to host -elitesensual.com.br: could not connect to host +elitesensual.com.br: did not receive HSTS header elizeugomes.com.br: did not receive HSTS header ellen-skye.de: max-age too low: 604800 elliff.net: did not receive HSTS header @@ -4816,11 +5339,14 @@ elnutricionista.es: could not connect to host elo.fyi: could not connect to host elohna.ch: did not receive HSTS header elonbase.com: could not connect to host +elonm.ru: could not connect to host +eloxt.com: could not connect to host elpay.kz: did not receive HSTS header elpo.xyz: could not connect to host elsamakhin.com: could not connect to host elsemanario.com: did not receive HSTS header elsensohn.ch: did not receive HSTS header +elsignificadodesonar.com: did not receive HSTS header elsitar.com: could not connect to host elsword.moe: could not connect to host eltransportquevolem.org: could not connect to host @@ -4838,7 +5364,7 @@ embellir-aroma.com: could not connect to host embellir-kyujin.com: could not connect to host embracethedarkness.co.uk: could not connect to host embroidered-stuff.com: could not connect to host -embudospro.net: did not receive HSTS header +embudospro.net: could not connect to host emeldi-commerce.com: max-age too low: 0 emergencyessay.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] emergencymedicinefoundations.com: did not receive HSTS header @@ -4855,7 +5381,7 @@ emma-o.com: could not connect to host emmable.com: could not connect to host emmaliddell.com: did not receive HSTS header emmanuelle-et-julien.ch: could not connect to host -emmdy.com: did not receive HSTS header +emmdy.com: could not connect to host emmehair.com: could not connect to host emnitech.com: could not connect to host emojiengine.com: did not receive HSTS header @@ -4874,19 +5400,23 @@ emupedia.net: did not receive HSTS header emyself.info: could not connect to host emyself.org: did not receive HSTS header en4u.org: could not connect to host +enaah.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] enaia.fr: did not receive HSTS header encadrer-mon-enfant.com: did not receive HSTS header encode.space: could not connect to host encode.uk.com: did not receive HSTS header encoder.pw: could not connect to host encoderx.uk: could not connect to host -encontrebarato.com.br: did not receive HSTS header +encontrebarato.com.br: could not connect to host +encore.io: could not connect to host encrypted.google.com: did not receive HSTS header (error ignored - included regardless) encryptedaudience.com: could not connect to host encryptio.com: could not connect to host end.pp.ua: could not connect to host endangeredwatch.com: could not connect to host +ende-x.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] endlessdark.net: max-age too low: 600 +endlessdiy.ca: could not connect to host endlesshorizon.net: could not connect to host endlesstone.com: did not receive HSTS header endofinternet.goip.de: could not connect to host @@ -4900,24 +5430,28 @@ enecoshop.nl: did not receive HSTS header enefan.jp: could not connect to host enelacto.com: did not receive HSTS header energethik-tulln.at: did not receive HSTS header +energisammenslutningen.dk: could not connect to host +energy.eu: did not receive HSTS header enersaveapp.org: could not connect to host enersec.co.uk: could not connect to host enfoqueseguro.com: did not receive HSTS header +engineowning.com: did not receive HSTS header enginx.cn: could not connect to host +enginx.net: could not connect to host englerts.de: did not receive HSTS header englishclub.com: did not receive HSTS header englishdirectory.de: could not connect to host englishyamal.ru: did not receive HSTS header enigmacpt.com: did not receive HSTS header enigmail.net: did not receive HSTS header +enixgaming.com: could not connect to host enjen.net: did not receive HSTS header enjoymayfield.com: max-age too low: 0 enjoystudio.ro: did not receive HSTS header enlatte.com: could not connect to host -enlazaresbueno.cl: did not receive HSTS header +enlazaresbueno.cl: could not connect to host enlightened.si: did not receive HSTS header enoou.com: could not connect to host -enord.fr: did not receive HSTS header enpalmademallorca.info: could not connect to host ensemble-vos-idees.fr: could not connect to host enskat.de: could not connect to host @@ -4928,7 +5462,7 @@ enteente.com: could not connect to host enteente.space: could not connect to host enteente.xyz: could not connect to host enterdev.co: did not receive HSTS header -enterprisecarclub.co.uk: did not receive HSTS header +enterprisecarclub.co.uk: could not connect to host enterprisechannel.asia: did not receive HSTS header enterprivacy.com: did not receive HSTS header entheorie.net: did not receive HSTS header @@ -4940,13 +5474,17 @@ envelope.co.nz: could not connect to host enviam.de: did not receive HSTS header enviapresentes.com.br: could not connect to host environment.ai: could not connect to host +envoutement-desenvoutement.com: did not receive HSTS header envoyglobal.com: did not receive HSTS header envoyworld.com: did not receive HSTS header -envygeeks.com: could not connect to host +envygeeks.com: did not receive HSTS header +envygeeks.io: did not receive HSTS header eol34.com: could not connect to host eoldb.org: could not connect to host eolme.ml: could not connect to host eonet.cc: did not receive HSTS header +eos-classic.io: could not connect to host +eosol.services: could not connect to host eosol.zone: could not connect to host epanurse.com: could not connect to host epave.paris: could not connect to host @@ -4954,10 +5492,10 @@ epaygateway.net: could not connect to host ephe.be: could not connect to host ephry.com: could not connect to host epicmc.games: could not connect to host -epitesz.co: did not receive HSTS header +epicsoft.de: could not connect to host eposcloud.net: could not connect to host eposmidlands.co.uk: could not connect to host -eposnewport.co.uk: could not connect to host +eposnewport.co.uk: did not receive HSTS header eposnottingham.co.uk: could not connect to host eposreading.co.uk: could not connect to host eposreview.co.uk: could not connect to host @@ -4966,7 +5504,9 @@ epossussex.co.uk: could not connect to host eposwales.co.uk: could not connect to host epoxate.com: could not connect to host eprofitacademy.com: did not receive HSTS header +epsorting.cz: did not receive HSTS header epulsar.ru: max-age too low: 604800 +epvin.com: could not connect to host eq8.net.au: could not connect to host eqib.nl: did not receive HSTS header eqim.me: could not connect to host @@ -4976,77 +5516,159 @@ equalparts.eu: could not connect to host equate.net.au: did not receive HSTS header equatetechnologies.com.au: did not receive HSTS header equilibre-yoga-jennifer-will.com: could not connect to host +equilime.com: did not receive HSTS header equippers.de: did not receive HSTS header equipsupply.com: did not receive HSTS header equitee.co: did not receive HSTS header equityflows.com: did not receive HSTS header er-music.com: could not connect to host erad.fr: could not connect to host +erasmo.info: could not connect to host erawanarifnugroho.com: did not receive HSTS header erclab.kr: could not connect to host erecciontotalal100.com: could not connect to host +erectiepillenwinkel.nl: could not connect to host erepublik-deutschland.de: did not receive HSTS header eressea.xyz: could not connect to host ericbond.net: could not connect to host erichalv.com: could not connect to host ericloud.tk: could not connect to host ericorporation.com: did not receive HSTS header -ericyl.com: did not receive HSTS header +ericyl.com: could not connect to host eriel.com.br: could not connect to host erikwagner.de: did not receive HSTS header erinlin.com: did not receive HSTS header eriser.fr: did not receive HSTS header +ernaehrungsberatung-rapperswil.ch: did not receive HSTS header ernaehrungsberatung-zurich.ch: could not connect to host ernesto.at: could not connect to host eroimatome.com: could not connect to host +eroma.com.au: did not receive HSTS header eromixx.com: could not connect to host eromon.net: could not connect to host -eroskines.com: did not receive HSTS header erotalia.es: could not connect to host erotic4me.ch: did not receive HSTS header erotische-aanbiedingen.nl: could not connect to host erotpo.cz: could not connect to host +erpiv.com: could not connect to host errolz.com: did not receive HSTS header errors.zenpayroll.com: could not connect to host erspro.net: could not connect to host -eru.me: did not receive HSTS header -ervaarjapan.nl: did not receive HSTS header -erverydown.ml: could not connect to host +eruvalerts.com: did not receive HSTS header +erwinvanlonden.net: did not receive HSTS header +es888.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] es8888.net: could not connect to host es888999.com: could not connect to host -esafar.cz: did not receive HSTS header +es999.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +es9999.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb-top.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb-top.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb111.com: could not connect to host esb111.net: could not connect to host esb112.com: could not connect to host esb112.net: could not connect to host +esb116.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb1314.net: could not connect to host esb1668.com: could not connect to host +esb168168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb168168.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb168168.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb168168.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1688.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1688.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1688.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1688.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1688.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb16888.com: could not connect to host +esb1711.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1711.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1788.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1788.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1788.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb1788.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb17888.com: could not connect to host +esb2013.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb2013.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb2099.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb2099.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb222.net: could not connect to host +esb258.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb325.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb325.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb333.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb336.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb369.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb433.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb518.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb553.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb555.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb555.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb555.com: could not connect to host esb556.com: could not connect to host +esb5889.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb5889.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb6.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb666.com: could not connect to host esb666.net: could not connect to host esb66666.com: could not connect to host +esb677.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb688.com: could not connect to host esb68888.com: could not connect to host +esb775.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb777.biz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb777.cc: could not connect to host esb777.com: could not connect to host +esb777.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb777.net: could not connect to host +esb777.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb777.us: could not connect to host +esb886.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb888.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb8886.com: could not connect to host -esb9588.info: did not receive HSTS header +esb9527.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb9588.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb9588.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esb9588.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb999.biz: could not connect to host esb999.com: could not connect to host esb999.info: could not connect to host +esb999.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esb999.us: could not connect to host esba11.cc: could not connect to host +esba11.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esba11.in: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esba11.net: could not connect to host esba11.us: could not connect to host +esball-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.bz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esball.in: could not connect to host +esball.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.mx: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.online: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.tv: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.win: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball.ws: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball518.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball518.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball518.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esball518.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esball888.com: could not connect to host esball888.net: could not connect to host +esballs.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbbon.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbbon.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbfun.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbfun.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbgood.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbin.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbjon.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbjon.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbm4.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esbm5.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esbuilders.co.nz: did not receive HSTS header escalate.eu: could not connect to host escapees.com: did not receive HSTS header @@ -5054,7 +5676,7 @@ escolaengenharia.com.br: did not receive HSTS header escort-byuro.net: could not connect to host escort-fashion.com: could not connect to host escortdisplay.com: could not connect to host -escortshotsexy.com: could not connect to host +escortshotsexy.com: did not receive HSTS header escotour.com: did not receive HSTS header escueladewordpress.com: did not receive HSTS header esec.rs: did not receive HSTS header @@ -5065,6 +5687,8 @@ eshobe.com: did not receive HSTS header eshtapay.com: could not connect to host esko.bar: could not connect to host esln.org: did not receive HSTS header +esmoney.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +esmoney.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] esn-ypci.com: did not receive HSTS header esocweb.com: could not connect to host esoterik.link: could not connect to host @@ -5095,8 +5719,7 @@ esseriumani.com: could not connect to host essexghosthunters.co.uk: did not receive HSTS header essplusmed.org: could not connect to host estaciona.guru: could not connect to host -estaleiro.org: could not connect to host -estan.cn: could not connect to host +estan.cn: did not receive HSTS header estebanborges.com: did not receive HSTS header estespr.com: did not receive HSTS header estetistarimini.it: did not receive HSTS header @@ -5107,11 +5730,12 @@ estudio21pattern.com: could not connect to host estudioamazonico.com: could not connect to host et-buchholz.de: could not connect to host et180.com: could not connect to host +etalent.net: did not receive HSTS header etangs-magazine.com: could not connect to host etaoinwu.tk: could not connect to host etdonline.co.uk: did not receive HSTS header eteapparel.com: did not receive HSTS header -etenendrinken.nu: could not connect to host +etenendrinken.nu: did not receive HSTS header eternalsymbols.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] eternitylove.us: could not connect to host eth9.net: could not connect to host @@ -5120,8 +5744,9 @@ ethanfaust.com: did not receive HSTS header ethanlew.is: could not connect to host ethantskinner.com: did not receive HSTS header ether.school: could not connect to host +etherderbies.com: could not connect to host etheria-software.tk: did not receive HSTS header -ethicalexploiting.com: did not receive HSTS header +ethicalexploiting.com: could not connect to host ethicall.org.uk: did not receive HSTS header ethicaltek.com: could not connect to host ethil-faer.fr: could not connect to host @@ -5134,14 +5759,13 @@ etmirror.xyz: could not connect to host etoto.pl: did not receive HSTS header etproxy.tech: could not connect to host ets2mp.de: did not receive HSTS header -etskinner.com: did not receive HSTS header etsysecure.com: could not connect to host ettebiz.com: max-age too low: 0 -etula.ga: could not connect to host +etula.ga: did not receive HSTS header etula.me: could not connect to host etys.no: did not receive HSTS header euanbaines.com: did not receive HSTS header -eucl3d.com: did not receive HSTS header +eucl3d.com: could not connect to host euclideanpostulates.xyz: could not connect to host eucollegetours.com: could not connect to host euexia.fr: could not connect to host @@ -5156,15 +5780,28 @@ eupho.me: could not connect to host eupresidency2018.com: could not connect to host euren.se: could not connect to host eurocamping.se: could not connect to host +eurocomcompany.cz: could not connect to host euroescortguide.com: could not connect to host +europapier.at: did not receive HSTS header +europapier.ba: did not receive HSTS header +europapier.bg: did not receive HSTS header +europapier.com: did not receive HSTS header +europapier.cz: did not receive HSTS header +europapier.hr: did not receive HSTS header +europapier.rs: did not receive HSTS header +europapier.si: did not receive HSTS header europapier.ua: did not receive HSTS header +europeanpreppers.com: could not connect to host euroservice.com.gr: did not receive HSTS header euroshop24.net: could not connect to host eurospecautowerks.com: did not receive HSTS header eurostrategy.vn.ua: could not connect to host +euvo.tk: could not connect to host +evades.io: did not receive HSTS header evangelosm.com: could not connect to host evanhandgraaf.nl: did not receive HSTS header evankurniawan.com: did not receive HSTS header +evanreev.es: could not connect to host evansville-wy.gov: could not connect to host evantage.org: could not connect to host evasion-energie.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -5178,8 +5815,6 @@ eventmake.es: could not connect to host eventplace.me: did not receive HSTS header events12.com: did not receive HSTS header eventsafrica.net: did not receive HSTS header -everain.me: could not connect to host -everitoken.io: did not receive HSTS header everyarti.st: could not connect to host everybooks.com: could not connect to host everydaytherich.com: max-age too low: 7776000 @@ -5192,6 +5827,8 @@ eveseat.net: could not connect to host eveshaiwu.com: could not connect to host evi.be: did not receive HSTS header evilbeasts.ru: could not connect to host +evilcult.me: did not receive HSTS header +evileden.com: could not connect to host evilnerd.de: did not receive HSTS header evilness.nl: could not connect to host evilsay.com: could not connect to host @@ -5202,55 +5839,54 @@ evites.me: could not connect to host evoludis.net: did not receive HSTS header evolutionexpeditions.com: did not receive HSTS header evomon.com: could not connect to host +evonews.com: did not receive HSTS header evossd.tk: could not connect to host evowl.com: could not connect to host ewallet-optimizer.com: did not receive HSTS header ewex.org: could not connect to host eworksmedia.com: could not connect to host +ewuchuan.com: could not connect to host exampleessays.com: could not connect to host +examplesu.com: could not connect to host excelgum.ca: did not receive HSTS header -exceltobarcode.com: could not connect to host exceptionalbits.com: could not connect to host exceptionalservices.us: could not connect to host exchangecoordinator.com: could not connect to host exchangeworks.co: did not receive HSTS header -exebouncycastles.co.uk: could not connect to host +exclusivedesignz.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +exebouncycastles.co.uk: did not receive HSTS header exembit.com: did not receive HSTS header -exfiles.cz: did not receive HSTS header +exfiles.cz: could not connect to host exgaywatch.com: could not connect to host exgravitus.com: could not connect to host exno.co: could not connect to host -exnovin.co: max-age too low: 0 -exo.do: max-age too low: 0 +exnovin.co: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] exocen.com: could not connect to host exoticads.com: could not connect to host exousiakaidunamis.xyz: could not connect to host -expancio.com: max-age too low: 0 -expanddigital.media: did not receive HSTS header expatads.com: could not connect to host expatriate.pl: did not receive HSTS header expecting.com.br: could not connect to host experticon.com: did not receive HSTS header expertmile.com: did not receive HSTS header +experts-en-gestion.fr: did not receive HSTS header explodingcamera.com: did not receive HSTS header -exploit-db.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] expo-designers.com: did not receive HSTS header -expokohler.com: could not connect to host +expokohler.com: did not receive HSTS header expoort.com.br: could not connect to host +exporo.de: did not receive HSTS header expoundite.net: did not receive HSTS header expowerhps.com: did not receive HSTS header expressfinance.co.za: did not receive HSTS header -extendwings.com: could not connect to host exteriorservices.io: could not connect to host -extramoney.cash: did not receive HSTS header +extramoney.cash: could not connect to host extrathemeshowcase.net: could not connect to host extratorrent.cool: did not receive HSTS header -extratorrent.fyi: max-age too low: 0 -extratorrent.red: max-age too low: 0 +extratorrent.fyi: could not connect to host +extratorrent.red: could not connect to host extratorrent.world: could not connect to host extratorrentlive.xyz: could not connect to host extratorrents.tech: could not connect to host -extreemhost.nl: did not receive HSTS header extremenetworking.net: could not connect to host extremeservicesandrestoration.com: could not connect to host exy.pw: could not connect to host @@ -5258,14 +5894,15 @@ eyasc.nl: did not receive HSTS header eyedarts.com: did not receive HSTS header eyeglassuniverse.com: did not receive HSTS header eyenote.gov: 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 eytosh.net: could not connect to host ez.fi: could not connect to host -ezgamble.com: could not connect to host +ezgamble.com: did not receive HSTS header ezimoeko.net: could not connect to host ezmod.org: could not connect to host +eznfe.com: could not connect to host ezorgportaal.nl: could not connect to host ezrefurb.co.uk: did not receive HSTS header eztv.ch: did not receive HSTS header @@ -5273,7 +5910,6 @@ f-rickroll-g.pw: could not connect to host f-s-u.co.uk: could not connect to host f00.ca: did not receive HSTS header f1bigpicture.com: could not connect to host -f2e.io: could not connect to host f2f.cash: could not connect to host f42.net: could not connect to host f5movies.top: could not connect to host @@ -5288,7 +5924,6 @@ fabianfischer.de: did not receive HSTS header fabianmunoz.com: did not receive HSTS header fabienbaker.com: could not connect to host fabled.com: did not receive HSTS header -fabmart.com: max-age too low: 7889238 fabriko.fr: did not receive HSTS header fabriziorocca.com: could not connect to host fabulouslyyouthfulskin.com: could not connect to host @@ -5301,12 +5936,13 @@ facepunch.org: could not connect to host facesnf.com: could not connect to host fachschaft-informatik.de: did not receive HSTS header facilitrak.com: could not connect to host -factor.cc: did not receive HSTS header factorable.net: did not receive HSTS header +factoringsolutions.co.uk: did not receive HSTS header factorygw.com: did not receive HSTS header factorypartsdirect.com: could not connect to host factureenlinea.com: could not connect to host fadednet.com: could not connect to host +fadeev.legal: did not receive HSTS header fadilus.com: did not receive HSTS header fads-center.online: could not connect to host faeriecakes.be: could not connect to host @@ -5323,8 +5959,8 @@ faizan.net: did not receive HSTS header faizan.xyz: did not receive HSTS header fakeletters.org: could not connect to host faktura.pl: did not receive HSTS header +falaland.com: did not receive HSTS header falcibiosystems.org: did not receive HSTS header -falconfrag.com: could not connect to host falconwiz.com: did not receive HSTS header falkp.no: did not receive HSTS header falkus.net: could not connect to host @@ -5339,17 +5975,20 @@ famep.gov: could not connect to host famer.me: could not connect to host fameuxhosting.co.uk: could not connect to host familie-sander.rocks: max-age too low: 600 -familie-sprink.de: could not connect to host +familie-sprink.de: did not receive HSTS header familie-zimmermann.at: could not connect to host +familiegrottendieck.de: max-age too low: 7776000 familletouret.fr: did not receive HSTS header famio.cn: did not receive HSTS header -fanflow.com: did not receive HSTS header +fanflow.com: could not connect to host fansmade.art: could not connect to host fant.dk: did not receive HSTS header fantasticgardenersmelbourne.com.au: did not receive HSTS header fantasticpestcontrolmelbourne.com.au: did not receive HSTS header fantasyfootballpundit.com: did not receive HSTS header +fantasyprojections.com: could not connect to host fanyl.cn: could not connect to host +fap.no: could not connect to host faq.lookout.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] faraonplay5.com: could not connect to host faraonplay7.com: could not connect to host @@ -5362,6 +6001,7 @@ farm24.co.uk: could not connect to host farmacia.pt: did not receive HSTS header farmaciaformula.com.br: could not connect to host farmaciamedicom.com.br: could not connect to host +farmmaximizer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] fashion.net: did not receive HSTS header fashioncare.cz: did not receive HSTS header fashiondays.bg: max-age too low: 0 @@ -5373,10 +6013,12 @@ fasset.jp: could not connect to host fastaim.de: could not connect to host fastbackmbg.be: could not connect to host fastbackmbm.be: could not connect to host -fastcomcorp.com: did not receive HSTS header fastcomcorp.net: did not receive HSTS header +fastconfirm.com: could not connect to host +fastforwardsociety.nl: could not connect to host fastograph.com: could not connect to host fastopen.ml: could not connect to host +fastwebsites.com.br: did not receive HSTS header fastworx.com: did not receive HSTS header fatdoge.cn: did not receive HSTS header fatgeekflix.net: could not connect to host @@ -5390,9 +6032,10 @@ fatzebra.com.au: max-age too low: 0 favorit.club: did not receive HSTS header fawkex.me: could not connect to host faxreader.net: could not connect to host +fayntic.com: could not connect to host fayolle.info: did not receive HSTS header -fbf.gov: could not connect to host -fbi.pw: could not connect to host +fbf.gov: did not receive HSTS header +fbi.pw: did not receive HSTS header fbook.top: could not connect to host fbox.li: could not connect to host fcapartsdb.com: could not connect to host @@ -5402,7 +6045,8 @@ fdj.im: could not connect to host fdm.ro: did not receive HSTS header fdt.name: did not receive HSTS header feard.space: could not connect to host -fed51.com: did not receive HSTS header +fecik.sk: did not receive HSTS header +fed51.com: could not connect to host fedbizopps.gov: could not connect to host fedemo.top: did not receive HSTS header federalregister.gov: did not receive HSTS header @@ -5411,19 +6055,23 @@ fedo.moe: could not connect to host feedstringer.com: could not connect to host feedthebot.com: did not receive HSTS header feegg.com.br: could not connect to host +feeriedesign-event.com: could not connect to host fefore.com: did not receive HSTS header fegans.org.uk: did not receive HSTS header feirlane.org: could not connect to host -feisbed.com: could not connect to host feist.io: could not connect to host feitobrasilcosmeticos.com.br: did not receive HSTS header felger-times.fr: could not connect to host +felgitscher.xyz: max-age too low: 2592000 +felisslovakia.sk: did not receive HSTS header feliwyn.fr: did not receive HSTS header felixhefner.de: did not receive HSTS header felixrr.pro: could not connect to host femaledom.xyz: could not connect to host femdombbw.com: could not connect to host feminists.co: could not connect to host +feng-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +feng-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] fengyadi.com: could not connect to host fenixhost.com.br: could not connect to host fenno.net: could not connect to host @@ -5438,7 +6086,7 @@ fernangp.com: could not connect to host fernseher-kauf.de: could not connect to host ferrolatino.com: could not connect to host feschiyan.com: could not connect to host -festember.com: did not receive HSTS header +festember.com: could not connect to host festival.house: did not receive HSTS header festivalxdentro.com: did not receive HSTS header festrip.com: could not connect to host @@ -5452,11 +6100,13 @@ fexmen.com: did not receive HSTS header ff-bg.xyz: could not connect to host ffh.me: could not connect to host ffl123.com: did not receive HSTS header +ffsociety.nl: could not connect to host fgequipamentos.com.br: did not receive HSTS header +fhg90.com: could not connect to host fhsseniormens.club: could not connect to host fi-sanki.co.jp: could not connect to host fibrasynormasdecolombia.com: did not receive HSTS header -ficklenote.net: could not connect to host +ficklenote.net: did not receive HSTS header fics-twosigma.com: could not connect to host fid.to: could not connect to host fidel.uk: did not receive HSTS header @@ -5488,6 +6138,7 @@ filey.co.uk: did not receive HSTS header filhomes.ph: could not connect to host fillitupchallenge.eu: did not receive HSTS header fillmysuitca.se: did not receive HSTS header +film-storyboards.com: did not receive HSTS header film.photography: did not receive HSTS header film.photos: did not receive HSTS header filmatiporno.xxx: could not connect to host @@ -5495,12 +6146,13 @@ filme-online.eu.com: did not receive HSTS header filmesubtitrate2017.online: could not connect to host filo.xyz: did not receive HSTS header filoitoupediou.gr: did not receive HSTS header -filterflasche-kaufen.de: could not connect to host +filterflasche-kaufen.de: did not receive HSTS header finalgear.com: could not connect to host finalvpn.com: did not receive HSTS header financier.io: did not receive HSTS header financieringsportaal.nl: did not receive HSTS header finanzkontor.net: could not connect to host +find-your-happy-place.de: did not receive HSTS header findigo.fish: could not connect to host findingmyname.com: max-age too low: 2629746 findmybottleshop.com.au: could not connect to host @@ -5512,6 +6164,7 @@ finewineonline.com: could not connect to host fingent.com: did not receive HSTS header fingerscrossed.style: could not connect to host finiteheap.com: did not receive HSTS header +finkenberger.org: did not receive HSTS header finstererlebnis.de: could not connect to host finsterlebnis.de: did not receive HSTS header fiodental.com.br: did not receive HSTS header @@ -5522,14 +6175,15 @@ firebaseio-demo.com: could not connect to host firebaseio.com: could not connect to host (error ignored - included regardless) firebird.io: did not receive HSTS header firefall.rocks: could not connect to host -firehost.com: could not connect to host +firehost.com: did not receive HSTS header fireinthedeep.com: could not connect to host +firekoi.com: did not receive HSTS header firemail.io: could not connect to host fireorbit.de: did not receive HSTS header firepeak.ru: could not connect to host fireworkcoaching.com: did not receive HSTS header firexarxa.de: could not connect to host -firmament.space: could not connect to host +firmale.com: could not connect to host firmenverzeichnis.nu: could not connect to host first-time-offender.com: could not connect to host firstchoicepool.com: did not receive HSTS header @@ -5537,6 +6191,7 @@ firstdogonthemoon.com.au: did not receive HSTS header firstforex.co.uk: did not receive HSTS header firstlook.org: did not receive HSTS header fiscoeconti.it: did not receive HSTS header +fishfinders.info: did not receive HSTS header fiskestang.com: did not receive HSTS header fit4medien.de: did not receive HSTS header fitbylo.com: could not connect to host @@ -5550,6 +6205,7 @@ fitshop.com.br: could not connect to host fitsw.com: did not receive HSTS header fiuxy.org: could not connect to host five.vn: did not receive HSTS header +fiveboosts.xyz: could not connect to host fivestarsitters.com: did not receive HSTS header fivestepfunnels.com: could not connect to host fivezerocreative.com: did not receive HSTS header @@ -5577,7 +6233,8 @@ 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 -flagfic.com: could not connect to host +flacandmp3.ml: could not connect to host +flagfic.com: did not receive HSTS header flags.ninja: could not connect to host flair.co: max-age too low: 7889238 flairbros.at: could not connect to host @@ -5599,42 +6256,47 @@ flemingtonaudiparts.com: could not connect to host fleurette.me: could not connect to host fleursdesoleil.fr: did not receive HSTS header flexdrukker.nl: could not connect to host +fleximaal.com: could not connect to host flexinvesting.fi: could not connect to host +flextribly.xyz: could not connect to host fliexer.com: could not connect to host flightschoolusa.com: did not receive HSTS header flikmsg.co: could not connect to host fling.dating: could not connect to host flipagram.com: did not receive HSTS header -flipbell.com: could not connect to host +flipbell.com: did not receive HSTS header flipkey.com: did not receive HSTS header flirchi.com: did not receive HSTS header flirtycourts.com: did not receive HSTS header -flixports.com: did not receive HSTS header +flixhaven.net: could not connect to host flixtor.net: could not connect to host flkrpxl.com: max-age too low: 86400 -floj.tech: did not receive HSTS header flood.io: did not receive HSTS header floorball-haunwoehr.de: did not receive HSTS header flopy.club: could not connect to host florafiora.com.br: did not receive HSTS header -florian-lillpopp.de: max-age too low: 10 +florian-lillpopp.de: did not receive HSTS header florian-schlachter.de: did not receive HSTS header -florianlillpopp.de: max-age too low: 10 +florianlillpopp.de: did not receive HSTS header floridaderi.ru: did not receive HSTS header floridaescapes.co.uk: did not receive HSTS header florinapp.com: could not connect to host florispoort.nl: did not receive HSTS header floro.me: did not receive HSTS header +floseed.fr: could not connect to host flosserver.de: could not connect to host floth.at: could not connect to host flouartistique.ch: could not connect to host flow.pe: could not connect to host +flowcount.xyz: could not connect to host flowerandplant.org: did not receive HSTS header flowersandclouds.com: could not connect to host floweslawncare.com: could not connect to host flowlo.me: could not connect to host flox.io: could not connect to host -floydm.com: could not connect to host +floydm.com: did not receive HSTS header +flucto.com: did not receive HSTS header +flue-ducting.co.uk: did not receive HSTS header flugplatz-edvc.de: could not connect to host flugsportvereinigungcelle.de: did not receive HSTS header flugstadplasticsurgery.com: did not receive HSTS header @@ -5649,12 +6311,13 @@ flygpost.com: did not receive HSTS header flyingdoggy.net: could not connect to host flyingspaghettimonsterdonationsfund.nl: could not connect to host flyingyoung.top: could not connect to host -flyp.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] flyspace.ga: did not receive HSTS header flyspace.ml: did not receive HSTS header flyss.net: could not connect to host fm83.nl: could not connect to host fm992.com: could not connect to host +fmapplication.com: could not connect to host +fmi.gov: did not receive HSTS header fmovies.fyi: did not receive HSTS header fmovies.life: could not connect to host fnfpt.co.uk: could not connect to host @@ -5667,9 +6330,11 @@ foerster-kunststoff.de: could not connect to host fognini-depablo.eu: could not connect to host fohome.ca: could not connect to host fokan.ch: did not receive HSTS header +fol.tf: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] foliekonsulenten.dk: did not receive HSTS header folioapp.io: could not connect to host folkfests.org: did not receive HSTS header +folwarkwiazy.pl: could not connect to host fondanastasia.ru: did not receive HSTS header fondy.ru: did not receive HSTS header foneo.com: could not connect to host @@ -5677,8 +6342,9 @@ fonetiq.io: could not connect to host fontawesome.com: did not receive HSTS header foo: could not connect to host food4health.guide: could not connect to host -foodacademy.capetown: could not connect to host +foodacademy.capetown: max-age too low: 43200 foodbuddy.ch: could not connect to host +foodcowgirls.com: could not connect to host foodiebox.no: did not receive HSTS header foodies.my: did not receive HSTS header foodievenues.com: could not connect to host @@ -5688,7 +6354,7 @@ foodserve.in: did not receive HSTS header footballmapped.com: could not connect to host footlegende.fr: did not receive HSTS header forafifty.co.za: could not connect to host -foraje-profesionale.ro: did not receive HSTS header +foraje-profesionale.ro: could not connect to host forbid.life: could not connect to host forbiddenhistory.info: could not connect to host forbook.net: did not receive HSTS header @@ -5699,21 +6365,27 @@ fordshop.by: [Exception... "Component returned failure code: 0x80004005 (NS_ERRO foreignexchangeresource.com: did not receive HSTS header forestfinance.fr: did not receive HSTS header foreveralone.io: could not connect to host +foreverssl.com: could not connect to host foreveryoung.pt: did not receive HSTS header forex-dan.com: did not receive HSTS header -forexsignals7.com: could not connect to host +forex-plus.com: did not receive HSTS header forgix.com: could not connect to host +forglemmigej.net: could not connect to host forlagetmarx.dk: did not receive HSTS header formadmin.com: did not receive HSTS header formaliteo.com: did not receive HSTS header formasdemaquillarse.com: did not receive HSTS header formazioneopen.it: could not connect to host +formbetter.com: could not connect to host formersessalaries.com: did not receive HSTS header +formkiq.com: could not connect to host formula.cf: could not connect to host forplanetsake.com: could not connect to host forplayers.pl: could not connect to host forquilhinhanoticias.com.br: did not receive HSTS header forsyththeatre.com: could not connect to host +fort.eu: did not receive HSTS header +fortknox.cz: did not receive HSTS header fortoglethorpega.gov: could not connect to host fortricks.in: did not receive HSTS header fortuna-loessnitz.de: could not connect to host @@ -5728,8 +6400,9 @@ fossewayflowers.co.uk: could not connect to host fossewayflowers.com: could not connect to host fossewaygardencentre.co.uk: did not receive HSTS header fossgruppen.se: did not receive HSTS header -fossguard.com: could not connect to host +fossguard.com: did not receive HSTS header fotiu.com: could not connect to host +foto-pro.by: did not receive HSTS header fotoallerlei.com: did not receive HSTS header fotocerita.net: could not connect to host fotogiraffe.ru: did not receive HSTS header @@ -5742,6 +6415,7 @@ fox.my: could not connect to host foxdev.io: could not connect to host foxelbox.com: did not receive HSTS header foxes.no: could not connect to host +foxhound.com.br: could not connect to host foxley-farm.co.uk: did not receive HSTS header foxley-seeds.co.uk: did not receive HSTS header foxleyseeds.co.uk: could not connect to host @@ -5749,11 +6423,12 @@ foxmay.co.uk: could not connect to host foxterrier.com.br: could not connect to host foxtrot.pw: did not receive HSTS header foxyslut.com: could not connect to host +foyale.io: could not connect to host fpki.sh: could not connect to host fr0zenbits.io: could not connect to host fr33d0m.link: could not connect to host fragilesolar.cf: could not connect to host -fragnic.com: could not connect to host +fragnic.com: did not receive HSTS header fralef.me: did not receive HSTS header francesca-and-lucas.com: did not receive HSTS header francevpn.xyz: could not connect to host @@ -5761,10 +6436,11 @@ francois-vidit.com: did not receive HSTS header frangor.info: did not receive HSTS header frankedier.com: did not receive HSTS header frankfurt-am-start.de: did not receive HSTS header -frankl.in: did not receive HSTS header franklinhua.com: could not connect to host +fransallen.com: did not receive HSTS header franta.biz: did not receive HSTS header franta.email: did not receive HSTS header +frantorregrosa.me: did not receive HSTS header franzt.de: could not connect to host franzt.ovh: could not connect to host frasesaniversarios.com.br: did not receive HSTS header @@ -5773,61 +6449,11 @@ frasys.cloud: max-age too low: 2592000 frasys.io: could not connect to host fraudempire.com: could not connect to host freakyamazing.com: could not connect to host -freakyaweso.me: max-age too low: 86400 -freakyawesome.band: could not connect to host -freakyawesome.blog: could not connect to host -freakyawesome.ca: could not connect to host -freakyawesome.club: could not connect to host -freakyawesome.co: could not connect to host -freakyawesome.co.uk: could not connect to host -freakyawesome.com: could not connect to host -freakyawesome.company: could not connect to host -freakyawesome.email: could not connect to host -freakyawesome.events: could not connect to host -freakyawesome.fashion: could not connect to host -freakyawesome.fitness: could not connect to host -freakyawesome.fm: could not connect to host -freakyawesome.fun: could not connect to host -freakyawesome.fyi: could not connect to host -freakyawesome.games: could not connect to host -freakyawesome.guide: could not connect to host -freakyawesome.guru: could not connect to host -freakyawesome.in: could not connect to host -freakyawesome.info: could not connect to host -freakyawesome.io: could not connect to host -freakyawesome.life: could not connect to host -freakyawesome.live: could not connect to host -freakyawesome.marketing: could not connect to host -freakyawesome.me: could not connect to host -freakyawesome.media: could not connect to host +freakyawesome.ca: did not receive HSTS header +freakyawesome.co.uk: did not receive HSTS header +freakyawesome.com: max-age too low: 86400 +freakyawesome.in: did not receive HSTS header freakyawesome.net: could not connect to host -freakyawesome.network: could not connect to host -freakyawesome.news: could not connect to host -freakyawesome.online: could not connect to host -freakyawesome.org: could not connect to host -freakyawesome.photography: could not connect to host -freakyawesome.photos: could not connect to host -freakyawesome.press: could not connect to host -freakyawesome.recipes: could not connect to host -freakyawesome.rentals: could not connect to host -freakyawesome.reviews: could not connect to host -freakyawesome.services: could not connect to host -freakyawesome.shop: could not connect to host -freakyawesome.site: could not connect to host -freakyawesome.social: could not connect to host -freakyawesome.software: could not connect to host -freakyawesome.solutions: could not connect to host -freakyawesome.store: could not connect to host -freakyawesome.team: could not connect to host -freakyawesome.tips: could not connect to host -freakyawesome.today: could not connect to host -freakyawesome.tours: could not connect to host -freakyawesome.tv: could not connect to host -freakyawesome.video: could not connect to host -freakyawesome.website: could not connect to host -freakyawesome.work: could not connect to host -freakyawesome.world: could not connect to host -freakyawesome.xyz: could not connect to host freakyawesomeblog.com: could not connect to host freakyawesomeio.com: could not connect to host freakyawesomemedia.com: could not connect to host @@ -5839,16 +6465,19 @@ freakyawesometeam.com: could not connect to host freakyawesometheme.com: could not connect to host freakyawesomethemes.com: could not connect to host freakyawesomewp.com: could not connect to host +frebib.me: could not connect to host freddythechick.uk: could not connect to host +frederickalcantara.com: could not connect to host fredliang.cn: could not connect to host +fredriksslekt.se: did not receive HSTS header +free-your-pc.com: could not connect to host free8.xyz: could not connect to host freeasinlliure.org: did not receive HSTS header freeassangenow.org: did not receive HSTS header freeben666.fr: could not connect to host +freebies.id: could not connect to host freeblog.me: could not connect to host freebookmakerbets.com.au: did not receive HSTS header -freebus.org: could not connect to host -freecookies.nl: did not receive HSTS header freedomrealtyoftexas.com: did not receive HSTS header freedomvote.nl: could not connect to host freeexampapers.com: could not connect to host @@ -5856,7 +6485,9 @@ freeflow.tv: could not connect to host freehao123.cn: could not connect to host freejidi.com: could not connect to host freekdevries.nl: did not receive HSTS header +freelancecollab.com: could not connect to host freelanced.co.za: could not connect to host +freelanceshipping.com: did not receive HSTS header freelandinnovation.com: did not receive HSTS header freelansir.com: could not connect to host freemanning.de: could not connect to host @@ -5865,26 +6496,25 @@ freeslots.guru: [Exception... "Component returned failure code: 0x80004005 (NS_E freesoftwaredriver.com: could not connect to host freesounding.com: did not receive HSTS header freesounding.ru: did not receive HSTS header -freesourcestl.org: did not receive HSTS header -freesquare.net: did not receive HSTS header freethought.org.au: could not connect to host freeutopia.org: did not receive HSTS header frenzel.dk: could not connect to host freqlabs.com: did not receive HSTS header freshfind.xyz: could not connect to host -freshlymind.com: did not receive HSTS header +freshkiss.com.au: did not receive HSTS header +freshmaza.com: could not connect to host freshmaza.io: did not receive HSTS header frettboard.com: did not receive HSTS header frezbo.com: could not connect to host frforms.com: did not receive HSTS header -frickelboxx.de: could not connect to host frickenate.com: could not connect to host fridaperfumaria.com.br: could not connect to host friedhelm-wolf.de: could not connect to host friendica.ch: could not connect to host friendlyfiregameshow.com: could not connect to host +friendlysiberia.com: could not connect to host +friller.com.au: did not receive HSTS header frimons.com: max-age too low: 7889238 -fringeintravel.com: did not receive HSTS header fritteli.ch: did not receive HSTS header frodriguez.xyz: could not connect to host froehlich.it: did not receive HSTS header @@ -5892,26 +6522,30 @@ froggstack.de: 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 +fromthesoutherncross.com: could not connect to host front-end.dog: could not connect to host +frontierdiscount.com: did not receive HSTS header frontisme.nl: did not receive HSTS header frontline.cloud: did not receive HSTS header frontline6.com: did not receive HSTS header frontmin.com: did not receive HSTS header frost-ci.xyz: could not connect to host -frostbytes.net: did not receive HSTS header +frostbytes.net: could not connect to host frosty-gaming.xyz: could not connect to host frp-roleplay.de: could not connect to host frprn.com: could not connect to host frprn.xxx: could not connect to host frsis2017.com: could not connect to host -fruitscale.com: could not connect to host +frugal-millennial.com: did not receive HSTS header fruitusers.com: could not connect to host frumious.fyi: could not connect to host frusky.net: could not connect to host -fs-gamenet.de: could not connect to host +fs-fitness.eu: could not connect to host +fs-gamenet.de: did not receive HSTS header fsf.moe: could not connect to host fsfi.is: could not connect to host fsinf.at: did not receive HSTS header +fsj4u.ch: did not receive HSTS header fspphoto.com: could not connect to host fsradio.eu: did not receive HSTS header fsrs.gov: could not connect to host @@ -5923,13 +6557,21 @@ ftctele.com: could not connect to host fteproxy.org: did not receive HSTS header ftgho.com: could not connect to host ftpi.ml: could not connect to host +fu-li88.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +fu-li88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +fu639.top: did not receive HSTS header fuchsy.com: could not connect to host fuckbilibili.com: could not connect to host fuckcf.cf: could not connect to host fuckgfw233.org: could not connect to host +fuckobr.com: could not connect to host +fuckobr.net: could not connect to host +fuckobr.org: could not connect to host fuckobr.ru: could not connect to host +fuckobr.su: could not connect to host fudanshi.org: could not connect to host fuelministry.com: did not receive HSTS header +fugamo.de: did not receive HSTS header fugle.de: could not connect to host fuitedeau.ch: could not connect to host fujianshipbuilding.com: could not connect to host @@ -5953,6 +6595,7 @@ fundacionfranciscofiasco.org: could not connect to host fundacionhijosdelsol.org: could not connect to host fundayltd.com: could not connect to host funderburg.me: did not receive HSTS header +funerariahogardecristo.cl: did not receive HSTS header fungame.eu: did not receive HSTS header funi4u.com: could not connect to host funideas.org: could not connect to host @@ -5961,29 +6604,30 @@ funkyweddingideas.com.au: could not connect to host funnelweb.xyz: could not connect to host funny-joke-pictures.com: did not receive HSTS header funnyang.com: could not connect to host +funoverip.net: could not connect to host funrun.com: did not receive HSTS header funtastic-event-hire.co.uk: did not receive HSTS header funtastic.ie: could not connect to host funtimebourne.co.uk: did not receive HSTS header -fuorifuocogenova.it: did not receive HSTS header +fuorifuocogenova.it: could not connect to host furi.ga: could not connect to host furiffic.com: did not receive HSTS header +furikake.xyz: could not connect to host furnation.com: could not connect to host -furnishedproperty.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] furnitureconcept.co.uk: could not connect to host furry.agency: could not connect to host furry.be: did not receive HSTS header -fursuitbutts.com: could not connect to host +furry.zone: did not receive HSTS header +furtherfood.com: did not receive HSTS header furtivelook.com: did not receive HSTS header fusedrops.com: did not receive HSTS header fusionmate.com: could not connect to host -fuskator.com: could not connect to host -fussell.io: could not connect to host futa.agency: could not connect to host futbol11.com: did not receive HSTS header -futbolvivo.tv: did not receive HSTS header +futbolvivo.tv: could not connect to host futos.de: could not connect to host futurefire.de: could not connect to host +futurefundapp.com: could not connect to host futuresonline.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] futurestarsusa.org: did not receive HSTS header futuretechnologi.es: could not connect to host @@ -5998,15 +6642,15 @@ fws.gov: did not receive HSTS header fwww7.com: could not connect to host fxgame.online: could not connect to host fxpig-ib.com: could not connect to host -fxtalk.cn: could not connect to host fxwebstudio.com.au: max-age too low: 0 fyodorpi.com: did not receive HSTS header fyol.pw: could not connect to host fysiohaenraets.nl: did not receive HSTS header fzn.io: did not receive HSTS header -fzslm.me: did not receive HSTS header +fzslm.me: could not connect to host g-i-s.vn: did not receive HSTS header -g-marketing.ro: did not receive HSTS header +g-marketing.ro: could not connect to host +g-o.pl: did not receive HSTS header g-rickroll-o.pw: could not connect to host g01.in.ua: could not connect to host g1jeu.com: could not connect to host @@ -6022,35 +6666,39 @@ gaasuper6.com: could not connect to host gabber.scot: could not connect to host gabethebabetv.com: could not connect to host gabi.com.es: could not connect to host -gabi.soy: could not connect to host +gabi.soy: did not receive HSTS header gabi.uno: could not connect to host gablaxian.com: max-age too low: 2592000 gabriele-kluge.de: could not connect to host +gabrielsimonet.ch: could not connect to host gaelleetarnaud.com: did not receive HSTS header gafachi.com: could not connect to host -gaff-rig.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] gaichanh.com: did not receive HSTS header -gailfellowsphotography.com: could not connect to host gainesvillegoneaustin.org: did not receive HSTS header gaiserik.com: did not receive HSTS header gaite.me: did not receive HSTS header gajas18.com: could not connect to host +gakkainavi.net: could not connect to host gakkainavi4.com: could not connect to host galardi.org: could not connect to host galena.io: could not connect to host galenskap.eu: could not connect to host galeriadobimba.com.br: could not connect to host +galerieautodirect.com: did not receive HSTS header galgoafegao.com.br: could not connect to host galgoingles.com.br: could not connect to host +galgopersa.com.br: could not connect to host gali.review: did not receive HSTS header galileomtz.com: did not receive HSTS header gallery44.org: did not receive HSTS header galoisvpn.xyz: could not connect to host gam3rs.de: could not connect to host +gamajo.com: did not receive HSTS header gambitcloud.net: could not connect to host game-files.net: did not receive HSTS header game-gentle.com: could not connect to host game.yt: could not connect to host +game88city.com: could not connect to host gamebits.net: did not receive HSTS header gamecave.de: could not connect to host gamecdn.com: could not connect to host @@ -6062,13 +6710,12 @@ gamek.es: could not connect to host gamenected.com: could not connect to host gamenected.de: could not connect to host gameofbay.org: could not connect to host -gameofpwnz.com: could not connect to host +gameofpwnz.com: did not receive HSTS header 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: did not receive HSTS header -gamerezo.com: could not connect to host gamerpoets.com: did not receive HSTS header gamers-life.fr: could not connect to host gamerslair.org: did not receive HSTS header @@ -6082,15 +6729,19 @@ gametium.es: could not connect to host gamhealth.net: could not connect to host gamingmedia.eu: did not receive HSTS header gamingreinvented.com: did not receive HSTS header +gamisalya.com: did not receive HSTS header +gamismodelbaru.com: did not receive HSTS header +gamismu.com: did not receive HSTS header gamoice.com: did not receive HSTS header gampenhof.de: could not connect to host gangnam-club.com: could not connect to host -gangnam-karaoke.com: could not connect to host +gangnam-karaoke.com: did not receive HSTS header ganhonet.com.br: did not receive HSTS header ganyouxuan.com: could not connect to host ganzgraph.de: did not receive HSTS header gaon.network: could not connect to host gaptek.id: did not receive HSTS header +gar-nich.net: could not connect to host garage-abri-chalet.fr: did not receive HSTS header garage-door.pro: could not connect to host garageon.net: did not receive HSTS header @@ -6101,8 +6752,6 @@ garciniacambogiareviewed.co: did not receive HSTS header garden-life.org: could not connect to host garden.trade: could not connect to host gardencarezone.com: did not receive HSTS header -garethkirk.com: could not connect to host -garethkirkreviews.com: could not connect to host garfieldairlines.net: did not receive HSTS header garten-bau.ch: did not receive HSTS header garten-diy.de: could not connect to host @@ -6110,6 +6759,7 @@ gartenhauszentrum.de: [Exception... "Component returned failure code: 0x80004005 gasbarkenora.com: could not connect to host gasnews.net: could not connect to host gasser-daniel.ch: did not receive HSTS header +gassouthkenticoqa.azurewebsites.net: did not receive HSTS header gastauftritt.net: did not receive HSTS header gastritisolucion.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] gatapro.net: could not connect to host @@ -6120,12 +6770,13 @@ gatilagata.com.br: could not connect to host gatomix.net: could not connect to host gatorsa.es: could not connect to host gaussorgues.me: could not connect to host -gautham.it: could not connect to host gautham.pro: could not connect to host gavick.com: did not receive HSTS header gay-jays.com: could not connect to host gay-sissies.com: could not connect to host -gaycc.cc: could not connect to host +gaya-sa.org: did not receive HSTS header +gayauthors.org: could not connect to host +gayforgenji.com: could not connect to host gaygeeks.de: could not connect to host gayjays.com: could not connect to host gaysfisting.com: could not connect to host @@ -6138,19 +6789,22 @@ gc.net: could not connect to host gccm-events.com: did not receive HSTS header gchoic.com: max-age too low: 7889238 gchp.ie: did not receive HSTS header +gcodetools.com: could not connect to host gdegem.org: did not receive HSTS header gdevpenze.ru: could not connect to host gdprhallofshame.com: could not connect to host gdutnic.com: could not connect to host gdz-otvety.com: could not connect to host gear-acquisition-syndrome.community: could not connect to host +gearseo.com.br: did not receive HSTS header geaskb.nl: could not connect to host +geass.xyz: could not connect to host geblitzt.de: did not receive HSTS header gedankenbude.info: could not connect to host gedankenworks.com: could not connect to host geekbaba.com: could not connect to host -geekcast.co.uk: did not receive HSTS header -geekchimp.com: did not receive HSTS header +geekcast.co.uk: could not connect to host +geekchimp.com: could not connect to host geekdt.com: did not receive HSTS header geekmind.org: max-age too low: 172800 geeks.berlin: could not connect to host @@ -6165,11 +6819,12 @@ geigr.de: could not connect to host geiser.io: did not receive HSTS header geldteveel.eu: could not connect to host geli-graphics.com: did not receive HSTS header -gem-indonesia.net: max-age too low: 0 +gem-info.fr: could not connect to host gemeinfreie-lieder.de: did not receive HSTS header gemsoftheworld.org: could not connect to host gemuplay.com: could not connect to host genemesservwparts.com: could not connect to host +general-insurance.tk: could not connect to host generalpants.com.au: did not receive HSTS header generationnext.pl: could not connect to host genesischangelog.com: could not connect to host @@ -6180,20 +6835,22 @@ genneve.com: did not receive HSTS header genoog.com: could not connect to host genossen.ru: could not connect to host genshiken.org: could not connect to host -genuu.com: could not connect to host +gensokyo.chat: could not connect to host +genuu.com: did not receive HSTS header genuxation.com: could not connect to host -genxbeats.com: did not receive HSTS header +genxbeats.com: could not connect to host +genxnotes.com: could not connect to host genyaa.com: could not connect to host genyhitch.com: did not receive HSTS header geocommunicator.gov: could not connect to host geoffanderinmyers.com: did not receive HSTS header geoffdev.com: could not connect to host geoffmyers.com: did not receive HSTS header -geoffreyrichard.com: could not connect to host +geoffreyrichard.com: did not receive HSTS header geopals.net: did not receive HSTS header -georgeperez.me: did not receive HSTS header +georgeperez.me: could not connect to host georgesonarthurs.com.au: did not receive HSTS header -gerbyte.uk: did not receive HSTS header +gepe.ch: did not receive HSTS header gereja.ga: max-age too low: 1209600 gerencianet.com.br: did not receive HSTS header gereon.ch: could not connect to host @@ -6204,7 +6861,6 @@ gerum.dynv6.net: did not receive HSTS header geschenkly.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] geschmackspiloten.de: did not receive HSTS header gesiwista.net: did not receive HSTS header -gestorehotel.com: did not receive HSTS header gesunde-smoothies.de: did not receive HSTS header gesundes-im-napf.de: did not receive HSTS header get-asterisk.ru: could not connect to host @@ -6257,7 +6913,7 @@ getsubs.net: could not connect to host getwarden.net: could not connect to host getwashdaddy.com: could not connect to host getweloop.io: did not receive HSTS header -getyou.onl: did not receive HSTS header +getyou.onl: could not connect to host getyourphix.tk: could not connect to host gevaulug.fr: could not connect to host gfbouncycastles.co.uk: did not receive HSTS header @@ -6266,6 +6922,7 @@ gflclan.ru: could not connect to host gfm.tech: could not connect to host gfoss.gr: could not connect to host gfw.moe: could not connect to host +gfwno.win: could not connect to host gfwsb.ml: could not connect to host gglks.com: could not connect to host ggobbo.com: could not connect to host @@ -6281,18 +6938,20 @@ ghi.gov: could not connect to host ghibli.studio: could not connect to host ghid-pitesti.ro: did not receive HSTS header ghkim.net: could not connect to host +ghowell.io: could not connect to host gianlucapartengo.photography: did not receive HSTS header giant-powerfit.co.uk: did not receive HSTS header gibraltar-firma.com: did not receive HSTS header giddyaunt.net: could not connect to host gidea.nu: could not connect to host giduv.com: did not receive HSTS header -giegler.software: did not receive HSTS header +giegler.software: could not connect to host +giftbg.org: did not receive HSTS header giftgofers.com: max-age too low: 2592000 giftservices.nl: did not receive HSTS header gifzilla.net: could not connect to host gigacloud.org: could not connect to host -gigawattz.com: could not connect to host +gigawattz.com: did not receive HSTS header gigiscloud.servebeer.com: could not connect to host gigolodavid.be: could not connect to host gilcloud.com: could not connect to host @@ -6300,6 +6959,7 @@ gilescountytn.gov: did not receive HSTS header gilgaz.com: did not receive HSTS header gillet-cros.fr: could not connect to host gilly.berlin: did not receive HSTS header +gilpinrealty.com: did not receive HSTS header gilroywestwood.org: did not receive HSTS header gincher.net: did not receive HSTS header gingali.de: did not receive HSTS header @@ -6314,10 +6974,12 @@ gip-carif-idf.org: could not connect to host gipsamsfashion.com: could not connect to host gipsic.com: did not receive HSTS header girlsgonesporty.com: could not connect to host +girlsnet.work: could not connect to host gis3m.org: did not receive HSTS header gisac.org: did not receive HSTS header gistfy.com: could not connect to host git-stuff.tk: could not connect to host +git.ac.cn: could not connect to host git.co: could not connect to host gitar.io: could not connect to host github.party: did not receive HSTS header @@ -6327,6 +6989,7 @@ giverang.com: could not connect to host gix.net.pl: could not connect to host gixtools.co.uk: could not connect to host gixtools.uk: could not connect to host +gizmo.ovh: could not connect to host gizzo.sk: could not connect to host glabiatoren-kst.de: could not connect to host gladystudio.com: did not receive HSTS header @@ -6338,7 +7001,7 @@ glenavy.tk: could not connect to host glencambria.com: could not connect to host glencoveny.gov: could not connect to host glentakahashi.com: could not connect to host -glicerina.online: did not receive HSTS header +glicerina.online: could not connect to host glittersjabloon.nl: did not receive HSTS header glitzmirror.com: could not connect to host glnpo.gov: could not connect to host @@ -6355,7 +7018,6 @@ globalmusic.ga: could not connect to host globalnewsdaily.cf: could not connect to host globalnomadvintage.com: could not connect to host globalperspectivescanada.com: could not connect to host -globalresistancecorporation.com: could not connect to host globalsites.nl: did not receive HSTS header globaltennis.ca: could not connect to host globalvisions-events.ch: could not connect to host @@ -6366,18 +7028,21 @@ gloomyspark.com: could not connect to host glotter.com: did not receive HSTS header gloucesterphotographer.com: did not receive HSTS header glubbforum.de: did not receive HSTS header +gluecksgriff-taschen.de: could not connect to host glutenfreiheit.at: could not connect to host glws.org: did not receive HSTS header -glyph.ws: could not connect to host gm-assicurazioni.it: could not connect to host gmail.com: did not receive HSTS header (error ignored - included regardless) +gmantra.org: max-age too low: 7776000 gmanukyan.com: could not connect to host gmat.ovh: could not connect to host gmoes.at: did not receive HSTS header +gmplab.com: did not receive HSTS header gnaptracker.tk: could not connect to host gnom.me: could not connect to host gnosticjade.net: did not receive HSTS header gnwp.eu: could not connect to host +gnylf.com: could not connect to host go.ax: did not receive HSTS header go2sh.de: did not receive HSTS header go4it.solutions: did not receive HSTS header @@ -6385,14 +7050,20 @@ goabonga.com: could not connect to host goalsetup.com: did not receive HSTS header goaltree.ch: did not receive HSTS header goapunks.net: did not receive HSTS header -goarmy.eu: could not connect to host goat.chat: did not receive HSTS header goat.xyz: could not connect to host goben.ch: could not connect to host goblins.net: did not receive HSTS header goblinsatwork.com: could not connect to host +goblintears.com: could not connect to host gocardless.com: did not receive HSTS header +god-esb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +godbo9.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +godbo9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +godbo9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +godesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] godrealms.com: could not connect to host +godruoyi.com: did not receive HSTS header goedeke.ml: could not connect to host goerner.me: did not receive HSTS header goesta-hallenbau.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -6401,7 +7072,7 @@ gogenenglish.com: could not connect to host gogetssl.com: did not receive HSTS header goggs.eu: could not connect to host gogold-g.com: could not connect to host -goguel.org: could not connect to host +goguel.org: did not receive HSTS header goiaspropaganda.com.br: could not connect to host gold24.in: could not connect to host goldclubcasino.com: could not connect to host @@ -6418,11 +7089,11 @@ golfburn.com: could not connect to host golocal-media.de: could not connect to host gomiblog.com: did not receive HSTS header gong8.win: could not connect to host -gongjianwei.com: could not connect to host gonkar.com: did not receive HSTS header gonzalesca.gov: did not receive HSTS header gonzalosanchez.mx: did not receive HSTS header -goodeats.nyc: did not receive HSTS header +gooddomainna.me: could not connect to host +goodeats.nyc: could not connect to host goodfeels.net: could not connect to host goodfurday.ca: could not connect to host goodmengroup.de: did not receive HSTS header @@ -6468,6 +7139,9 @@ gouv.ovh: did not receive HSTS header gov.ax: could not connect to host goverage.org: could not connect to host govillemo.ca: did not receive HSTS header +govtjobs.blog: could not connect to host +gowin9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +gowin9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] gozadentro.com: could not connect to host gozel.com.tr: did not receive HSTS header gpalabs.com: could not connect to host @@ -6475,6 +7149,8 @@ gparent.org: did not receive HSTS header gpga.cf: could not connect to host gplintegratedit.com: could not connect to host gpo.gov: did not receive HSTS header +gps.com.br: could not connect to host +gpsarena.ro: could not connect to host gpstuner.com: did not receive HSTS header graavaapi.elasticbeanstalk.com: could not connect to host grabi.ga: could not connect to host @@ -6493,19 +7169,20 @@ grahamofthewheels.com: did not receive HSTS header grana.com: did not receive HSTS header grandchamproofing.com: did not receive HSTS header grandlinecsk.ru: did not receive HSTS header -grandmascookieblog.com: did not receive HSTS header -grandmasfridge.org: could not connect to host +grandmascookieblog.com: could not connect to host +grandmasfridge.org: did not receive HSTS header grandwailea.com: did not receive HSTS header granian.pro: could not connect to host grantedby.me: max-age too low: 0 granth.io: could not connect to host graph.no: did not receive HSTS header graphified.nl: did not receive HSTS header +graphire.io: could not connect to host graphite.org.uk: could not connect to host graphsearchengine.com: could not connect to host gratis-app.com: did not receive HSTS header gratisonlinesex.com: could not connect to host -gravitation.pro: did not receive HSTS header +gravitation.pro: could not connect to host gravito.nl: did not receive HSTS header gravity-net.de: could not connect to host graycell.net: could not connect to host @@ -6515,8 +7192,14 @@ great.nagoya: could not connect to host greatergoodoffers.com: did not receive HSTS header greatfire.kr: could not connect to host greatideahub.com: did not receive HSTS header +greatlengthshairextensionssalon.com: did not receive HSTS header greatnet.de: did not receive HSTS header greatsong.net: did not receive HSTS header +greedbutt.com: could not connect to host +green-light.cf: could not connect to host +green-light.ga: could not connect to host +green-light.gq: could not connect to host +green-light.ml: could not connect to host greencardtalent.com: could not connect to host greenconn.ca: could not connect to host greenenergysolution.uk: did not receive HSTS header @@ -6533,7 +7216,7 @@ greenvpn.pro: did not receive HSTS header greggsfoundation.org.uk: could not connect to host gregmartyn.com: could not connect to host gregmarziomedia.co.za: did not receive HSTS header -gregmarziomedia.com: did not receive HSTS header +gregmilton.com: could not connect to host gregmilton.org: could not connect to host gregorytlee.me: could not connect to host grekland.guide: could not connect to host @@ -6545,7 +7228,7 @@ grettogeek.com: did not receive HSTS header greuel.online: could not connect to host greve.xyz: could not connect to host grevesgarten.de: could not connect to host -greyhash.se: could not connect to host +greybeards.ca: could not connect to host greyline.se: could not connect to host grian-bam.at: did not receive HSTS header gribani.com: could not connect to host @@ -6554,12 +7237,13 @@ gridle.io: did not receive HSTS header grifomarchetti.com: did not receive HSTS header grigalanzsoftware.com: could not connect to host grillinfools.com: did not receive HSTS header +gripnijmegen.rip: could not connect to host gripopgriep.net: could not connect to host gritte.net: could not connect to host griyo.online: could not connect to host groben-itsolutions.de: could not connect to host +groenders.nl: did not receive HSTS header groenewoud.run: could not connect to host -groenteclub.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] groentefruitzeep.com: could not connect to host groentefruitzeep.nl: could not connect to host groetzner.net: did not receive HSTS header @@ -6567,6 +7251,7 @@ groseb.net: did not receive HSTS header grossell.ru: could not connect to host grossmann.gr: could not connect to host grossmisconduct.news: could not connect to host +grouchysysadmin.com: could not connect to host groupe-cassous.com: did not receive HSTS header groups.google.com: did not receive HSTS header (error ignored - included regardless) grow-shop.ee: could not connect to host @@ -6575,7 +7260,6 @@ grow-shop.lv: could not connect to host growingmetrics.com: could not connect to host grozip.com: did not receive HSTS header gruelang.org: could not connect to host -gruenderwoche-dresden.de: did not receive HSTS header grumples.biz: did not receive HSTS header grunex.com: did not receive HSTS header grupopgn.com.br: could not connect to host @@ -6588,13 +7272,15 @@ gs-net.at: could not connect to host gsm-map.com: could not connect to host gsmkungen.com: could not connect to host gsnort.com: did not receive HSTS header +gtalife.net: did not receive HSTS header gtamodshop.org: could not connect to host gtanda.tk: could not connect to host +gtdgo.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] gtech.work: did not receive HSTS header gtldna.com: could not connect to host -gtopala.net: could not connect to host gtraxapp.com: could not connect to host gts-schulsoftware.de: did not receive HSTS header +gtts.space: did not receive HSTS header guarajubaimoveis.com.br: did not receive HSTS header guava.studio: did not receive HSTS header gudangpangan.id: could not connect to host @@ -6602,6 +7288,7 @@ gudrun.ml: could not connect to host guelphhydropool.com: could not connect to host guendra.dedyn.io: could not connect to host guentherhouse.com: did not receive HSTS header +gufen.ga: could not connect to host guffrits.com: could not connect to host gugaltika-ipb.org: could not connect to host guge.gq: could not connect to host @@ -6623,18 +7310,19 @@ gulenet.com: could not connect to host gulfcoast-sandbox.com: could not connect to host gulitsky.me: could not connect to host gulleyperformancecenter.com: did not receive HSTS header +gulshankumar.net: did not receive HSTS header gumannp.de: did not receive HSTS header gummibande.noip.me: could not connect to host gunhunter.com: could not connect to host guniram.com: did not receive HSTS header gunnarhafdal.com: did not receive HSTS header -gunnaro.com: could not connect to host +gunnaro.com: did not receive HSTS header guntbert.net: could not connect to host -guochang.xyz: could not connect to host guoqiang.info: did not receive HSTS header gurochan.ch: could not connect to host gurom.lv: could not connect to host gurubetng.com: did not receive HSTS header +gurugardener.co.nz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] gurusupe.com: could not connect to host gus.moe: could not connect to host guso.gq: could not connect to host @@ -6643,8 +7331,6 @@ guso.site: could not connect to host guso.tech: could not connect to host gussi.is: did not receive HSTS header guthabenkarten-billiger.de: could not connect to host -guts.me: did not receive HSTS header -guts.moe: did not receive HSTS header guvernalternativa.ro: could not connect to host guyot-tech.com: did not receive HSTS header gvchannel.xyz: could not connect to host @@ -6655,6 +7341,7 @@ gvt2.com: could not connect to host (error ignored - included regardless) gvt3.com: could not connect to host (error ignored - included regardless) gw2oracle.com: could not connect to host gw2reload.eu: could not connect to host +gwa-verwaltung.de: did not receive HSTS header gwijaya.com: could not connect to host gwtest.us: could not connect to host gxgx.org: could not connect to host @@ -6666,6 +7353,9 @@ gylauto.fr: could not connect to host gypsycatdreams.com: could not connect to host gypthecat.com: did not receive HSTS header gyz.io: did not receive HSTS header +gzitech.com: could not connect to host +gzitech.net: could not connect to host +gzitech.org: could not connect to host gzpblog.com: could not connect to host h-og.com: could not connect to host h-rickroll-n.pw: could not connect to host @@ -6681,13 +7371,14 @@ hablemosdetecnologia.com.ve: could not connect to host hac30.com: could not connect to host hack.cz: could not connect to host hack.li: could not connect to host -hackattack.com: did not receive HSTS header hackbubble.me: could not connect to host hacker.deals: could not connect to host hacker8.cn: could not connect to host hackercat.ninja: max-age too low: 2592000 hackerforever.com: did not receive HSTS header +hackerlite.xyz: max-age too low: 0 hackerone-ext-adroll.com: could not connect to host +hackerpoints.com: did not receive HSTS header hackerspace-ntnu.no: did not receive HSTS header hackest.org: did not receive HSTS header hackingsafe.com: could not connect to host @@ -6698,6 +7389,8 @@ hacksnack.io: could not connect to host hackyourfaceoff.com: could not connect to host hackzogtum-coburg.de: did not receive HSTS header hadaf.pro: could not connect to host +hadret.com: could not connect to host +hadret.sh: could not connect to host hadzic.co: could not connect to host haeckdesign.com: did not receive HSTS header haeckl.eu: did not receive HSTS header @@ -6705,11 +7398,10 @@ haehnlein.at: could not connect to host haemmerle.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] haf.gr: could not connect to host hafoda.com: did not receive HSTS header -haggeluring.su: could not connect to host hahayidu.org: could not connect to host hail2u.net: did not receive HSTS header hainoni.com: did not receive HSTS header -hairlossstop.net: did not receive HSTS header +hairlossstop.net: could not connect to host haitschi.com: could not connect to host haitschi.de: did not receive HSTS header haitschi.net: could not connect to host @@ -6724,14 +7416,17 @@ hal-9th.space: could not connect to host halcyonsbastion.com: could not connect to host half-logic.eu.org: could not connect to host halfwaythere.eu: could not connect to host +halletienne.fr: could not connect to host +halloweenthings.website: did not receive HSTS header halo.red: could not connect to host -halta.info: could not connect to host +halta.info: did not receive HSTS header halyul.cc: did not receive HSTS header halyul.com: did not receive HSTS header haman.nl: could not connect to host hamish.ca: did not receive HSTS header hamking.tk: could not connect to host hammamsayad.com: could not connect to host +hammer-corp.com: did not receive HSTS header hamon.cc: did not receive HSTS header hamu.blue: could not connect to host hancatemc.com: did not receive HSTS header @@ -6744,7 +7439,10 @@ handmadegobelin.com: did not receive HSTS header handmadeshoes.pe: did not receive HSTS header handmadetutorials.ro: could not connect to host handsandall.com: did not receive HSTS header +handyglas.com: could not connect to host +handynummer.online: did not receive HSTS header hanfu.la: could not connect to host +hang333.moe: could not connect to host hang333.pw: could not connect to host hangar18-modelismo.com.br: could not connect to host hanimalis.fr: could not connect to host @@ -6765,6 +7463,8 @@ haobo6666.com: could not connect to host haobo7777.com: could not connect to host haomwei.com: could not connect to host haoyugao.com: could not connect to host +hapissl.com: could not connect to host +hapivm.com: could not connect to host happist.com: did not receive HSTS header happix.nl: did not receive HSTS header happyfabric.me: did not receive HSTS header @@ -6775,12 +7475,10 @@ hapsfordmill.co.uk: could not connect to host hapvm.com: could not connect to host haqaza.com.br: did not receive HSTS header harambe.site: could not connect to host -harbourweb.net: could not connect to host -hardeman.nu: could not connect to host +harbourweb.net: did not receive HSTS header hardline.xyz: could not connect to host hardtime.ru: could not connect to host hardyboyplant.com: did not receive HSTS header -harekaze.info: could not connect to host haribosupermix.com: could not connect to host hariome.com: did not receive HSTS header haritsa.co.id: could not connect to host @@ -6788,16 +7486,14 @@ harlentimberproducts.co.uk: did not receive HSTS header harmonycosmetic.com: max-age too low: 300 harrisonsdirect.co.uk: did not receive HSTS header harristony.com: could not connect to host -harry-baker.com: could not connect to host harryharrison.co: did not receive HSTS header harrypottereditor.com: could not connect to host harrypottereditor.net: could not connect to host harschnitz.nl: did not receive HSTS header -hartie95.de: could not connect to host hartlep.eu: could not connect to host hartmancpa.com: did not receive HSTS header harvestrenewal.org: did not receive HSTS header -harveymilton.com: did not receive HSTS header +harveymilton.com: max-age too low: 0 harz.cloud: could not connect to host has.vision: could not connect to host hasabig.wang: could not connect to host @@ -6814,6 +7510,7 @@ hatcherlawgroupnm.com: did not receive HSTS header hatethe.uk: could not connect to host hatoko.net: could not connect to host haufschild.de: could not connect to host +hauntedfishtank.com: did not receive HSTS header haurumcraft.net: could not connect to host hausarzt-stader-str.de: did not receive HSTS header hauswarteam.com: could not connect to host @@ -6830,12 +7527,13 @@ haxon.me: could not connect to host haxx.hu: did not receive HSTS header haydenhill.us: could not connect to host hayleishop.fr: did not receive HSTS header +hayzepvp.us: did not receive HSTS header hazcod.com: could not connect to host haze-productions.com: could not connect to host haze.network: did not receive HSTS header haze.sucks: could not connect to host hazeltime.com: could not connect to host -hazeltime.se: did not receive HSTS header +hazloconlapix.com: could not connect to host hazyrom.net: could not connect to host hb1111.com: could not connect to host hb3333.com: could not connect to host @@ -6852,22 +7550,25 @@ hbvip06.com: could not connect to host hbvip07.com: could not connect to host hbvip08.com: could not connect to host hcfhomelottery.ca: did not receive HSTS header -hcie.pl: did not receive HSTS header hcoe.fi: did not receive HSTS header hcr.io: did not receive HSTS header hcs-company.com: did not receive HSTS header hcs-company.nl: did not receive HSTS header -hcstr.com: could not connect to host +hcstr.com: did not receive HSTS header hd1tj.org: did not receive HSTS header +hda.me: did not receive HSTS header hdm.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] hdrboundless.com: could not connect to host +hdritalyphotos.com: did not receive HSTS header hdserver.info: did not receive HSTS header hdsmigrationtool.com: could not connect to host +hdtwinks.com: could not connect to host hduin.xyz: could not connect to host hdwallpapers.net: could not connect to host hdy.nz: could not connect to host head-shop.lt: could not connect to host head-shop.lv: could not connect to host +head.org: could not connect to host headmates.xyz: could not connect to host health-match.com.au: could not connect to host healthcare6.com: did not receive HSTS header @@ -6879,29 +7580,32 @@ healthycod.in: could not connect to host healtious.com: did not receive HSTS header hearingshofar.com: could not connect to host heart.ge: could not connect to host +heart.taxi: max-age too low: 0 heartlandrentals.com: did not receive HSTS header hearty.cf: did not receive HSTS header hearty.ink: could not connect to host hearty.space: could not connect to host hearty.tech: could not connect to host -hearty.tw: did not receive HSTS header heartyapp.com: could not connect to host heartyme.net: could not connect to host heathmanners.com: could not connect to host heavenlyseals.com: could not connect to host heavenlysmokenc.com: could not connect to host heavystresser.com: could not connect to host -heayao.com: could not connect to host hebaus.com: could not connect to host +heberut.gov: did not receive HSTS header hebriff.com: could not connect to host hectorj.net: could not connect to host hedweb.com: could not connect to host +heeler.blue: could not connect to host +heeler.red: could not connect to host heidilein.info: did not receive HSTS header heimnetze.org: could not connect to host heisenberg.co: could not connect to host hejsupport.se: could not connect to host hekeki.com: could not connect to host -hele.cz: did not receive HSTS header +hele.cz: could not connect to host +helencrump.co.uk: did not receive HSTS header helgakristoffer.com: could not connect to host helgakristoffer.wedding: could not connect to host helicaldash.com: could not connect to host @@ -6914,7 +7618,6 @@ hellomouse.cf: did not receive HSTS header hellomouse.tk: could not connect to host hellotandem.com: could not connect to host hellothought.net: could not connect to host -helloworldhost.com: did not receive HSTS header hellscanyonraft.com: did not receive HSTS header helpadmin.net: could not connect to host helpantiaging.com: could not connect to host @@ -6925,11 +7628,11 @@ helpfixe.com: did not receive HSTS header helpflux.com: did not receive HSTS header helpfute.com: did not receive HSTS header helpgerer.com: did not receive HSTS header -helpium.de: could not connect to host +helpium.de: did not receive HSTS header helpmebuild.com: did not receive HSTS header helppresta.com: did not receive HSTS header helpverif.com: did not receive HSTS header -helpwithmybank.gov: did not receive HSTS header +helpwithmybank.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] helsingfors.guide: could not connect to host helup.com: did not receive HSTS header hemlockhillscabinrentals.com: did not receive HSTS header @@ -6939,34 +7642,44 @@ henhenlu.com: could not connect to host henkbrink.com: did not receive HSTS header henningkerstan.org: did not receive HSTS header henriknoerr.com: could not connect to host +henrock.net: could not connect to host hentai.design: did not receive HSTS header hentaimaster.net: could not connect to host hentaiz.net: could not connect to host hepteract.us: could not connect to host heptner24.de: could not connect to host +herbal-id.com: did not receive HSTS header +herbandpat.org: could not connect to host herbertmouwen.nl: could not connect to host here.ml: could not connect to host here4funpartysolutions.ie: did not receive HSTS header heribe-maruo.com: did not receive HSTS header heritagedentistry.ca: did not receive HSTS header +hermann.in: could not connect to host hermes-servizi.it: could not connect to host heroin.org.uk: could not connect to host -herpaderp.net: did not receive HSTS header +herpaderp.net: could not connect to host +herr-webdesign.de: could not connect to host herramientasbazarot.com: did not receive HSTS header herrenfahrt.com: did not receive HSTS header herrtxbias.org: could not connect to host +hethely.ch: did not receive HSTS header hetmeisjeachterpauw.nl: could not connect to host hetmer.com: did not receive HSTS header hetmer.cz: did not receive HSTS header -hetmer.net: could not connect to host +hetmer.net: did not receive HSTS header +hetzflix.stream: did not receive HSTS header heutger.net: did not receive HSTS header +heverhagen.rocks: did not receive HSTS header +hex.bz: could not connect to host hex2013.com: did not receive HSTS header hexacon.io: could not connect to host hexadecimal.tech: could not connect to host hexe.net: did not receive HSTS header hexhu.com: could not connect to host -hexo.io: did not receive HSTS header +hexieshe.com: could not connect to host hexobind.com: could not connect to host +heyfringe.com: could not connect to host heyguevara.com: did not receive HSTS header heyjournal.com: could not connect to host heywoodtown.co.uk: did not receive HSTS header @@ -6975,7 +7688,7 @@ hfcbank.com.gh: did not receive HSTS header hfi.me: did not receive HSTS header hflsdev.org: could not connect to host hfu.io: could not connect to host -hg525.com: max-age too low: 86400 +hg525.com: could not connect to host hg71839.com: could not connect to host hg881.com: could not connect to host hgfa.fi: could not connect to host @@ -6993,9 +7706,11 @@ hidrofire.com: did not receive HSTS header hiexmerida-mailing.com: could not connect to host hig.gov: could not connect to host highgrove.org.uk: could not connect to host +highland-webcams.com: could not connect to host highlandparkcog.org: did not receive HSTS header highperformancehvac.com: did not receive HSTS header highseer.com: did not receive HSTS header +highspeedinternetservices.ca: could not connect to host highsurf-miyazaki.com: could not connect to host hightechgadgets.net: could not connect to host hightimes.com: could not connect to host @@ -7004,12 +7719,13 @@ highvelocitydesign.com: could not connect to host higp.de: did not receive HSTS header hiisukun.com: could not connect to host hiitcentre.com: did not receive HSTS header -hijoan.com: could not connect to host +hijoan.com: did not receive HSTS header hik-cloud.com: did not receive HSTS header hikagestudios.com: did not receive HSTS header hikariempire.com: could not connect to host -hikinggearlab.com: did not receive HSTS header hilaolu.com: could not connect to host +hilaolu.studio: max-age too low: 0 +hilariousbeer.com.mx: could not connect to host hilinemerchandising.com: did not receive HSTS header hill.selfip.net: could not connect to host hillcity.org.nz: did not receive HSTS header @@ -7022,7 +7738,7 @@ hinkel-sohn.de: did not receive HSTS header hinrich.de: did not receive HSTS header hintergedanken.com: could not connect to host hintermeier-rae.at: did not receive HSTS header -hiojbk.com: could not connect to host +hiojbk.com: did not receive HSTS header hipercultura.com: did not receive HSTS header hiphopconvention.nl: could not connect to host hipi.jp: could not connect to host @@ -7035,16 +7751,16 @@ hiresuccessstaffing.com: did not receive HSTS header hiretech.com: did not receive HSTS header hirevets.gov: did not receive HSTS header hirokilog.com: could not connect to host +hirte-digital.de: did not receive HSTS header hisingenrunt.se: did not receive HSTS header hisnet.de: could not connect to host histoire-theatre.com: did not receive HSTS header history.pe: could not connect to host hitchunion.org: could not connect to host -hitoy.org: did not receive HSTS header -hitrek.ml: could not connect to host +hitoy.org: could not connect to host hittipps.com: could not connect to host hivatal-info.hu: could not connect to host -hj2999.com: could not connect to host +hj2999.com: did not receive HSTS header hjes.com.ve: could not connect to host hjf-immobilien.de: did not receive HSTS header hjkhs.cn: did not receive HSTS header @@ -7072,9 +7788,10 @@ 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 -hoikuen-now.top: did not receive HSTS header hokepon.com: did not receive HSTS header -hokioisecurity.com: did not receive HSTS header +hokify.at: did not receive HSTS header +hokify.ch: did not receive HSTS header +hokify.de: did not receive HSTS header holgerlehner.com: could not connect to host holidayincotswolds.co.uk: could not connect to host holifestival-freyung.de: could not connect to host @@ -7082,6 +7799,7 @@ holisticdrbright.com: max-age too low: 300 hollandguns.com: did not receive HSTS header hollerau.de: could not connect to host holowaty.me: could not connect to host +holstphoto.com: max-age too low: 2592000 holy-hi.com: did not receive HSTS header holymoly.lu: could not connect to host holymolycasinos.com: did not receive HSTS header @@ -7090,15 +7808,18 @@ homads.com: did not receive HSTS header home-cloud.online: could not connect to host home-coaching.be: did not receive HSTS header home-craft.de: could not connect to host +home-insurance-quotes.tk: could not connect to host home-v.ind.in: could not connect to host home-work-jobs.com: did not receive HSTS header homeandyarddetailing.com: could not connect to host +homecarpetcleaning.co.uk: could not connect to host homeclouding.de: could not connect to host homecoming.city: could not connect to host homedna.com: did not receive HSTS header homeexx.com: did not receive HSTS header +homehunting.pt: did not receive HSTS header homeoesp.org: did not receive HSTS header -homeownersassociationmanagementla.com: did not receive HSTS header +homeownersassociationmanagementla.com: could not connect to host homeremodelingcontractorsca.com: did not receive HSTS header homesandal.com: did not receive HSTS header homeseller.co.uk: could not connect to host @@ -7120,16 +7841,15 @@ hoodiecrow.com: could not connect to host hoodoo.io: could not connect to host hoodoo.tech: could not connect to host hookandloom.com: did not receive HSTS header -hookbin.com: could not connect to host hoopsacademyusa.com: could not connect to host hopesb.org: did not receive HSTS header hopewellproperties.co.uk: did not receive HSTS header hopglass.eu: could not connect to host hopglass.net: could not connect to host -hopzone.net: could not connect to host horace.li: did not receive HSTS header horisonttimedia.fi: did not receive HSTS header horizonmoto.fr: did not receive HSTS header +horkel.cf: could not connect to host horning.co: did not receive HSTS header horosho.in: could not connect to host horrendous-servers.com: could not connect to host @@ -7140,7 +7860,7 @@ horvathtom.com: could not connect to host horvatnyelvkonyv.hu: could not connect to host host.black: could not connect to host hostam.link: could not connect to host -hosted-oswa.org: could not connect to host +hosted-oswa.org: did not receive HSTS header hostedbgp.net: did not receive HSTS header hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless) hostelite.com: did not receive HSTS header @@ -7150,6 +7870,7 @@ hostinaus.com.au: did not receive HSTS header hostingfirst.nl: could not connect to host hostingfj.com: could not connect to host hostisan.com: could not connect to host +hostserv.org: could not connect to host hosyaku.gr.jp: did not receive HSTS header hot-spa.ch: did not receive HSTS header hotartup.com: could not connect to host @@ -7162,25 +7883,32 @@ hotelmadhuwanvihar.com: could not connect to host hotelvictoriaoax-mailing.com: could not connect to host hotelvillahermosa-mailing.com: could not connect to host hotelvue.nl: could not connect to host +hotesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hotesb.net: could not connect to host hotjuice.com: could not connect to host hotornot.com: could not connect to host hotpoint-training.com: did not receive HSTS header hottestwebcamgirls.org: could not connect to host houkago-step.com: did not receive HSTS header houseinvestor.com: could not connect to host -housemaadiah.org: did not receive HSTS header +housemaadiah.org: could not connect to host +housetalk.ru: did not receive HSTS header housingstudents.org.uk: could not connect to host how2fsbo.com: could not connect to host howardwatts.co.uk: did not receive HSTS header howfargames.com: could not connect to host howrandom.org: could not connect to host +howsmytls.com: could not connect to host howtocuremysciatica.com: could not connect to host howtofreelance.com: did not receive HSTS header +howtoinstall.co: did not receive HSTS header hozinga.de: could not connect to host hpctecnologias.com: did not receive HSTS header hpeditor.tk: could not connect to host hpepub.asia: could not connect to host +hpepub.com: could not connect to host hpepub.org: did not receive HSTS header +hpnow.com.br: could not connect to host hppub.info: could not connect to host hppub.org: could not connect to host hppub.site: could not connect to host @@ -7189,15 +7917,19 @@ hqq.tv: could not connect to host hr-intranet.com: could not connect to host hr-tech.store: could not connect to host hr98.tk: could not connect to host +hr98.xyz: did not receive HSTS header hrackydomino.cz: did not receive HSTS header hrfhomelottery.com: did not receive HSTS header -hrobert.hu: could not connect to host +hrjfeedstock.com: did not receive HSTS header +hrk.io: did not receive HSTS header hrtech.store: could not connect to host hrtraining.com.au: did not receive HSTS header hru.gov: could not connect to host hschen.top: could not connect to host hserver.top: could not connect to host +hsex.tv: did not receive HSTS header hsir.me: could not connect to host +hsn.com: could not connect to host hsts-preload-test.xyz: could not connect to host hsts.com.br: could not connect to host hsts.date: could not connect to host @@ -7205,43 +7937,55 @@ hstspreload.me: could not connect to host hszhyy120.com: could not connect to host htlball.at: could not connect to host html-lab.tk: could not connect to host +htp2.top: could not connect to host http418.xyz: could not connect to host httphacker.com: could not connect to host https.ps: could not connect to host https.ren: could not connect to host httpstatuscode418.xyz: could not connect to host httptest.net: could not connect to host +hua-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hua-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hua-li88.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hua-li88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] huang.nu: could not connect to host huangguancq.com: could not connect to host huangh.com: could not connect to host +huangliangbo.com: did not receive HSTS header huangting.me: did not receive HSTS header huangzenghao.com: could not connect to host huarongdao.com: did not receive HSTS header +huaxueba.com: could not connect to host hubert.systems: did not receive HSTS header -hubertmoszka.pl: max-age too low: 0 +hubertmoszka.pl: could not connect to host hubrecht.at: could not connect to host hubrick.com: could not connect to host hudhaifahgoga.co.za: could not connect to host hudingyuan.cn: could not connect to host hugocollignon.fr: could not connect to host +hui-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hui-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] huiser.nl: could not connect to host hukaloh.com: could not connect to host hukkatavara.com: could not connect to host hulsoft.co.uk: could not connect to host humanexperiments.com: could not connect to host +humankode.com: did not receive HSTS header humblebee.es: could not connect to host humblefinances.com: could not connect to host humeurs.net: could not connect to host +humorce.com: did not receive HSTS header humortuga.pt: did not receive HSTS header hump.dk: could not connect to host humpi.at: could not connect to host humpteedumptee.in: did not receive HSTS header hunqz.com: could not connect to host -hunstoncanoeclub.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +hunterjohnson.io: could not connect to host huodongweb.com: could not connect to host huoduan.com: did not receive HSTS header huongquynh.com: could not connect to host -hup.blue: could not connect to host +hup.blue: did not receive HSTS header +hurleyhomestead.com: could not connect to host hurricanelabs.com: did not receive HSTS header huskybutt.dog: could not connect to host huskyduvercors.com: did not receive HSTS header @@ -7250,7 +7994,8 @@ hustle.life: did not receive HSTS header huwjones.me: could not connect to host huzu.com: did not receive HSTS header huzurmetal.net: could not connect to host -hwcine.com: did not receive HSTS header +hwcine.com: could not connect to host +hwinfo.com: did not receive HSTS header hwpkasse.de: max-age too low: 2592000 hyakumachi.com: did not receive HSTS header hyatt.com: did not receive HSTS header @@ -7282,14 +8027,14 @@ hyperactive.am: could not connect to host hyperporn.net: could not connect to host hyperreal.info: could not connect to host hypnoresults.com.au: did not receive HSTS header -hypnos.hu: did not receive HSTS header +hypnos.hu: could not connect to host hypotheques24.ch: could not connect to host hysg.me: could not connect to host +hysh.jp: could not connect to host hyvive.com: could not connect to host hzh.pub: did not receive HSTS header i--b.com: did not receive HSTS header i-jp.net: could not connect to host -i-meto.com: did not receive HSTS header i-partners.sk: could not connect to host i-rickroll-n.pw: could not connect to host i-stats.net: could not connect to host @@ -7297,16 +8042,18 @@ i10z.com: could not connect to host i28s.com: did not receive HSTS header i496.eu: could not connect to host i4m1k0su.com: could not connect to host +i95.me: did not receive HSTS header i9multiequipamentos.com.br: did not receive HSTS header ia1000.com: could not connect to host -iacono.com.br: did not receive HSTS header iadttaveras.com: could not connect to host iain.tech: did not receive HSTS header +iamlizu.com: did not receive HSTS header iamokay.nl: did not receive HSTS header iamreubin.co.uk: did not receive HSTS header iamsoareyou.se: could not connect to host iamveto.com: did not receive HSTS header ian.sh: did not receive HSTS header +ianvisits.co.uk: did not receive HSTS header iapws.com: did not receive HSTS header iban.is: could not connect to host ibarf.nl: did not receive HSTS header @@ -7319,18 +8066,20 @@ ibnuwebhost.com: could not connect to host ibnw.de: did not receive HSTS header ibox.ovh: did not receive HSTS header ibpegasus.tk: could not connect to host -ibps.blog: did not receive HSTS header +ibps.blog: could not connect to host ibpsrecruitment.co.in: 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 icabanken.se: did not receive HSTS header icaforsakring.se: did not receive HSTS header +icake.life: could not connect to host icasnetwork.com: did not receive HSTS header ice.yt: could not connect to host icebat.dyndns.org: could not connect to host icebound.cc: did not receive HSTS header icebound.win: could not connect to host +icedream.tech: could not connect to host iceiu.com: could not connect to host iceloch.com: could not connect to host icepink.com.br: could not connect to host @@ -7338,14 +8087,16 @@ icewoman.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERR icfl.com.br: could not connect to host ich-find-den-g.net: could not connect to host ich-mach-druck.eu: did not receive HSTS header +ichasco.com: could not connect to host ichnichtskaufmann.de: could not connect to host ichoosebtec.com: did not receive HSTS header ichronos.net: did not receive HSTS header icity.ly: did not receive HSTS header ickerseashop.com: could not connect to host icloud.net: could not connect to host +icmshoptrend.com: did not receive HSTS header icnsoft.ga: did not receive HSTS header -icnsoft.me: did not receive HSTS header +icnsoft.me: could not connect to host icnsoft.org: could not connect to host icntorrent.download: could not connect to host ico500.com: did not receive HSTS header @@ -7374,21 +8125,23 @@ ideaplus.me: could not connect to host ideasmeetingpoint.com: could not connect to host ideation-inc.co.jp: could not connect to host idedr.com: could not connect to host +ideiasefinancas.com.br: could not connect to host idemo.in: could not connect to host identity-hash.online: could not connect to host identitylabs.uk: could not connect to host identitysandbox.gov: could not connect to host idgsupply.com: could not connect to host -idid.tk: could not connect to host idinby.dk: did not receive HSTS header idiopolis.org: could not connect to host idisplay.es: could not connect to host idlekernel.com: could not connect to host idol-bikes.ru: could not connect to host +idolish7.fun: did not receive HSTS header idontexist.me: could not connect to host idsafe.co.za: could not connect to host idsoccer.com: did not receive HSTS header iec.pe: could not connect to host +iemas.azurewebsites.net: did not receive HSTS header iemb.cf: could not connect to host ierna.com: did not receive HSTS header ies.id.lv: could not connect to host @@ -7397,23 +8150,30 @@ ievgenialehner.com: did not receive HSTS header iexpert9.com: did not receive HSTS header if0.ru: could not connect to host ifad.org: did not receive HSTS header +ifamily.top: did not receive HSTS header ifan.ch: could not connect to host ifastuniversity.com: did not receive HSTS header ifcfg.me: could not connect to host ifconfig.co: did not receive HSTS header ifleurs.com: could not connect to host -ifreetion.cn: could not connect to host +ifly.pw: could not connect to host +ifreetion.cn: did not receive HSTS header +ifroheweihnachten.net: did not receive HSTS header ifx.ee: could not connect to host ifxnet.com: could not connect to host ifxor.com: could not connect to host igamingforums.com: could not connect to host +igaryhe.io: did not receive HSTS header igd.chat: could not connect to host igforums.com: could not connect to host -igi.codes: 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 iha6.com: could not connect to host +ihc.im: did not receive HSTS header +ihcr.top: did not receive HSTS header +ihls.world: could not connect to host ihls.xyz: did not receive HSTS header ihongzu.com: could not connect to host ihrlotto.de: could not connect to host @@ -7421,7 +8181,6 @@ ihrnationalrat.ch: could not connect to host ihsbsd.me: could not connect to host ihsbsd.tk: could not connect to host ihzys.com: could not connect to host -ii74.com: did not receive HSTS header iide.co: did not receive HSTS header iideaz.org: could not connect to host iilin.com: did not receive HSTS header @@ -7440,7 +8199,6 @@ ikzoekjeugdhulp.nl: did not receive HSTS header ilbuongiorno.it: did not receive HSTS header ildomani.it: did not receive HSTS header ileat.com: could not connect to host -ilemonrain.com: could not connect to host ilgi.work: could not connect to host ilii.me: could not connect to host ilikerainbows.co: did not receive HSTS header @@ -7449,7 +8207,7 @@ ilikfreshweedstores.com: did not receive HSTS header ilmconpm.de: could not connect to host iloilofit.org: did not receive HSTS header ilona.graphics: did not receive HSTS header -iltec-prom.ru: could not connect to host +iltisim.ch: did not receive HSTS header iluvscotland.co.uk: did not receive HSTS header im-design.com.ua: did not receive HSTS header imadalin.ro: could not connect to host @@ -7458,28 +8216,27 @@ imagecurl.com: could not connect to host imagecurl.org: could not connect to host imaginarymakings.me: could not connect to host imakepoems.net: could not connect to host -imanhearts.com: could not connect to host +imanhearts.com: max-age too low: 0 imanudin.net: did not receive HSTS header +imaple.org: could not connect to host imbrian.org: could not connect to host -ime.moe: could not connect to host imed.com.pt: did not receive HSTS header imed.pt: did not receive HSTS header imedi.it: could not connect to host imfromthefuture.com: did not receive HSTS header -img.ovh: could not connect to host imgencrypt.com: could not connect to host imgul.net: could not connect to host imguoguo.com: could not connect to host imim.pw: could not connect to host imjiangtao.com: did not receive HSTS header imlinan.cn: could not connect to host +imlinan.com: could not connect to host imlinan.info: could not connect to host imlinan.net: could not connect to host imlonghao.com: did not receive HSTS header immanuel60.hu: did not receive HSTS header immaternity.com: could not connect to host -immersionwealth.com: could not connect to host -immo-vk.de: did not receive HSTS header +immersivewebportal.com: could not connect to host immobiliarecapitani.com: did not receive HSTS header immobilien-wallat.de: could not connect to host immoprotect.ca: did not receive HSTS header @@ -7509,13 +8266,13 @@ imoto.me: could not connect to host imperdintechnologies.com: could not connect to host imperialonlinestore.com: did not receive HSTS header imperialwebsolutions.com: did not receive HSTS header +imperiodigital.online: did not receive HSTS header imprenta-es.com: did not receive HSTS header improvingwp.com: could not connect to host impulse-clan.de: could not connect to host -imrejonk.nl: could not connect to host imu.li: did not receive HSTS header imusic.dk: did not receive HSTS header -imy.life: could not connect to host +imy.life: did not receive HSTS header inandeyes.com: did not receive HSTS header inb4.us: could not connect to host inbox.li: did not receive HSTS header @@ -7536,19 +8293,20 @@ indien.guide: could not connect to host indilens.com: did not receive HSTS header indiraactive.com: could not connect to host indiroyunu.com: did not receive HSTS header +indogerman.de: did not receive HSTS header +indogermantrade.de: could not connect to host indoorskiassen.nl: did not receive HSTS header indostar303.com: did not receive HSTS header indredouglas.me: could not connect to host industreiler.com: could not connect to host industreiler.com.br: could not connect to host -industriasrenova.com: could not connect to host -industrybazar.com: max-age too low: 2592000 +industrybazar.com: did not receive HSTS header ineed.com.mt: could not connect to host inetpub.cn: could not connect to host +inevitavelbrasil.com.br: could not connect to host inexlog.fr: could not connect to host inexpensivecomputers.net: could not connect to host infcof.com: did not receive HSTS header -inff.info: did not receive HSTS header infilock.com: could not connect to host infinether.net: could not connect to host infinitiofmarinparts.com: could not connect to host @@ -7567,14 +8325,14 @@ info-bay.com: could not connect to host info-sys.tk: could not connect to host infoamin.com: did not receive HSTS header infocoin.es: did not receive HSTS header -infoduv.fr: did not receive HSTS header inforichjapan.com: did not receive HSTS header inforisposte.com: did not receive HSTS header +informaciondeciclismo.com: did not receive HSTS header informaticapremium.com: did not receive HSTS header informatik.zone: could not connect to host infos-generation.com: did not receive HSTS header infosec.rip: could not connect to host -infosimmo.com: could not connect to host +infosimmo.com: did not receive HSTS header infosoph.org: could not connect to host infotics.es: did not receive HSTS header infovae-idf.com: could not connect to host @@ -7583,12 +8341,15 @@ infradio.am: could not connect to host infranix.eu: max-age too low: 7360000 infruction.com: could not connect to host infura.co.th: could not connect to host +ing89.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +ing89.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] ingalabs.hu: could not connect to host ingalls.run: could not connect to host ingesol.fr: did not receive HSTS header ingresscode.cn: did not receive HSTS header inhelix.com: could not connect to host inhive.group: did not receive HSTS header +iniiter.com: could not connect to host injapan.nl: could not connect to host injertoshorticolas.com: did not receive HSTS header injigo.com: did not receive HSTS header @@ -7608,6 +8369,7 @@ inku.ovh: did not receive HSTS header inkvisual.tk: could not connect to host inleaked.com: could not connect to host inme.ga: did not receive HSTS header +inmusrv.de: could not connect to host innerform.com: could not connect to host innit.be: could not connect to host innobatics.com: did not receive HSTS header @@ -7616,14 +8378,15 @@ innovamag.ca: did not receive HSTS header innovativebuildingsolutions.co.za: could not connect to host innovativeideaz.org: could not connect to host innoventure.de: could not connect to host +innwan.com: could not connect to host inondation.ch: could not connect to host inorder.website: could not connect to host inovatec.com: did not receive HSTS header -inox.io: did not receive HSTS header +inox.io: could not connect to host inoxio.com: did not receive HSTS header inoxio.de: did not receive HSTS header inplacers.ru: did not receive HSTS header -inquisitive.io: did not receive HSTS header +inquisitive.io: could not connect to host insane-bullets.com: could not connect to host insane.zone: could not connect to host inschrijfformulier.com: could not connect to host @@ -7658,11 +8421,13 @@ intel.gov: did not receive HSTS header intel.li: could not connect to host intelbet.es: did not receive HSTS header intelbet.ro: did not receive HSTS header +intelhost.net: max-age too low: 0 intelldynamics.com: could not connect to host -intelliance.eu: could not connect to host +intelliance.eu: did not receive HSTS header interboursegeneva.ch: did not receive HSTS header interchanges.io: max-age too low: 0 interference.io: did not receive HSTS header +interfloraservices.co.uk: could not connect to host intergenx.co.uk: could not connect to host intergenx.com: could not connect to host intergenx.org: could not connect to host @@ -7680,7 +8445,6 @@ internacao.com: did not receive HSTS header internaldh.com: could not connect to host internationalschoolnewyork.com: could not connect to host internaut.co.za: did not receive HSTS header -internet-pornografie.de: did not receive HSTS header internetbugbounty.org: did not receive HSTS header internetcasinos.de: could not connect to host internetcensus.org: could not connect to host @@ -7692,7 +8456,6 @@ interociter-enterprises.com: could not connect to host intersectraven.net: did not receive HSTS header interspot.nl: could not connect to host interstellarhyperdrive.com: did not receive HSTS header -interview-suite.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] interviewpipeline.co.uk: could not connect to host intervisteperstrada.com: did not receive HSTS header intexplore.org: could not connect to host @@ -7701,10 +8464,11 @@ intimateperrierjouet.com: could not connect to host intimici.com.br: could not connect to host intimtoy.com.ua: could not connect to host intranetsec.fr: could not connect to host +intreaba.xyz: could not connect to host introvertedtravel.space: max-age too low: 0 -intrp.net: could not connect to host -inusasha.de: could not connect to host +intrp.net: did not receive HSTS header invenio.software: could not connect to host +inventoryexpress.xyz: could not connect to host inverselink.com: could not connect to host investcountry.com: could not connect to host investingdiary.cn: could not connect to host @@ -7712,20 +8476,22 @@ investingtrader.net: could not connect to host investnext.com: max-age too low: 43200 investorloanshub.com: could not connect to host invictusmc.uk: could not connect to host -invinoaustria.cz: did not receive HSTS header invinsec.cloud: did not receive HSTS header invinsec.com: max-age too low: 86400 invis.net: could not connect to host +invitation-factory.tk: could not connect to host invite24.pro: could not connect to host +invitescene.com: did not receive HSTS header invuelto.com: did not receive HSTS header +iodev.nl: could not connect to host iodice.org: did not receive HSTS header iodu.re: could not connect to host ioiart.eu: could not connect to host iolife.dk: could not connect to host ionas-law.ro: did not receive HSTS header ionc.ca: could not connect to host -ionote.me: did not receive HSTS header -iop.intuit.com: max-age too low: 86400 +ionote.me: could not connect to host +iop.intuit.com: did not receive HSTS header iora.fr: could not connect to host iostips.ru: could not connect to host iotfen.com: could not connect to host @@ -7733,10 +8499,13 @@ iotsms.io: could not connect to host ip-life.net: did not receive HSTS header ip.or.at: could not connect to host ip6.im: did not receive HSTS header +ipadportfolioapp.com: did not receive HSTS header +ipawind.com: did not receive HSTS header ipbill.org.uk: could not connect to host ipcfg.me: could not connect to host ipfp.pl: did not receive HSTS header iphonechina.net: could not connect to host +iphoneportfolioapp.com: did not receive HSTS header iplife.cn: could not connect to host iplog.info: could not connect to host ipmimagazine.com: did not receive HSTS header @@ -7762,18 +8531,20 @@ ipvsec.nl: could not connect to host iqcn.co: could not connect to host iqualtech.com: max-age too low: 7889238 ir-saitama.com: could not connect to host +iran-geo.com: could not connect to host iran-poll.org: max-age too low: 0 irandp.net: did not receive HSTS header iranianlawschool.com: could not connect to host iraqidinar.org: did not receive HSTS header irazimina.ru: did not receive HSTS header irccloud.com: did not receive HSTS header +ircmett.de: did not receive HSTS header iready.ro: could not connect to host irelandesign.com: could not connect to host -irinkeby.nu: could not connect to host +irinkeby.nu: did not receive HSTS header irische-segenswuensche.info: could not connect to host irisdina.de: could not connect to host -irishmusic.nu: could not connect to host +irishmusic.nu: did not receive HSTS header irland.guide: could not connect to host irmag.ru: did not receive HSTS header irmtrudjurke.de: did not receive HSTS header @@ -7789,11 +8560,16 @@ irun-telecom.co.uk: could not connect to host irvinepa.org: max-age too low: 10540800 is-a-furry.org: did not receive HSTS header isaackabel.cf: could not connect to host +isaackabel.ga: could not connect to host +isaackabel.gq: could not connect to host +isaackabel.ml: could not connect to host +isaackabel.tk: could not connect to host ischool.co.jp: did not receive HSTS header +isdecolaop.nl: could not connect to host isdf.me: could not connect to host isdown.cz: could not connect to host isef-eg.com: did not receive HSTS header -iserv.fr: could not connect to host +iserv.fr: did not receive HSTS header isfriday.com: could not connect to host ishadowsocks.ltd: could not connect to host ishillaryclintoninprisonyet.com: could not connect to host @@ -7807,15 +8583,17 @@ iskai.net: did not receive HSTS header iskkk.com: could not connect to host iskkk.net: could not connect to host islandinthenet.com: did not receive HSTS header +islandlakeil.gov: could not connect to host islandoilsupply.com: max-age too low: 300 islandpumpandtank.com: did not receive HSTS header -islandzero.net: did not receive HSTS header +islandzero.net: could not connect to host islazia.fr: did not receive HSTS header -islief.com: could not connect to host isntall.us: did not receive HSTS header +isocom.eu: could not connect to host isoface33.fr: did not receive HSTS header isogen5.com: could not connect to host isogram.nl: did not receive HSTS header +isondo.com: could not connect to host isoroc-nidzica.pl: could not connect to host ispringcloud.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] ispweb.es: did not receive HSTS header @@ -7823,22 +8601,21 @@ israkurort.com: could not connect to host issala.org: did not receive HSTS header isscouncil.com: could not connect to host isslshop.com: could not connect to host -istanbul.systems: could not connect to host istanbultravelguide.info: could not connect to host istaspirtslietas.lv: did not receive HSTS header istgame.com: did not receive HSTS header isthefieldcontrolsystemdown.com: could not connect to host istherrienstillcoach.com: could not connect to host isv.online: did not receive HSTS header -isyu.xyz: could not connect to host it-cave.com: could not connect to host +it-enthusiasts.tech: could not connect to host it-go.net: did not receive HSTS header +it-kron.de: did not receive HSTS header it-labor.info: did not receive HSTS header -it-schamans.de: could not connect to host it-schwerin.de: could not connect to host -it-shamans.de: could not connect to host -it-shamans.eu: could not connect to host +it1b.com: could not connect to host itad.top: could not connect to host +itblog.pp.ua: did not receive HSTS header itbrief.co.nz: did not receive HSTS header itbrief.com.au: did not receive HSTS header itchimes.com: did not receive HSTS header @@ -7847,18 +8624,18 @@ itchybrainscentral.com: could not connect to host itds-consulting.com: could not connect to host itds-consulting.cz: could not connect to host itds-consulting.eu: could not connect to host -itechgeek.com: max-age too low: 0 +itechgeek.com: did not receive HSTS header +iteli.eu: did not receive HSTS header items.lv: did not receive HSTS header itemton.com: could not connect to host +iterror.co: could not connect to host itfaq.nl: did not receive HSTS header itfensi.net: max-age too low: 6307200 itforcc.com: did not receive HSTS header ithakama.com: could not connect to host -itilo.de: did not receive HSTS header itinsight.hu: did not receive HSTS header itiomassagem.com.br: did not receive HSTS header itisjustnot.cricket: could not connect to host -itmanie.cz: could not connect to host itnews-bg.com: could not connect to host itogoyomi.com: did not receive HSTS header itos.asia: did not receive HSTS header @@ -7884,12 +8661,14 @@ ittop-gabon.com: could not connect to host itu2015.de: could not connect to host ius.io: did not receive HSTS header iuscommunity.org: did not receive HSTS header +ivanilla.org: could not connect to host ivanpolchenko.com: could not connect to host ivi-co.com: max-age too low: 0 ivi-fertility.com: max-age too low: 0 ivi.es: max-age too low: 0 ivk.website: could not connect to host ivklombard.ru: did not receive HSTS header +ivoryonsunset.com: could not connect to host ivxv.ee: could not connect to host ivyshop.com.br: could not connect to host iwannarefill.com: could not connect to host @@ -7902,12 +8681,10 @@ ix8.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAI ixec2.tk: could not connect to host ixh.me: did not receive HSTS header ixio.cz: could not connect to host -iyinolaashafa.com: could not connect to host izdiwho.com: could not connect to host izolight.ch: could not connect to host izonemart.com: did not receive HSTS header izoox.com: did not receive HSTS header -izxxs.com: could not connect to host izzzorgconcerten.nl: could not connect to host j-eck.nl: did not receive HSTS header j-lsolutions.com: could not connect to host @@ -7916,17 +8693,17 @@ j0ng.xyz: could not connect to host j15t98j.co.uk: did not receive HSTS header j2ee.cz: could not connect to host j8y.de: did not receive HSTS header -ja-dyck.de: could not connect to host -ja-publications.agency: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] ja-publications.com: did not receive HSTS header jaan.su: could not connect to host jaaxypro.com: could not connect to host -jability.ovh: did not receive HSTS header +jability.ovh: could not connect to host jackalworks.com: could not connect to host jackdoan.com: did not receive HSTS header jackfahnestock.com: could not connect to host jackops.com: could not connect to host jackrusselterrier.com.br: could not connect to host +jackyyf.com: could not connect to host +jaco.by: could not connect to host jacobparry.ca: max-age too low: 0 jadara.info: could not connect to host jaepinformatica.com: did not receive HSTS header @@ -7937,18 +8714,19 @@ jaion.ml: could not connect to host jaion.tech: could not connect to host jak-na-les.cz: could not connect to host jakenbake.com: could not connect to host +jakeslab.tech: could not connect to host jakewalker.xyz: did not receive HSTS header jakincode.army: could not connect to host jaksel.id: could not connect to host jaksi.io: did not receive HSTS header -jakubarbet.eu: did not receive HSTS header +jakubarbet.eu: could not connect to host jamanji.com.ng: could not connect to host jamaware.org: could not connect to host jamberry.com.mx: could not connect to host james-parker.com: did not receive HSTS header james.je: could not connect to host -jamesandanneke.com: did not receive HSTS header -jamesbradach.com: did not receive HSTS header +jamesandanneke.com: could not connect to host +jamesbradach.com: could not connect to host jamesburton.london: could not connect to host jamesbywater.co.uk: could not connect to host jamesbywater.com: could not connect to host @@ -7975,6 +8753,7 @@ jan-cermak.cz: did not receive HSTS header jan-daniels.de: did not receive HSTS header jan27.org: did not receive HSTS header janario.me: could not connect to host +janebondsurety.com: did not receive HSTS header jangho.me: could not connect to host jangocloud.tk: could not connect to host janheidler.dynv6.net: could not connect to host @@ -7987,14 +8766,12 @@ janssen.fm: could not connect to host janus-engineering.de: did not receive HSTS header janverlaan.nl: did not receive HSTS header jap-nope.de: did not receive HSTS header -japan4you.org: could not connect to host -japanbaths.com: could not connect to host +japan4you.org: did not receive HSTS header +japanbaths.com: did not receive HSTS header japaneseemoticons.org: did not receive HSTS header japanesenames.biz: did not receive HSTS header -japangids.nl: could not connect to host -japanphilosophy.com: did not receive HSTS header japansm.com: could not connect to host -japanwide.net: could not connect to host +japanwide.net: did not receive HSTS header japaripark.com: could not connect to host jape.today: could not connect to host japlex.com: could not connect to host @@ -8002,13 +8779,13 @@ jaqen.ch: could not connect to host jardins-utopie.net: could not connect to host jaredbates.net: did not receive HSTS header jaredfraser.com: could not connect to host -jarivisual.com: did not receive HSTS header +jarivisual.com: could not connect to host jarl.ninja: could not connect to host jarnail.ca: could not connect to host jaroslavtrsek.cz: did not receive HSTS header jarrodcastaing.com: did not receive HSTS header jarrodcastaing.com.au: did not receive HSTS header -jarsater.com: did not receive HSTS header +jarsater.com: could not connect to host jartza.org: could not connect to host jasmineconseil.com: did not receive HSTS header jasoncosper.com: did not receive HSTS header @@ -8018,6 +8795,7 @@ jasonrobinson.me: [Exception... "Component returned failure code: 0x80004005 (NS jasonroe.me: did not receive HSTS header jasonwindholz.com: could not connect to host jastoria.pl: did not receive HSTS header +jastrow.me: did not receive HSTS header jateng.press: could not connect to host jav-collective.com: could not connect to host java-board.com: could not connect to host @@ -8037,7 +8815,7 @@ jaylen.com.ar: did not receive HSTS header jayna.design: did not receive HSTS header jayschulman.com: did not receive HSTS header jayscoaching.com: could not connect to host -jayshao.com: could not connect to host +jayshao.com: did not receive HSTS header jazzinutrecht.info: could not connect to host jballelectronics.com: did not receive HSTS header jbelien.be: did not receive HSTS header @@ -8066,28 +8844,31 @@ jdh8.org: did not receive HSTS header jdsf.tk: did not receive HSTS header jean-remy.ch: could not connect to host jebengotai.com: did not receive HSTS header +jec-dekrone.be: did not receive HSTS header jecho.cn: could not connect to host -jedwarddurrett.com: could not connect to host -jeff.forsale: could not connect to host -jeff.is: did not receive HSTS header +jedayoshi.me: could not connect to host +jeepmafia.com: did not receive HSTS header +jeff.forsale: did not receive HSTS header +jeff.is: could not connect to host jeff393.com: could not connect to host +jeffanderson.me: did not receive HSTS header jeffersonregan.org: could not connect to host jeffhuxley.com: could not connect to host jeffreymagee.com: did not receive HSTS header -jeffsanders.com: did not receive HSTS header -jehovahsays.net: could not connect to host jeil-makes.co.kr: could not connect to host +jelewa.de: did not receive HSTS header +jelleglebbeek.com: max-age too low: 0 jellow.nl: did not receive HSTS header jemoticons.com: did not receive HSTS header jenjoit.de: could not connect to host +jennedebleser.com: did not receive HSTS header jenniferchan.id.au: could not connect to host jennifercherniack.com: did not receive HSTS header jennybeaned.com: did not receive HSTS header jens-prangenberg.de: did not receive HSTS header jens.hk: could not connect to host jensenbanden.no: could not connect to host -jenssen.org: did not receive HSTS header -jeremyc.ca: could not connect to host +jenssen.org: could not connect to host jeremye77.com: did not receive HSTS header jeremymade.com: did not receive HSTS header jeremywagner.me: did not receive HSTS header @@ -8097,18 +8878,18 @@ jeroenvanderwal.nl: did not receive HSTS header jeroldirvin.com: did not receive HSTS header jerrypau.ca: could not connect to host jesorsenville.com: did not receive HSTS header -jessevictors.com: could not connect to host jessicah.org: could not connect to host jesuisformidable.nl: could not connect to host jesuslucas.com: did not receive HSTS header -jet-code.com: could not connect to host +jet-code.com: did not receive HSTS header +jetapi.org: could not connect to host jetbrains.pw: could not connect to host -jetflex.de: did not receive HSTS header jetlagphotography.com: could not connect to host jetmirshatri.com: did not receive HSTS header jeton.com: did not receive HSTS header jetsetcharge.com: could not connect to host jetsetpay.com: could not connect to host +jettlarue.com: could not connect to host jettravel.com.mt: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] jettshome.org: could not connect to host jetzt-elektromobil.de: could not connect to host @@ -8118,6 +8899,7 @@ jewellerymarvels.com: did not receive HSTS header jez.nl: could not connect to host jfmel.com: did not receive HSTS header jfnllc.com: could not connect to host +jfr.im: did not receive HSTS header jfx.space: did not receive HSTS header jh-media.eu: could not connect to host jhburton.co.uk: could not connect to host @@ -8125,9 +8907,12 @@ jhburton.uk: could not connect to host jhcommunitysports.co.uk: could not connect to host jhejderup.me: could not connect to host jhermsmeier.de: could not connect to host +jhw-profiles.de: did not receive HSTS header jia1hao.com: could not connect to host +jiacl.com: could not connect to host jiaidu.com: could not connect to host jiangzequn.com: could not connect to host +jiangzm.com: could not connect to host jianjiantv.com: could not connect to host jiaqiang.vip: could not connect to host jichi.me: could not connect to host @@ -8135,6 +8920,7 @@ jie.dance: could not connect to host jief.me: could not connect to host jigsawdevelopments.com: could not connect to host jiid.ga: could not connect to host +jikegu.com: could not connect to host jikken.de: could not connect to host jimas.eu: did not receive HSTS header jimenacocina.com: did not receive HSTS header @@ -8142,6 +8928,8 @@ jimgao.tk: did not receive HSTS header jimmehcai.com: could not connect to host jimmynelson.com: did not receive HSTS header jinancy.fr: could not connect to host +jing-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +jing-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] jingyuesi.com: could not connect to host jinliming.ml: could not connect to host jinmaguoji.com: could not connect to host @@ -8153,12 +8941,11 @@ jitlab.org: could not connect to host jitsi.org: did not receive HSTS header jiveiaktivno.bg: did not receive HSTS header jiyue.com: did not receive HSTS header -jiyuu-ni.com: could not connect to host -jiyuu-ni.net: could not connect to host jjf.org.au: did not receive HSTS header jka.io: did not receive HSTS header jkb.pics: could not connect to host jkbuster.com: could not connect to host +jkest.cc: could not connect to host jkng.eu: could not connect to host jko.works: could not connect to host jkuvw.xyz: could not connect to host @@ -8170,20 +8957,20 @@ jmb.lc: could not connect to host jmotion.co.uk: did not receive HSTS header jmpmotorsport.co.uk: did not receive HSTS header jmvbmx.ch: could not connect to host +jmvdigital.com: did not receive HSTS header jn1.me: did not receive HSTS header jncde.de: did not receive HSTS header jncie.de: did not receive HSTS header jncie.eu: did not receive HSTS header jncip.de: did not receive HSTS header joakimalgroy.com: could not connect to host -joaquimgoliveira.pt: could not connect to host -job-offer.de: could not connect to host jobers.ch: did not receive HSTS header jobers.pt: did not receive HSTS header jobflyapp.com: could not connect to host jobmedic.com: could not connect to host +jobmob.co.il: did not receive HSTS header jobshq.com: did not receive HSTS header -jobss.co.uk: did not receive HSTS header +jobss.co.uk: could not connect to host jobtestprep.de: max-age too low: 0 jobtestprep.dk: max-age too low: 0 jobtestprep.fr: max-age too low: 0 @@ -8191,6 +8978,7 @@ jobtestprep.it: did not receive HSTS header jobtestprep.nl: max-age too low: 0 jobtestprep.se: max-age too low: 0 jodel.ninja: could not connect to host +jodyshop.com: did not receive HSTS header joe-pagan.com: did not receive HSTS header joearodriguez.com: could not connect to host joecod.es: could not connect to host @@ -8201,20 +8989,20 @@ joetyson.io: could not connect to host johand.io: could not connect to host johannaojanen.com: could not connect to host johannes-bugenhagen.de: did not receive HSTS header -johannes-sprink.de: could not connect to host +johannes-sprink.de: did not receive HSTS header johnbrownphotography.ch: did not receive HSTS header johncardell.com: did not receive HSTS header johners.me: could not connect to host johngaltgroup.com: did not receive HSTS header johnhgaunt.com: did not receive HSTS header +johnmichel.org: could not connect to host johnmorganpartnership.co.uk: did not receive HSTS header johnrom.com: could not connect to host -johnsiu.com: did not receive HSTS header johntomasowa.com: could not connect to host johnverkerk.com: could not connect to host joinamericacorps.gov: could not connect to host jointoweb.com: could not connect to host -jomp16.tk: could not connect to host +jomp16.tk: did not receive HSTS header jonarcher.info: did not receive HSTS header jonas-keidel.de: did not receive HSTS header jonasgroth.se: did not receive HSTS header @@ -8223,6 +9011,7 @@ jonathandowning.uk: did not receive HSTS header jonathanmassacand.ch: could not connect to host jonathanreyes.com: did not receive HSTS header jonathansanchez.pro: could not connect to host +jonesopolis.xyz: could not connect to host jonfor.net: could not connect to host jongha.me: could not connect to host jonn.me: could not connect to host @@ -8242,10 +9031,13 @@ jornadasciberdefensa2016.es: could not connect to host jorovik.com: did not receive HSTS header jorrit.info: max-age too low: 0 josahrens.me: could not connect to host +josc.com.au: could not connect to host jose.eti.br: did not receive HSTS header joseaveleira.es: did not receive HSTS header josecage.com: could not connect to host -josephre.es: max-age too low: 43200 +josegerber.ch: did not receive HSTS header +josemikkola.fi: could not connect to host +josericaurte.com: could not connect to host joshi.su: could not connect to host joshplant.co.uk: could not connect to host joshstroup.me: could not connect to host @@ -8253,9 +9045,10 @@ joto.de: did not receive HSTS header jotpics.com: could not connect to host jottit.com: could not connect to host jouetspetitechanson.com: could not connect to host -journalof.tech: could not connect to host +journalof.tech: max-age too low: 86400 joworld.net: could not connect to host joyceclerkx.com: could not connect to host +joyceseamone.com: did not receive HSTS header joyjohnston.ca: did not receive HSTS header joyqi.com: did not receive HSTS header jpaglier.com: could not connect to host @@ -8267,7 +9060,7 @@ jproxx.com: did not receive HSTS header jptun.com: could not connect to host jrgold.me: could not connect to host jrmd.io: could not connect to host -jrvar.com: did not receive HSTS header +jrvar.com: could not connect to host js88.sg: could not connect to host jsanders.us: did not receive HSTS header jsbentertainment.nl: could not connect to host @@ -8277,28 +9070,30 @@ jsc7776.com: could not connect to host jsdelivr.net: could not connect to host jsg-technologies.de: did not receive HSTS header jsjyhzy.cc: could not connect to host +jslidong.top: did not receive HSTS header json-viewer.com: did not receive HSTS header jstelecom.com.br: did not receive HSTS header -jsuse.xyz: did not receive HSTS header +jstore.ch: could not connect to host +jsuse.xyz: could not connect to host jsvr.tk: could not connect to host +jsxc.ch: could not connect to host +jtcjewelry.com: could not connect to host ju1ro.de: could not connect to host jualautoclave.com: did not receive HSTS header jualssh.com: could not connect to host juandesouza.com: did not receive HSTS header juanhub.com: did not receive HSTS header +jubee.nl: did not receive HSTS header juchheim-methode.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -judge2020.com: did not receive HSTS header +jucktehkeinen.de: did not receive HSTS header juiced.gs: did not receive HSTS header juka.pp.ua: could not connect to host -juku-info.top: did not receive HSTS header julegoerke.de: did not receive HSTS header -julenlanda.com: could not connect to host juliamweber.de: could not connect to host julian-kipka.de: did not receive HSTS header julian-witusch.de: could not connect to host juliankirchner.ch: did not receive HSTS header julianwallmeroth.de: could not connect to host -julianxhokaxhiu.com: did not receive HSTS header juliaoantiguidades.com.br: could not connect to host juliawebber.co.za: could not connect to host julido.de: did not receive HSTS header @@ -8319,26 +9114,28 @@ jungleculture.co.za: did not receive HSTS header junglegoat.xyz: did not receive HSTS header juniwalk.cz: could not connect to host junjung.me: could not connect to host +junoaroma.com: could not connect to host junqtion.com: could not connect to host jupp0r.de: did not receive HSTS header juridiqueo.com: did not receive HSTS header +jurisprudent.by: did not receive HSTS header +juristas.com.br: did not receive HSTS header juristeo.com: did not receive HSTS header jurke.com: did not receive HSTS header jurko.cz: could not connect to host -jurriaan.ninja: could not connect to host -just-a-clanpage.de: could not connect to host just-english.online: did not receive HSTS header just-pools.co.za: could not connect to host just2trade.com: did not receive HSTS header -justiceforfathers.com: did not receive HSTS header +justbelieverecovery.com: did not receive HSTS header +justiceforfathers.com: could not connect to host justiceo.org: did not receive HSTS header +justinellingwood.com: could not connect to host justinlemay.com: could not connect to host justinrudio.com: did not receive HSTS header justlikethat.hosting: did not receive HSTS header justmy.website: did not receive HSTS header justnaw.co.uk: could not connect to host justonce.net: could not connect to host -justsome.info: did not receive HSTS header justudin.com: did not receive HSTS header justwood.cz: did not receive HSTS header justzz.xyz: could not connect to host @@ -8349,22 +9146,24 @@ juventusmania1897.com: could not connect to host juwairen.cn: could not connect to host juzgalo.com: did not receive HSTS header jvn.com: did not receive HSTS header -jvoice.net: did not receive HSTS header +jvoice.net: could not connect to host jwilsson.me: could not connect to host jwolt-lx.com: could not connect to host jxir.de: could not connect to host jysperm.me: did not receive HSTS header +jzachpearson.com: max-age too low: 0 +jzcapital.co: could not connect to host jznet.org: could not connect to host k-dev.de: could not connect to host k-rickroll-g.pw: could not connect to host -k-wallet.com: did not receive HSTS header +k-wallet.com: could not connect to host k1cp.com: could not connect to host k33k00.com: did not receive HSTS header -k38.cc: max-age too low: 3600 +k38.cc: could not connect to host ka-clan.com: could not connect to host kaanduman.com: could not connect to host -kaany.io: could not connect to host kaasbijwijn.nl: did not receive HSTS header +kaashosting.nl: did not receive HSTS header kabinapp.com: did not receive HSTS header kabuabc.com: could not connect to host kabus.org: could not connect to host @@ -8374,6 +9173,7 @@ kadmec.com: did not receive HSTS header kaela.design: could not connect to host kahopoon.net: could not connect to host kai.cool: did not receive HSTS header +kaibol.com: could not connect to host kaika-facilitymanagement.de: could not connect to host kaika-hms.de: did not receive HSTS header kainetsoft.com: could not connect to host @@ -8385,8 +9185,9 @@ kajlovo.cz: could not connect to host kakaomilchkuh.de: did not receive HSTS header kaketalk.com: did not receive HSTS header kakoo-media.nl: could not connect to host -kakoo.nl: could not connect to host +kakoo.nl: did not receive HSTS header kakoomedia.nl: could not connect to host +kakuto.me: could not connect to host kalami.nl: could not connect to host kaleidomarketing.com: did not receive HSTS header kaleidoskop-freiburg.de: did not receive HSTS header @@ -8394,23 +9195,24 @@ 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 +kamatajisyaku.tokyo.jp: 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 kamitech.ch: could not connect to host -kanaanonline.org: max-age too low: 86400 kanada.guide: could not connect to host -kanagawachuo-hospital.jp: did not receive HSTS header +kanagawachuo-hospital.jp: could not connect to host kanar.nl: could not connect to host kancolle.me: could not connect to host +kandalife.com: could not connect to host kandec.co.jp: did not receive HSTS header kaneisdi.com: did not receive HSTS header kaneo-gmbh.de: did not receive HSTS header kanganer.com: could not connect to host -kangkai.me: could not connect to host kangzaber.com: could not connect to host kaniklani.co.za: did not receive HSTS header -kanmitao.com: could not connect to host +kanmitao.com: did not receive HSTS header +kannchen.de: could not connect to host kanotijd.nl: could not connect to host kanr.in: could not connect to host kanscooking.org: could not connect to host @@ -8420,18 +9222,21 @@ kanzlei-wirtschaftsrecht.berlin: max-age too low: 600000 kanzshop.com: could not connect to host kaohub.com: could not connect to host kaomojis.net: did not receive HSTS header +kaotik4266.com: could not connect to host +kapiorr.duckdns.org: could not connect to host kaplatz.is: could not connect to host kapo.info: could not connect to host kappit.dk: could not connect to host kapucini.si: max-age too low: 0 -kaputt.com: max-age too low: 0 +kaputt.com: could not connect to host kapverde.guide: could not connect to host karamna.com: could not connect to host karanastic.com: did not receive HSTS header +karanlyons.com: could not connect to host karaoketonight.com: could not connect to host karatekit.co.uk: could not connect to host karatorian.org: could not connect to host -karenledger.ca: could not connect to host +karenledger.ca: did not receive HSTS header karjala-ski.ru: could not connect to host karlis-kavacis.id.lv: did not receive HSTS header karloskontana.tk: could not connect to host @@ -8439,25 +9244,25 @@ karlproctor.co.uk: could not connect to host karpanhellas.com: could not connect to host kars.ooo: could not connect to host karting34.com: did not receive HSTS header -karula.org: could not connect to host karuneshjohri.com: could not connect to host kashdash.ca: could not connect to host kashis.com.au: max-age too low: 0 -kat.al: max-age too low: 0 +kat.al: could not connect to host katalogakci.cz: did not receive HSTS header +katalogbutikker.dk: could not connect to host kathrinbaumannphotography.com: did not receive HSTS header kati0.com: could not connect to host katiaetdavid.fr: could not connect to host katja-nikolic-design.de: could not connect to host katoju.co.jp: could not connect to host katproxy.al: could not connect to host -katproxy.online: could not connect to host +katproxy.online: did not receive HSTS header katproxy.site: could not connect to host katproxy.tech: could not connect to host katproxy.top: could not connect to host katrinjanke.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] kattenfun.be: did not receive HSTS header -kattenfun.nl: did not receive HSTS header +kattenfun.nl: could not connect to host katthewaffle.fr: could not connect to host katzen.me: could not connect to host katzspeech.com: did not receive HSTS header @@ -8466,24 +9271,30 @@ kauperwood.ovh: could not connect to host kauplusprofesional.com: did not receive HSTS header kausch.at: could not connect to host kausta.me: could not connect to host +kaverti.com: did not receive HSTS header +kavik.no: could not connect to host kavinvin.me: could not connect to host +kawaiii.link: did not receive HSTS header 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 +kayleen.net: could not connect to host kayon.cf: could not connect to host kaysis.gov.tr: did not receive HSTS header kazamasion.com: could not connect to host kazanasolutions.de: could not connect to host kazenojiyu.fr: did not receive HSTS header -kb88.com: could not connect to host +kazumi.ooo: could not connect to host kbfl.org: could not connect to host kcluster.io: could not connect to host +kcptun.com: could not connect to host kd-plus.pp.ua: could not connect to host kdata.it: did not receive HSTS header kdbx.online: could not connect to host kdm-online.de: did not receive HSTS header kearney.io: could not connect to host +keditor.biz: could not connect to host keechain.io: could not connect to host keeley.gq: could not connect to host keeley.ml: could not connect to host @@ -8502,6 +9313,7 @@ kejibot.com: could not connect to host kekehouse.net: could not connect to host kellyandantony.com: could not connect to host kelm.me: could not connect to host +kelmarsafety.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] kelp.agency: did not receive HSTS header ken-electric.com.br: could not connect to host kenc.dk: max-age too low: 2592000 @@ -8512,16 +9324,17 @@ kenderhaz-magyarorszag.hu: did not receive HSTS header kenderhazmagyarorszag.hu: did not receive HSTS header kenkoelectric.com: did not receive HSTS header kenman.dk: max-age too low: 2592000 -kennynet.co.uk: could not connect to host +kennedy.ie: could not connect to host +kensparkesphotography.com: did not receive HSTS header kentacademiestrust.org.uk: did not receive HSTS header kepler-seminar.de: did not receive HSTS header kerangalam.com: did not receive HSTS header +kerem.xyz: could not connect to host kerksanders.nl: could not connect to host kermadec.blog: could not connect to host -kermadec.com: did not receive HSTS header -kermadec.net: could not connect to host kernelmode.io: did not receive HSTS header kernl.us: did not receive HSTS header +kersmexico.com: could not connect to host keshausconsulting.com: could not connect to host keskeces.com: did not receive HSTS header kessel-runners.com: could not connect to host @@ -8534,11 +9347,11 @@ kevinroebert.de: did not receive HSTS header kevlar.pw: did not receive HSTS header kewego.co.uk: could not connect to host keymaster.lookout.com: did not receive HSTS header -keys.jp: could not connect to host +keys.fedoraproject.org: could not connect to host keyserver.sexy: could not connect to host kfbrussels.be: could not connect to host kg-rating.com: could not connect to host -kgb.us: could not connect to host +kgb.us: did not receive HSTS header kgregorczyk.pl: could not connect to host kgxtech.com: max-age too low: 2592000 khaganat.net: did not receive HSTS header @@ -8553,8 +9366,11 @@ kickasstorrents.gq: could not connect to host kickerplaza.nl: did not receive HSTS header kid-dachau.de: max-age too low: 600000 kidbacker.com: could not connect to host +kiddies.academy: did not receive HSTS header +kiddieschristianacademy.co.za: did not receive HSTS header kidkat.cn: could not connect to host kidswallstickers.com.au: could not connect to host +kiedys.net: could not connect to host kiel-media.de: did not receive HSTS header kielderweather.org.uk: did not receive HSTS header kielwi.gov: could not connect to host @@ -8565,14 +9381,14 @@ kievradio.com: could not connect to host kikuzuki.org: could not connect to host kiladera.be: did not receive HSTS header kill-paff.com: did not receive HSTS header -kimana.pe: could not connect to host +kimana.pe: did not receive HSTS header kimberg.co.uk: did not receive HSTS header kimberlybeautysoapcompany.com: did not receive HSTS header +kimo.se: did not receive HSTS header kimpost.org: could not connect to host kimscrazeecastles.co.uk: did not receive HSTS header kina.guide: could not connect to host kinderbuecher-kostenlos.de: did not receive HSTS header -kinderjugendfreizeitverein.de: could not connect to host kinderly.co.uk: did not receive HSTS header kinderopvangengeltjes.nl: did not receive HSTS header kinderopvangzevenbergen.nl: did not receive HSTS header @@ -8599,16 +9415,22 @@ kintzingerfilm.de: did not receive HSTS header kionetworks.com: did not receive HSTS header kipin.fr: did not receive HSTS header kipira.com: could not connect to host +kipriakipita.gr: could not connect to host kiraboshi.xyz: could not connect to host +kirainmoe.com: did not receive HSTS header kirara.eu: could not connect to host -kircp.com: could not connect to host +kirillpokrovsky.de: could not connect to host kirito.kr: did not receive HSTS header kirkforsenate.com: could not connect to host kirkpatrickdavis.com: could not connect to host +kirrie.pe.kr: could not connect to host kisa.io: could not connect to host kiss-register.org: could not connect to host kissart.net: could not connect to host +kissesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +kissesb.net: could not connect to host kisskiss.ch: could not connect to host +kisstube.tv: could not connect to host kisstyle.ru: did not receive HSTS header kisun.co.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] kita.id: did not receive HSTS header @@ -8617,25 +9439,33 @@ kitakemon.com: could not connect to host kitashop.com.br: could not connect to host kitatec.com.br: could not connect to host kitchenaccessories.pro: did not receive HSTS header +kitchenalley.ca: could not connect to host +kitchenalley.com: could not connect to host kitchenchaos.de: could not connect to host +kitegarage.eu: did not receive HSTS header kiteschoolamsterdam.nl: could not connect to host kitestar.co.uk: did not receive HSTS header kitk.at: could not connect to host kitsostech.com: could not connect to host kitsta.com: could not connect to host kiwi.global: could not connect to host +kiwico.com: max-age too low: 0 kiwiirc.com: max-age too low: 5256000 kiwipayment.com: could not connect to host kiwipayments.com: could not connect to host kiwiplace.com: could not connect to host -kix.moe: could not connect to host +kix.moe: did not receive HSTS header kiyo.space: could not connect to host kizil.net: could not connect to host kj1391.com: did not receive HSTS header +kj1396.net: did not receive HSTS header +kj1397.com: did not receive HSTS header kjaermaxi.me: did not receive HSTS header kjg-bachrain.de: could not connect to host kjoglum.me: could not connect to host +kkomputer.net: could not connect to host kkull.tv: could not connect to host +kkws.co: could not connect to host klantenadvies.nl: did not receive HSTS header klas.or.id: did not receive HSTS header klatschreime.de: did not receive HSTS header @@ -8650,30 +9480,34 @@ kleinerarchitekturfuehrer.de: could not connect to host kleinholding.com: could not connect to host kleinserienproduktion.com: could not connect to host klempnershop.eu: did not receive HSTS header -kleppe.co: could not connect to host kletterkater.com: did not receive HSTS header klicktojob.de: could not connect to host klingeletest.de: could not connect to host klingsundet.no: did not receive HSTS header kliqsd.com: could not connect to host kloentrup.de: max-age too low: 604800 +klotz-labs.com: max-age too low: 7889238 klunkergarten.org: could not connect to host +klustekeningen.nl: did not receive HSTS header km-net.pl: did not receive HSTS header kmdev.me: did not receive HSTS header knapen.io: max-age too low: 604800 knccloud.com: could not connect to host +knegten-agilis.com: could not connect to host +kneipi.de: did not receive HSTS header kngk-azs.ru: could not connect to host knigadel.com: did not receive HSTS header knightsbridgegroup.org: could not connect to host knightsweep.com: could not connect to host kniwweler.com: could not connect to host -knnet.ch: could not connect to host knowdebt.org: did not receive HSTS header knowledgehook.com: did not receive HSTS header knowledgesnap.com: could not connect to host knowledgesnapsites.com: could not connect to host knownsec.cf: could not connect to host +knuckles.tk: could not connect to host kobieta.guru: could not connect to host +koboldcraft.ch: could not connect to host koddsson.com: did not receive HSTS header kodexplorer.ml: could not connect to host kodiaklabs.org: could not connect to host @@ -8689,6 +9523,9 @@ koirala.net: could not connect to host kokenmetaanbiedingen.nl: could not connect to host kokoiroworks.com: could not connect to host kola-entertainments.de: did not receive HSTS header +kolania.com: could not connect to host +kolania.net: could not connect to host +kolaykaydet.com: could not connect to host kolbeck.tk: could not connect to host kollawat.me: could not connect to host kolozsvaricsuhe.hu: did not receive HSTS header @@ -8712,33 +9549,36 @@ kori.ml: did not receive HSTS header koriyoukai.net: did not receive HSTS header kornersafe.com: did not receive HSTS header korni22.org: could not connect to host -korobkovsky.ru: could not connect to host -korsanparti.org: could not connect to host +korsanparti.org: did not receive HSTS header kostuumstore.nl: could not connect to host kostya.net: did not receive HSTS header kotakoo.id: could not connect to host -kother.org: could not connect to host +kotausaha.com: could not connect to host +kotelezobiztositas.eu: could not connect to host kotomei.moe: could not connect to host kotonehoko.net: could not connect to host kotorimusic.ga: could not connect to host kotovstyle.ru: could not connect to host +kottur.is: could not connect to host koukni.cz: did not receive HSTS header kourpe.online: could not connect to host kousaku.jp: could not connect to host -kouten-jp.com: could not connect to host +kovnsk.net: could not connect to host kozmik.co: could not connect to host kpdyer.com: did not receive HSTS header kpebetka.net: did not receive HSTS header +kpmgpublications.ie: did not receive HSTS header kpn-dnssec.com: could not connect to host kprog.net: did not receive HSTS header kpvpn.com: could not connect to host kraigwalker.com: could not connect to host +kraiwan.com: did not receive HSTS header krasavchik.by: could not connect to host krasota.ru: did not receive HSTS header krausen.ca: did not receive HSTS header +krausoft.hu: did not receive HSTS header kravelindo-adventure.com: could not connect to host kraynik.com: could not connect to host -krayx.com: could not connect to host krc.link: could not connect to host kream.io: did not receive HSTS header kreavis.com: did not receive HSTS header @@ -8754,62 +9594,63 @@ kriegt.es: did not receive HSTS header krist.club: did not receive HSTS header kristjanrang.eu: did not receive HSTS header kristofferkoch.com: could not connect to host -krizek.cc: did not receive HSTS header +krizek.cc: could not connect to host krizevackapajdasija.hr: could not connect to host krmela.com: did not receive HSTS header kroetenfuchs.de: could not connect to host krokodent.de: did not receive HSTS header +kronaw.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] kronych.cz: could not connect to host kroodle.nl: did not receive HSTS header -kroon.email: could not connect to host -krouzkyliduska.cz: could not connect to host +krouzkyliduska.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] kruegerrand-wert.de: did not receive HSTS header krunut.com: did not receive HSTS header +krusesec.com: could not connect to host kryha.io: did not receive HSTS header krypteia.org: could not connect to host kryptomech.com: could not connect to host +kryptomodkingz.com: could not connect to host ks88.com: could not connect to host -ksero.center: could not connect to host ksfh-mail.de: could not connect to host -ksham.net: could not connect to host ksk-agentur.de: did not receive HSTS header kstan.me: could not connect to host kswcosmetics.com: could not connect to host kswriter.com: could not connect to host kteen.info: did not receive HSTS header ktube.yt: could not connect to host -ku.io: did not receive HSTS header kuba.guide: could not connect to host kubiwa.net: could not connect to host kubusadvocaten.nl: could not connect to host kuchenschock.de: did not receive HSTS header kucheryavenkovn.ru: did not receive HSTS header kucom.it: did not receive HSTS header +kueche-co.de: max-age too low: 9190324 kuechenplan.online: could not connect to host kueulangtahunanak.net: could not connect to host kuko-crews.org: could not connect to host kultmobil.se: did not receive HSTS header kum.com: could not connect to host kummerlaender.eu: did not receive HSTS header -kundenerreichen.com: did not receive HSTS header -kundenerreichen.de: did not receive HSTS header +kundenerreichen.com: could not connect to host +kundenerreichen.de: could not connect to host kundo.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -kunstfehler.at: max-age too low: 86400 +kunstfehler.at: did not receive HSTS header kunstschule-krabax.de: did not receive HSTS header kuops.com: did not receive HSTS header kupdokuchyne.cz: could not connect to host -kupelne-ptacek.sk: did not receive HSTS header +kupelne-ptacek.sk: could not connect to host kuppingercole.com: did not receive HSTS header kura.io: could not connect to host kurehun.org: could not connect to host kuro346.moe: could not connect to host kuroisalva.xyz: did not receive HSTS header +kurrende.nrw: could not connect to host +kurrietv.nl: did not receive HSTS header kursprogramisty.pl: could not connect to host kurtmclester.com: could not connect to host kurumi.io: did not receive HSTS header kurz.pw: could not connect to host kurzonline.com.br: could not connect to host -kuttler.eu: did not receive HSTS header kuwago.io: could not connect to host kuzdrowiu24.pl: did not receive HSTS header kvt.berlin: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -8818,16 +9659,18 @@ kwikmed.eu: could not connect to host kwiknews.com: did not receive HSTS header kwipi.com: did not receive HSTS header kwmr.me: did not receive HSTS header +kwok.cc: could not connect to host kwok.tv: could not connect to host kwondratsch.com: could not connect to host kxind.cn: could not connect to host -kyanite.co: could not connect to host +kyanite.co: max-age too low: 7889238 kyberna.xyz: could not connect to host kykoonn.net: did not receive HSTS header kylapps.com: did not receive HSTS header kyle.place: could not connect to host kylebaldw.in: did not receive HSTS header kylerwood.com: could not connect to host +kylescastles.co.uk: did not receive HSTS header kyliehunt.com: did not receive HSTS header kylling.io: could not connect to host kymo.org: did not receive HSTS header @@ -8835,6 +9678,7 @@ kynaston.org.uk: could not connect to host kyochon.fr: could not connect to host kyonagashima.com: did not receive HSTS header kyoto-k9.com: did not receive HSTS header +kyoto-sake.net: could not connect to host kyouko.nl: could not connect to host kyujin-office.net: could not connect to host kzjnet.com: could not connect to host @@ -8844,7 +9688,7 @@ l18.io: could not connect to host l3j.net: could not connect to host la-flora-negra.de: could not connect to host la-grande-jaugue.fr: did not receive HSTS header -la-retraite-info.com: did not receive HSTS header +la-retraite-info.com: could not connect to host la-serendipite.fr: did not receive HSTS header labaia.info: could not connect to host laballoons.com: max-age too low: 7889238 @@ -8878,12 +9722,16 @@ laemen.com: did not receive HSTS header laemen.nl: could not connect to host laf.in.net: could not connect to host lafamillemusique.fr: did not receive HSTS header +lafeemam.fr: could not connect to host +lafema.de: could not connect to host laforetenchantee.ch: could not connect to host +lafosseobservatoire.be: did not receive HSTS header lafr4nc3.xyz: could not connect to host +lag-gbr.gq: could not connect to host lagalerievirtuelle.fr: did not receive HSTS header lagier.xyz: could not connect to host +lagodny.eu: could not connect to host lagoza.name: could not connect to host -laguinguette.fr: did not receive HSTS header laharilais.fr: did not receive HSTS header lainchan.org: did not receive HSTS header laisashop.com.br: could not connect to host @@ -8898,17 +9746,19 @@ lamafioso.com: could not connect to host lamaland.ru: did not receive HSTS header lambda-complex.org: could not connect to host lambdafive.co.uk: could not connect to host +lamiaposta.email: did not receive HSTS header lamomebijou.paris: did not receive HSTS header lampl.info: could not connect to host lamtv.com.mx: could not connect to host lan2k.org: max-age too low: 86400 +lana.swedbank.se: did not receive HSTS header lanauzedesigns.com: did not receive HSTS header lanboll.com: could not connect to host -lanbyte.se: did not receive HSTS header +lanbyte.se: could not connect to host lancehoteis.com: did not receive HSTS header lancehoteis.com.br: did not receive HSTS header +lancork.net: could not connect to host land-links.org: did not receive HSTS header -landbetweenthelakes.us: did not receive HSTS header landell.ml: could not connect to host landgoedverkopen.nl: could not connect to host landhuisverkopen.nl: could not connect to host @@ -8920,20 +9770,20 @@ langendries.eu: did not receive HSTS header langhun.me: could not connect to host laniakean.com: did not receive HSTS header lanonfire.com: could not connect to host +lanseyujie.com: max-age too low: 0 lansinoh.co.uk: did not receive HSTS header lanzainc.xyz: could not connect to host laobox.fr: could not connect to host -laohei.org: could not connect to host +laohei.org: did not receive HSTS header laospage.com: did not receive HSTS header lapakus.com: could not connect to host laperfumista.es: could not connect to host -lapetition.be: could not connect to host +lapix.com.co: could not connect to host laplaceduvillage.net: could not connect to host laquack.com: could not connect to host -laraveldirectory.com: could not connect to host lared.ovh: did not receive HSTS header laredsemanario.com: could not connect to host -larky.top: could not connect to host +larotayogaming.stream: could not connect to host larsgujord.no: did not receive HSTS header larsmerke.de: did not receive HSTS header lasepiataca.com: did not receive HSTS header @@ -8941,7 +9791,7 @@ lasercloud.ml: could not connect to host lashstuff.com: did not receive HSTS header lasnaves.com: did not receive HSTS header lasst-uns-beten.de: could not connect to host -lastharo.com: could not connect to host +latabaccheria.net: could not connect to host latable-bowling-vire.fr: did not receive HSTS header latabledebry.be: could not connect to host latamarissiere.eu: could not connect to host @@ -8953,35 +9803,35 @@ lathamlabs.com: could not connect to host lathamlabs.net: could not connect to host lathamlabs.org: could not connect to host lathen-wahn.de: did not receive HSTS header -latinred.com: could not connect to host +latinred.com: did not receive HSTS header latitude42technology.com: did not receive HSTS header latour-managedcare.ch: could not connect to host +latterdaybride.com: max-age too low: 7889238 latus.xyz: could not connect to host laufcampus.com: did not receive HSTS header laufseminare-laufreisen.com: did not receive HSTS header lauftrainer-ausbildung.com: did not receive HSTS header -launchpadder2.com: could not connect to host laurel4th.org: did not receive HSTS header laurelspaandlash.com: did not receive HSTS header laureltv.org: did not receive HSTS header laurent-e-levy.com: did not receive HSTS header -lausitzer-widerstand.de: could not connect to host +lausitzer-widerstand.de: did not receive HSTS header lavapot.com: did not receive HSTS header laventainnhotel-mailing.com: could not connect to host lavine.ch: did not receive HSTS header lavito.cz: could not connect to host lavval.com: could not connect to host -lawformt.com: max-age too low: 2592000 lawly.org: could not connect to host lawrence-institute.com: could not connect to host laxatus.com: could not connect to host laxiongames.es: did not receive HSTS header layer8.tk: could not connect to host -layfully.me: did not receive HSTS header +layfully.me: could not connect to host laymans911.info: could not connect to host lazapateriahandmade.pe: did not receive HSTS header lazerus.net: could not connect to host lazulu.com: could not connect to host +lazurit.com: did not receive HSTS header lazytux.de: did not receive HSTS header lbarrios.es: could not connect to host lbrlh.tk: could not connect to host @@ -8993,12 +9843,9 @@ lcti.biz: could not connect to host ldarby.me.uk: could not connect to host ldcraft.pw: could not connect to host leadbook.ru: max-age too low: 604800 -leadership9.com: could not connect to host -leadgenie.me: could not connect to host -leadinfo.com: did not receive HSTS header leadstart.org: did not receive HSTS header leakedminecraft.net: could not connect to host -leakreporter.net: could not connect to host +leakreporter.net: did not receive HSTS header leaks.directory: could not connect to host leanclub.org: could not connect to host leaodarodesia.com.br: could not connect to host @@ -9013,6 +9860,7 @@ lebosse.me: could not connect to host lebrun.org: could not connect to host lecourtier.fr: did not receive HSTS header led-tl-wereld.nl: did not receive HSTS header +led.xyz: could not connect to host leddruckalarm.de: did not receive HSTS header ledgerscope.net: could not connect to host ledhouse.sk: did not receive HSTS header @@ -9023,59 +9871,68 @@ leebiblestudycenter.com: could not connect to host leebiblestudycentre.com: could not connect to host leebiblestudycentre.net: could not connect to host leebiblestudycentre.org: could not connect to host +leech360.com: did not receive HSTS header leefindlow.com: could not connect to host leegyuho.com: could not connect to host leelou.wedding: could not connect to host leen.io: could not connect to host leerkotte.eu: could not connect to host +leet2.com: could not connect to host leetsaber.com: did not receive HSTS header legal.farm: could not connect to host -legalcontrol.info: could not connect to host legaleus.co.uk: could not connect to host legalisepeacebloom.com: could not connect to host legalrobot-uat.com: could not connect to host legalsen.com: did not receive HSTS header legaltip.eu: could not connect to host legarage.org: did not receive HSTS header +legatofmrc.fr: could not connect to host legavenue.com.br: did not receive HSTS header legendary.camera: did not receive HSTS header +legendarycamera.com: did not receive HSTS header legitaxi.com: did not receive HSTS header +legumefederation.org: did not receive HSTS header legymnase.eu: did not receive HSTS header lehtinen.xyz: could not connect to host leigh.life: did not receive HSTS header leighneithardt.com: could not connect to host leiming.co: could not connect to host leinir.dk: did not receive HSTS header +leition.com: did not receive HSTS header +leitionusercontent.com: did not receive HSTS header leitner.com.au: did not receive HSTS header lelehei.com: could not connect to host lellyboi.ml: could not connect to host lelongbank.com: did not receive HSTS header lelubre.info: did not receive HSTS header lemon.co: could not connect to host -lemp.io: could not connect to host +lemondrops.xyz: could not connect to host +lemp.io: did not receive HSTS header lenders.direct: could not connect to host +lenguajedeprogramacion.com: did not receive HSTS header lengyelnyelvoktatas.hu: could not connect to host lengyelul.hu: could not connect to host lenkunz.me: could not connect to host lenn1.de: did not receive HSTS header lennarth.com: could not connect to host -lennartheinrich.de: did not receive HSTS header +lennartheinrich.de: could not connect to host lennier.info: could not connect to host lennyfaces.net: did not receive HSTS header lenovogaming.com: could not connect to host lentri.com: did not receive HSTS header lenzw.de: did not receive HSTS header leob.in: could not connect to host +leochedibracchio.com: did not receive HSTS header +leodaniels.com: did not receive HSTS header leon-jaekel.com: could not connect to host leonardcamacho.me: could not connect to host leonhooijer.nl: could not connect to host leonmahler.consulting: did not receive HSTS header leopold.email: could not connect to host -leopoldina.net: did not receive HSTS header leopotamgroup.com: could not connect to host -leovanna.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] lepiquillo.fr: did not receive HSTS header lepont.pl: could not connect to host +leprado.com: could not connect to host lerasenglish.com: max-age too low: 0 lerlivros.online: could not connect to host lerner.moscow: did not receive HSTS header @@ -9084,17 +9941,18 @@ les-voitures-electriques.com: max-age too low: 2592000 lesbiansslaves.com: could not connect to host lesbofight.com: could not connect to host lescomptoirsdepierrot.com: could not connect to host +lesconteursavis.org: could not connect to host lesdouceursdeliyana.com: could not connect to host lesecuadors.com: did not receive HSTS header lesformations.net: could not connect to host lesh.eu: could not connect to host +lesharris.com: could not connect to host lesjardinsdubanchet.fr: could not connect to host lesliekearney.com: did not receive HSTS header lesperlesdunet.fr: could not connect to host lesquatredauphins.fr: did not receive HSTS header lesquerda.cat: did not receive HSTS header lessing.consulting: did not receive HSTS header -let-go.cc: max-age too low: 0 letempsdunefleur.be: could not connect to host leter.io: did not receive HSTS header lethbridgecoffee.com: did not receive HSTS header @@ -9123,14 +9981,13 @@ lezdomsm.com: could not connect to host lfaz.org: could not connect to host lg21.co: could not connect to host lgbtqventures.com: did not receive HSTS header -lgbtventures.com: did not receive HSTS header +lgbtventures.com: could not connect to host lgiswa.com.au: did not receive HSTS header lgrs.com.au: did not receive HSTS header lgsg.us: could not connect to host lgts.se: could not connect to host -lhalbert.xyz: could not connect to host lhasaapso.com.br: could not connect to host -lheinrich.com: could not connect to host +lheinrich.com: did not receive HSTS header lheinrich.de: did not receive HSTS header lheinrich.org: could not connect to host lhsj28.com: could not connect to host @@ -9140,6 +9997,10 @@ liaillustr.at: did not receive HSTS header liam-is-a-nig.ga: could not connect to host liam-w.com: could not connect to host liamjack.fr: could not connect to host +lian-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +lian-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +liang-li88.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +liang-li88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] liangbp.com: could not connect to host lianwen.kim: could not connect to host lianye.in: could not connect to host @@ -9147,6 +10008,7 @@ lianyexiuchang.in: could not connect to host liaoshuma.com: could not connect to host liaozheqi.cn: could not connect to host liaronce.win: could not connect to host +liautard.fr: could not connect to host libanco.com: could not connect to host libdeer.so: could not connect to host libertas-tech.com: could not connect to host @@ -9169,6 +10031,7 @@ lidl-selection.at: did not receive HSTS header liduan.com: could not connect to host liebach.me: did not receive HSTS header liebestarot.at: did not receive HSTS header +lieblingsholz.de: did not receive HSTS header lied8.eu: could not connect to host liehuojun.com: could not connect to host lietaer.eu: did not receive HSTS header @@ -9179,16 +10042,16 @@ lifeguard.aecom.com: did not receive HSTS header lifeinitsownway.com: could not connect to host lifeinsurances.pro: did not receive HSTS header lifeinsurances24.com: did not receive HSTS header +lifekiss.ru: could not connect to host lifemarque.co.uk: did not receive HSTS header lifenexto.com: could not connect to host -lifeng.us: did not receive HSTS header +lifeng.us: could not connect to host lifeskillsdirect.com: did not receive HSTS header lifestyler.me: could not connect to host lifetimemoneymachine.com: did not receive HSTS header lifeventure.co.uk: did not receive HSTS header lightarmory.com: could not connect to host lightcloud.com: did not receive HSTS header -lightdark.xyz: could not connect to host lighthouseinstruments.com: did not receive HSTS header lightning-ashe.com: did not receive HSTS header lightnovelsekai.com: could not connect to host @@ -9200,13 +10063,13 @@ lignemalin.com: could not connect to host lignemax.com: did not receive HSTS header lignenet.com: did not receive HSTS header lijero.co: could not connect to host +likc.me: did not receive HSTS header like.lgbt: could not connect to host -likenewhearing.com.au: could not connect to host likenosis.com: could not connect to host lila.pink: did not receive HSTS header lilapmedia.com: did not receive HSTS header lilismartinis.com: could not connect to host -lillpopp.eu: max-age too low: 10 +lillpopp.eu: did not receive HSTS header lilpwny.com: could not connect to host lilycms.com: could not connect to host lilygreen.co.za: did not receive HSTS header @@ -9214,16 +10077,16 @@ limalama.eu: max-age too low: 1 limeyeti.com: could not connect to host limiteddata.co.uk: could not connect to host limitget.com: did not receive HSTS header +limn.me: could not connect to host limodo-shop.de: did not receive HSTS header limpens.net: did not receive HSTS header limpido.it: could not connect to host limunana.com: could not connect to host lincsbouncycastlehire.co.uk: did not receive HSTS header lindberg.io: did not receive HSTS header -linden.me: did not receive HSTS header lineauniformes.com.br: could not connect to host -linernotekids.com: did not receive HSTS header -linext.cn: could not connect to host +linernotekids.com: could not connect to host +linext.cn: did not receive HSTS header lingerie.net.br: did not receive HSTS header lingerielovers.com.br: did not receive HSTS header lingerieonline.com.br: could not connect to host @@ -9235,9 +10098,10 @@ linhaoyi.com: could not connect to host link.ba: could not connect to host linkage.ph: did not receive HSTS header linkages.org: could not connect to host +linkonaut.net: could not connect to host linksanitizer.com: could not connect to host linksextremist.at: could not connect to host -linkthisstatus.ml: could not connect to host +linkybos.com: did not receive HSTS header linley.de: could not connect to host linmi.cc: did not receive HSTS header linno.me: could not connect to host @@ -9259,6 +10123,7 @@ linuxmint.cz: could not connect to host linuxmonitoring.net: could not connect to host linvx.org: did not receive HSTS header linxmind.eu: could not connect to host +lionlyrics.com: could not connect to host lipo.lol: could not connect to host liquid.solutions: did not receive HSTS header liquidcomm.net: could not connect to host @@ -9273,6 +10138,7 @@ lisowski-photography.com: could not connect to host lissabon.guide: could not connect to host listafirmelor.com: could not connect to host listage.ovh: did not receive HSTS header +listal.com: could not connect to host lists.mayfirst.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] litcc.com: could not connect to host litcomphonors.com: could not connect to host @@ -9283,9 +10149,11 @@ littledisney.ro: did not receive HSTS header littlefreelibrary.org: did not receive HSTS header littlelife.co.uk: did not receive HSTS header littleservice.cn: could not connect to host +littleskin.cn: did not receive HSTS header liud.im: could not connect to host liujunyang.com: could not connect to host liukang.tech: could not connect to host +liushuyu.tk: did not receive HSTS header liv3ly.com: did not receive HSTS header livechatlady.info: did not receive HSTS header livedemo.io: could not connect to host @@ -9295,17 +10163,16 @@ 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 +livrariacoad.com.br: could not connect to host livrariahugodesaovitor.com.br: could not connect to host lixiang.one: could not connect to host lixiaojiang.ga: could not connect to host lixingcong.com: could not connect to host -liyang.pro: did not receive HSTS header +liyinjia.com: did not receive HSTS header lizzythepooch.com: did not receive HSTS header -lkiserver.com: could not connect to host -llamasweet.tech: could not connect to host +lkiserver.com: max-age too low: 43200 lll.st: could not connect to host llvm.us: could not connect to host -lmcm.io: could not connect to host lmrcouncil.gov: could not connect to host ln.io: could not connect to host lnbeauty.ru: max-age too low: 0 @@ -9321,12 +10188,13 @@ loansonline.today: could not connect to host loanstreet.be: could not connect to host lobin21.com: could not connect to host lobosdomain.ddns.net: could not connect to host +lobosdomain.hopto.org: could not connect to host lobosdomain.no-ip.info: could not connect to host lobste.rs: did not receive HSTS header locais.org: could not connect to host localblitz.com: did not receive HSTS header localchum.com: could not connect to host -localdata.us: did not receive HSTS header +localdata.us: could not connect to host localdrive.me: could not connect to host localnetwork.nz: could not connect to host location-fichier-email.com: could not connect to host @@ -9339,7 +10207,9 @@ locationvoiturenorvege.com: could not connect to host locationvoiturepaysbas.com: could not connect to host locationvoituresuede.com: could not connect to host locchat.com: could not connect to host +locker.email: could not connect to host locker3.com: could not connect to host +lockify.com: could not connect to host locksmith-durbannorth.co.za: could not connect to host locksmithhillcrest.co.za: could not connect to host locksmithrandburg24-7.co.za: could not connect to host @@ -9359,11 +10229,12 @@ logcat.info: could not connect to host logfro.de: max-age too low: 0 logic8.ml: could not connect to host logicaladvertising.com: could not connect to host +logicchen.com: could not connect to host logicsale.com: did not receive HSTS header logicsale.de: did not receive HSTS header logicsale.fr: did not receive HSTS header logicsale.it: did not receive HSTS header -logimagine.com: could not connect to host +logimagine.com: did not receive HSTS header login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless) login.persona.org: could not connect to host logingate.hu: could not connect to host @@ -9371,16 +10242,20 @@ loginseite.com: could not connect to host logistify.com.mx: did not receive HSTS header lognot.net: could not connect to host logymedia.com: could not connect to host +lohl1kohl.de: did not receive HSTS header loisircreatif.net: did not receive HSTS header -lojadocristaozinho.com.br: did not receive HSTS header +lojadocristaozinho.com.br: could not connect to host lojadoprazer.com.br: could not connect to host lojahunamarcenaria.com.br: could not connect to host lojamulticapmais.com.br: did not receive HSTS header lojashowdecozinha.com.br: could not connect to host lojasviavento.com.br: could not connect to host +lojatema.com.br: could not connect to host lojavalcapelli.com.br: could not connect to host +lolhax.org: could not connect to host loli.bz: could not connect to host loli.com: could not connect to host +loli.ski: did not receive HSTS header loli.vip: did not receive HSTS header lolicon.info: could not connect to host lolicore.ch: could not connect to host @@ -9393,6 +10268,8 @@ londoncalling.co: did not receive HSTS header londonlanguageexchange.com: could not connect to host londonseedcentre.co.uk: could not connect to host lonerwolf.com: did not receive HSTS header +long139.com: could not connect to host +long688.com: could not connect to host longboarding-ulm.de: could not connect to host longma.pw: could not connect to host longtaitouwang.com: did not receive HSTS header @@ -9402,10 +10279,13 @@ looktothestars.org: did not receive HSTS header lookupclose.com: did not receive HSTS header looneymooney.com: could not connect to host loongsg.xyz: could not connect to host +loony.info: 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 -lordgun.com: could not connect to host +lordgun.com: did not receive HSTS header lordjevington.co.uk: did not receive HSTS header +lormansas.com: could not connect to host losebellyfat.pro: could not connect to host losrascadoresparagatos.com: did not receive HSTS header loss.no: could not connect to host @@ -9421,7 +10301,7 @@ lothuytinhsi.com: could not connect to host lotos-ag.ch: did not receive HSTS header lotsencafe.de: did not receive HSTS header lottosonline.com: did not receive HSTS header -lotuscloud.de: did not receive HSTS header +lotuscloud.de: could not connect to host lotuscloud.org: could not connect to host louduniverse.net: did not receive HSTS header louiewatch.com: could not connect to host @@ -9431,6 +10311,9 @@ love4taylor.eu.org: could not connect to host loveable.de: could not connect to host loveamber.me: could not connect to host loveandloyalty.se: could not connect to host +lovebo9.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +lovebo9.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +lovelens.ch: max-age too low: 0 lovelifelovelive.com: could not connect to host lovelive-anime.tk: could not connect to host lovelive-anime.tokyo: could not connect to host @@ -9439,6 +10322,7 @@ lovelyblogacademy.com: did not receive HSTS header lovelychalets-peisey.com: did not receive HSTS header lovelycorral.com: did not receive HSTS header lovelyfriends.org: did not receive HSTS header +lovelytimes.net: could not connect to host lovemen.cc: did not receive HSTS header lovemysafetynet.com: did not receive HSTS header loveread-ec.appspot.com: did not receive HSTS header @@ -9447,9 +10331,10 @@ lovingpenguin.com: did not receive HSTS header lowhangingfruitgrabber.com: could not connect to host lowt.us: could not connect to host lowtherpavilion.co.uk: did not receive HSTS header +loxal.org: could not connect to host loxis.be: did not receive HSTS header -loyaleco.it: could not connect to host loyaltech.ch: could not connect to host +lp-support.nl: could not connect to host lpacademy.com.br: could not connect to host lpak.nl: could not connect to host lpgram.ga: could not connect to host @@ -9459,12 +10344,13 @@ lrhstsa.com: could not connect to host ls-a.org: did not receive HSTS header ls-reallife.de: did not receive HSTS header ls-rp.es: did not receive HSTS header -lsky.cn: did not receive HSTS header +lsky.cn: could not connect to host lsp-sports.de: did not receive HSTS header lstma.com: could not connect to host lsvih.com: did not receive HSTS header lswim.com: did not receive HSTS header -lsws.de: did not receive HSTS header +lsws.de: could not connect to host +lsys.ac: could not connect to host lszj.com: could not connect to host ltba.org: could not connect to host ltbytes.com: could not connect to host @@ -9473,8 +10359,10 @@ ltransferts.com: could not connect to host ltu.social: could not connect to host luan.ma: did not receive HSTS header lubot.net: could not connect to host +lucakrebs.de: could not connect to host lucas-garte.com: did not receive HSTS header lucascantor.com: did not receive HSTS header +lucascobb.com: did not receive HSTS header lucascodes.com: could not connect to host lucassoler.com.ar: could not connect to host lucaterzini.com: could not connect to host @@ -9482,12 +10370,18 @@ lucidlogs.com: could not connect to host luckydog.pw: could not connect to host luckystarfishing.com: did not receive HSTS header luclu7.pw: could not connect to host -ludwig.click: did not receive HSTS header +ludwig.click: could not connect to host lufthansaexperts.com: max-age too low: 2592000 luganskservers.net: could not connect to host +luginbuehl.eu: could not connect to host luis-checa.com: could not connect to host +luisgf.es: did not receive HSTS header luisv.me: could not connect to host luk.photo: could not connect to host +lukas-schauer.de: did not receive HSTS header +lukas.im: did not receive HSTS header +lukas2511.de: did not receive HSTS header +lukasschauer.de: did not receive HSTS header lukasunger.cz: could not connect to host lukasunger.net: could not connect to host lukaszdolan.com: did not receive HSTS header @@ -9508,33 +10402,37 @@ lunarrift.net: could not connect to host lunarsoft.net: did not receive HSTS header luneta.nearbuysystems.com: could not connect to host lunight.ml: could not connect to host +lunix.io: did not receive HSTS header luno.io: could not connect to host -luody.info: could not connect to host luoe.ml: could not connect to host luolikong.vip: did not receive HSTS header luom.net: could not connect to host luoxiao.im: could not connect to host luoxingyu.ml: could not connect to host +luqsus.pl: could not connect to host luripump.se: could not connect to host lusis.fr: did not receive HSTS header lusis.net: could not connect to host lustrumxi.nl: could not connect to host -luteijn.biz: did not receive HSTS header luther.fi: could not connect to host +luvplay.co.uk: could not connect to host luxe-it.co.uk: could not connect to host luxinmo.com: did not receive HSTS header luxofit.de: did not receive HSTS header luxonetwork.com: could not connect to host luxus-russen.de: could not connect to host luzeshomologadas.com.br: could not connect to host +lv5.top: could not connect to host lwhate.com: could not connect to host +lycly.me: could not connect to host lycly.top: could not connect to host lydia-und-simon.de: could not connect to host lydiagorstein.com: did not receive HSTS header +lyfbits.com: could not connect to host lylares.com: did not receive HSTS header -lynkos.com: did not receive HSTS header +lynkos.com: could not connect to host lyonelkaufmann.ch: did not receive HSTS header -lyonl.com: did not receive HSTS header +lyonl.com: could not connect to host lyscnd.com: could not connect to host lysergion.com: could not connect to host lyuba.fr: could not connect to host @@ -9542,6 +10440,7 @@ lz.sb: could not connect to host lzahq.tech: did not receive HSTS header lzkill.com: did not receive HSTS header lzqii.cn: could not connect to host +lzzr.me: could not connect to host m-ali.xyz: did not receive HSTS header m-edmondson.co.uk: did not receive HSTS header m-generator.com: could not connect to host @@ -9553,15 +10452,15 @@ m0wef.uk: could not connect to host m2tc.fr: could not connect to host m3-gmbh.de: did not receive HSTS header m4570.xyz: could not connect to host -m4g.ru: could not connect to host m82labs.com: did not receive HSTS header ma-musique.fr: could not connect to host +ma-plancha.ch: did not receive HSTS header maarten.nyc: could not connect to host maartenprovo.be: did not receive HSTS header maartenterpstra.xyz: could not connect to host mac-torrents.me: did not receive HSTS header mac-world.pl: did not receive HSTS header -macandtonic.com: did not receive HSTS header +macandtonic.com: could not connect to host macbolo.com: could not connect to host macchaberrycream.com: could not connect to host macchedil.com: did not receive HSTS header @@ -9569,12 +10468,14 @@ macdj.tk: could not connect to host macedopesca.com.br: did not receive HSTS header macgeneral.de: did not receive HSTS header mach1club.com: did not receive HSTS header +machbach.net: could not connect to host machinelearningjavascript.com: could not connect to host +maciespartyhire.co.uk: did not receive HSTS header mack.space: could not connect to host macleodnc.com: did not receive HSTS header macsandcheesedreams.com: could not connect to host +macstore.pe: did not receive HSTS header macustar.eu: did not receive HSTS header -madandpissedoff.com: did not receive HSTS header madcatdesign.de: did not receive HSTS header maddin.ga: could not connect to host madebyfalcon.co.uk: did not receive HSTS header @@ -9591,16 +10492,16 @@ madnetwork.org: could not connect to host madokami.net: could not connect to host madpeople.net: max-age too low: 2592000 madrants.net: could not connect to host -madweb.design: did not receive HSTS header -maelstrom.ninja: could not connect to host maerzpa.de: did not receive HSTS header mafamane.com: could not connect to host +maff.scot: could not connect to host mafiareturns.com: max-age too low: 2592000 magazinedabeleza.net: could not connect to host magebankin.com: did not receive HSTS header magenx.com: did not receive HSTS header magia360.com: did not receive HSTS header magicball.co: could not connect to host +magickmoments.co.uk: did not receive HSTS header magieamour.com: did not receive HSTS header magieblanche.fr: did not receive HSTS header magnacumlaude.co: could not connect to host @@ -9616,18 +10517,21 @@ mail-settings.google.com: did not receive HSTS header (error ignored - included mail.google.com: did not receive HSTS header (error ignored - included regardless) mail4geek.com: did not receive HSTS header mailchuck.com: could not connect to host -maildragon.com: could not connect to host +maildragon.com: did not receive HSTS header mailgarant.nl: could not connect to host mailhost.it: could not connect to host mailing-femprendedores.com: did not receive HSTS header mailing-jbgg.com: could not connect to host +maillink.store: could not connect to host mailon.ga: could not connect to host mailpenny.com: could not connect to host main-street-seo.com: did not receive HSTS header main-unit.com: could not connect to host +mainston.com: could not connect to host maintainerheaven.ch: could not connect to host maisalto.ind.br: could not connect to host maitriser-son-stress.com: could not connect to host +majesticcolorado.com: did not receive HSTS header majncloud.tk: could not connect to host make-pizza.info: could not connect to host makedonien.guide: could not connect to host @@ -9639,6 +10543,7 @@ makerstuff.net: did not receive HSTS header makeshiftco.de: could not connect to host makeuplove.nl: could not connect to host makeyourlaws.org: did not receive HSTS header +makino.games: could not connect to host malamutedoalasca.com.br: could not connect to host maldiverna.guide: could not connect to host maleexcel.com: did not receive HSTS header @@ -9650,7 +10555,6 @@ malgraph.net: could not connect to host malibubeachrecoverycenter.com: could not connect to host maljaars-media.nl: could not connect to host malkaso.com.ua: could not connect to host -mallner.me: could not connect to host malmstroms-co.se: could not connect to host malone.link: could not connect to host maltes.website: could not connect to host @@ -9659,8 +10563,7 @@ malwareverse.us: did not receive HSTS header malwre.io: could not connect to host maly.io: did not receive HSTS header malya.fr: could not connect to host -mamacobaby.com: could not connect to host -mamadoma.com.ua: could not connect to host +mamacobaby.com: did not receive HSTS header mamaison.io: could not connect to host mamastore.eu: could not connect to host mamaxi.org: did not receive HSTS header @@ -9698,6 +10601,7 @@ manns-solutions.com: did not receive HSTS header manns-solutions.ru: did not receive HSTS header mannsolutions.co.uk: did not receive HSTS header manojsharan.me: could not connect to host +manonamission.de: did not receive HSTS header manova.cz: could not connect to host mansfieldplacevt.com: did not receive HSTS header manshop24.com: could not connect to host @@ -9707,6 +10611,7 @@ manududu.com.br: could not connect to host manuel7espejo.com: did not receive HSTS header manuelrueger.de: could not connect to host manutrol.com.br: did not receive HSTS header +maomao.blog: could not connect to host maomaobt.com: did not receive HSTS header maomaofuli.vip: could not connect to host maosi.xin: could not connect to host @@ -9715,21 +10620,22 @@ maplenorth.co: could not connect to host mapresidentielle.fr: did not receive HSTS header mapservices.nl: did not receive HSTS header maquillage-permanent-tatoo.com: did not receive HSTS header +maquininhamercadopoint.com.br: could not connect to host maranatha.pl: did not receive HSTS header -marbinvest.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -marcaixala.me: could not connect to host +marbinvest.com: did not receive HSTS header marcaudefroy.com: could not connect to host marcberman.co: did not receive HSTS header -marcberndtgen.de: could not connect to host marcbuehlmann.com: did not receive HSTS header marcelmarnitz.com: could not connect to host marcelparra.com: could not connect to host marchagen.nl: did not receive HSTS header marche-nordic-jorat.ch: could not connect to host +marchhappy.tech: did not receive HSTS header marco-kretz.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] marco01809.net: could not connect to host marcoececilia.it: did not receive HSTS header marcofinke.de: could not connect to host +marcohager.de: could not connect to host marcontrol.com: did not receive HSTS header marcosteixeira.tk: could not connect to host marcschlagenhauf.de: could not connect to host @@ -9741,15 +10647,17 @@ mare92.cz: could not connect to host mareklecian.cz: did not receive HSTS header margan.ch: could not connect to host margaretrosefashions.co.uk: could not connect to host +margo.ml: could not connect to host mariacristinadoces.com.br: did not receive HSTS header mariannematthew.com: could not connect to host marianwehlus.de: did not receive HSTS header mariaolesen.dk: could not connect to host marie-curie.fr: could not connect to host -marie-elisabeth.dk: did not receive HSTS header marie-en-provence.com: could not connect to host marie.club: could not connect to host marienschule-sundern.de: did not receive HSTS header +marinecadastre.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +mario.party: could not connect to host marioabela.com: did not receive HSTS header mariusschulte.de: did not receive HSTS header marix.ro: could not connect to host @@ -9762,13 +10670,12 @@ marketgot.com: did not receive HSTS header marketing-advertising.eu: could not connect to host marketingdesignu.cz: could not connect to host marketingromania.ro: did not receive HSTS header -marketio.co: could not connect to host +marketio.co: did not receive HSTS header markllego.com: could not connect to host marko-fenster24.de: did not receive HSTS header markorszulak.com: did not receive HSTS header markow.io: max-age too low: 7776000 markrego.com: could not connect to host -markrobin.de: did not receive HSTS header marksill.com: could not connect to host marktboten.de: did not receive HSTS header markusabraham.com: did not receive HSTS header @@ -9777,10 +10684,13 @@ markusueberallconsulting.de: could not connect to host markusweimar.de: did not receive HSTS header marlen.cz: did not receive HSTS header marleyresort.com: did not receive HSTS header +marlonschultz.de: did not receive HSTS header marqperso.ch: could not connect to host marquepersonnelle.ch: could not connect to host marriottvetcareers.com: could not connect to host marsatapp.com: could not connect to host +marsble.com: did not receive HSTS header +marshallford.me: could not connect to host marshut.net: could not connect to host martialc.be: could not connect to host martiert.com: could not connect to host @@ -9790,6 +10700,7 @@ martin-mattel.com: could not connect to host martinec.co.uk: could not connect to host martinestyle.com: could not connect to host martineve.com: did not receive HSTS header +martingansler.de: did not receive HSTS header martinkup.cz: did not receive HSTS header martinp.no: could not connect to host martinrogalla.com: did not receive HSTS header @@ -9807,7 +10718,6 @@ mashek.net: could not connect to host mashnew.com: could not connect to host masjidtawheed.net: did not receive HSTS header maskice.hr: did not receive HSTS header -maskim.fr: could not connect to host maskinkultur.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] maskt.pw: could not connect to host maslife365.com: could not connect to host @@ -9816,14 +10726,15 @@ massivum.de: did not receive HSTS header massot.eu: did not receive HSTS header mastd.fr: could not connect to host mastd.onl: could not connect to host -mastepinnelaand.nl: did not receive HSTS header -masteragenasia.com: could not connect to host +masteragenasia.com: did not receive HSTS header masteragenasia.net: did not receive HSTS header masterapi.ninja: did not receive HSTS header masterhaus.bg: did not receive HSTS header masteringtheterminal.com: did not receive HSTS header +mastersquirrel.xyz: did not receive HSTS header mastersthesiswriting.com: could not connect to host mastichor.info: could not connect to host +mastiffingles.com.br: could not connect to host mastimtibetano.com: could not connect to host masto.io: could not connect to host mastod.life: could not connect to host @@ -9841,14 +10752,16 @@ masty.nl: could not connect to host masumreza.tk: could not connect to host mat99.dk: could not connect to host matarrosabierzo.com: could not connect to host +matchneedle.com: did not receive HSTS header mateusmeyer.com.br: could not connect to host mateuszpilszek.pl: could not connect to host +mathematris.com: did not receive HSTS header mathers.ovh: did not receive HSTS header mathias.re: did not receive HSTS header mathijskingma.nl: could not connect to host -matildajaneclothing.com: did not receive HSTS header matillat.ovh: did not receive HSTS header -matlabjo.ir: could not connect to host +matlabjo.ir: did not receive HSTS header +matmessages.com: did not receive HSTS header matomeplus.co: could not connect to host matrict.com: could not connect to host matrip.de: could not connect to host @@ -9861,7 +10774,6 @@ mattberryman.com: did not receive HSTS header matterconcern.com: could not connect to host matthew-carson.info: could not connect to host matthewemes.com: did not receive HSTS header -matthewgrow.com: did not receive HSTS header matthewprenger.com: could not connect to host matthewtester.com: did not receive HSTS header matthiassteen.be: could not connect to host @@ -9870,9 +10782,7 @@ mattia98.org: did not receive HSTS header mattisam.com: did not receive HSTS header mattressinsider.com: max-age too low: 3153600 mattwb65.com: did not receive HSTS header -mattwservices.co.uk: max-age too low: 2592000 matty.digital: did not receive HSTS header -matze.co: did not receive HSTS header matze.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] maultrom.ml: could not connect to host maupiknik.com: did not receive HSTS header @@ -9882,19 +10792,17 @@ mausi.co: did not receive HSTS header mavisang.cf: could not connect to host mawe.red: could not connect to host max-mad.com: could not connect to host +maxbachmann.de: did not receive HSTS header maxfox.me: could not connect to host -maxhoechtl.at: could not connect to host maxhorvath.com: could not connect to host maxibanki.ovh: could not connect to host maxicore.co.za: could not connect to host maxima.at: did not receive HSTS header maximelouet.me: did not receive HSTS header -maximov.space: could not connect to host +maximov.space: did not receive HSTS header maxkeller.io: did not receive HSTS header maxmachine.ind.br: could not connect to host -maxrandolph.com: could not connect to host maxserver.com: did not receive HSTS header -maxwellflynn.com: could not connect to host maya-ro.com: could not connect to host maya.mg: could not connect to host maybeul.com: could not connect to host @@ -9902,8 +10810,11 @@ maynardnetworks.com: could not connect to host mayoristassexshop.com: did not receive HSTS header mazyun.com: did not receive HSTS header mazz-tech.com: could not connect to host +mb300sd.com: could not connect to host +mb300sd.net: could not connect to host mbconsultancy.nu: did not receive HSTS header mbdrogenbos-usedcars.be: could not connect to host +mbsec.net: could not connect to host mbwemmel-usedcars.be: could not connect to host mc81.com: did not receive HSTS header mca2017.org: did not receive HSTS header @@ -9911,17 +10822,18 @@ mcadmin.net: could not connect to host mcard.vn: did not receive HSTS header mcb-bank.com: did not receive HSTS header mcc.re: could not connect to host -mccarty.io: could not connect to host mccordworks.com: did not receive HSTS header mcdanieldevelopmentservices.com: could not connect to host +mcdona1d.me: could not connect to host mcdonalds.ru: did not receive HSTS header mcga.media: could not connect to host mcgavocknissanwichitaparts.com: could not connect to host -mchan.us: could not connect to host +mchan.us: did not receive HSTS header mcideas.tk: could not connect to host mcjackk77.com: could not connect to host mckinley1.com: could not connect to host mckinleytk.com: could not connect to host +mcl.gg: did not receive HSTS header mclab.su: max-age too low: 2592000 mclist.it: could not connect to host mclyr.com: could not connect to host @@ -9936,10 +10848,9 @@ mcuexchange.com: did not receive HSTS header mcuong.tk: could not connect to host md-student.com: did not receive HSTS header mdfnet.se: did not receive HSTS header -mdscomp.net: did not receive HSTS header +mdscomp.net: could not connect to host mdwftw.com: could not connect to host me-dc.com: could not connect to host -meadowfenfarm.com: could not connect to host meadowviewfarms.org: could not connect to host mealz.com: did not receive HSTS header meanevo.com: did not receive HSTS header @@ -9951,9 +10862,10 @@ mecanicadom.com: could not connect to host mecenat-cassous.com: did not receive HSTS header mechok.ru: could not connect to host medallia.io: could not connect to host +meddatix.com: could not connect to host media-access.online: did not receive HSTS header media-courses.com: could not connect to host -mediacru.sh: max-age too low: 0 +mediacru.sh: could not connect to host mediadandy.com: could not connect to host mediafinancelab.org: could not connect to host mediamag.am: max-age too low: 0 @@ -9970,26 +10882,31 @@ mediumraw.org: did not receive HSTS header mediweed.tk: could not connect to host medm-test.com: could not connect to host medpot.net: did not receive HSTS header -medsindex.com: max-age too low: 2592000 +medsindex.com: did not receive HSTS header medstreaming.com: did not receive HSTS header +medtankers.management: did not receive HSTS header medy-me.com: could not connect to host medzinenews.com: did not receive HSTS header meedoenzaanstad.nl: did not receive HSTS header meetfinch.com: could not connect to host +meetmibaby.co.uk: could not connect to host +mega-aukcion.ru: could not connect to host megadrol.com: could not connect to host +megaflix.nl: could not connect to host megakiste.de: could not connect to host megam.host: could not connect to host -megashur.se: did not receive HSTS header -megasystem.cl: did not receive HSTS header +megamarkey.de: did not receive HSTS header +megashur.se: could not connect to host +megasystem.cl: could not connect to host meghudson.com: could not connect to host meifrench.com: could not connect to host -meiju.video: did not receive HSTS header +meimeistartup.com: could not connect to host meincloudspeicher.de: could not connect to host +meine-plancha.ch: did not receive HSTS header meine-reise-gut-versichert.de: did not receive HSTS header meinebo.it: could not connect to host meisterritter.de: did not receive HSTS header meizufans.eu: could not connect to host -mekongeye.com: could not connect to host melakaltenegger.at: did not receive HSTS header melangebrasil.com: could not connect to host melaniebilodeau.com: did not receive HSTS header @@ -9999,11 +10916,13 @@ melf.nl: could not connect to host melhoresdominios.net: could not connect to host melhorproduto.com.br: could not connect to host melikoff.es: could not connect to host +melitopol.co.ua: did not receive HSTS header 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 melted.pw: could not connect to host +meltzow.net: could not connect to host melvinlammerts.nl: could not connect to host melvinlow.com: did not receive HSTS header memberpress.com: did not receive HSTS header @@ -10020,28 +10939,29 @@ memorygame.io: did not receive HSTS header memorytrace.space: could not connect to host menaraannonces.com: could not connect to host menchez.me: could not connect to host -menotag.com: did not receive HSTS header +menhera.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +menntagatt.is: did not receive HSTS header mensachterdepatient.nl: max-age too low: 2592000 mensmaximus.de: did not receive HSTS header +mentalhealth.gov: did not receive HSTS header mentax.net: did not receive HSTS header mentesemprendedoras.net: could not connect to host menthix.net: could not connect to host +mentorithm.com: could not connect to host menu.fyi: could not connect to host menudrivetest.com: could not connect to host menuiserie-berard.com: did not receive HSTS header menzaijia.com: could not connect to host +menzel-motors.com: did not receive HSTS header meo.de: could not connect to host meow.cloud: could not connect to host meozcraft.com: could not connect to host -mercamaris.es: did not receive HSTS header mercanix.co.uk: could not connect to host merccorp.de: max-age too low: 0 mercedes-benz-usedcars.be: could not connect to host mercury-studio.com: did not receive HSTS header mereckas.com: could not connect to host meredithkm.info: did not receive HSTS header -meremobil.dk: did not receive HSTS header -merenita.eu: did not receive HSTS header mergozzo.com: did not receive HSTS header merimatka.fi: could not connect to host meritz.rocks: could not connect to host @@ -10053,15 +10973,14 @@ meshlab.co: could not connect to host meshotes.com: max-age too low: 8640000 meskdeals.com: could not connect to host mesmoque.com: could not connect to host +messagescelestes-archives.ca: did not receive HSTS header messagescelestes.ca: did not receive HSTS header metadistribution.com: did not receive HSTS header metagrader.com: could not connect to host metalsculpture.co.uk: max-age too low: 0 metanic.org: did not receive HSTS header metasyntactic.xyz: could not connect to host -metebalci.com: did not receive HSTS header -meteosky.net: could not connect to host -meter.md: could not connect to host +meteosky.net: did not receive HSTS header metikam.pl: did not receive HSTS header metin2blog.de: did not receive HSTS header metin2sepeti.com: could not connect to host @@ -10070,26 +10989,27 @@ metrans-spedition.de: could not connect to host metricaid.com: did not receive HSTS header metrix-money-ptc.com: could not connect to host metrix.design: could not connect to host -metrobriefs.com: could not connect to host metzgerei-birkenhof.de: could not connect to host meu-smartphone.com: did not receive HSTS header meucosmetico.com.br: could not connect to host meuemail.pro: could not connect to host -meupedido.online: could not connect to host +meupedido.online: did not receive HSTS header meusigno.com: could not connect to host mexbt.com: could not connect to host mexicanbusinessweb.mx: did not receive HSTS header -mexicansbook.ru: did not receive HSTS header +mexicansbook.ru: could not connect to host mexior.nl: could not connect to host meyeraviation.com: could not connect to host mfcatalin.com: could not connect to host mfedderke.com: could not connect to host mfgod.com: did not receive HSTS header mfiles.pl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +mfpccprod.com: could not connect to host mfrsgb45.org: did not receive HSTS header mft.global: could not connect to host mfxer.com: could not connect to host -mgcraft.net: could not connect to host +mfz.mk: did not receive HSTS header +mgcraft.net: did not receive HSTS header mgdigital.fr: did not receive HSTS header mgiay.com: did not receive HSTS header mgoessel.de: did not receive HSTS header @@ -10107,12 +11027,13 @@ mianfei-vpn.com: could not connect to host miboulot.com: could not connect to host micaiahparker.com: could not connect to host micasamgmt.com: did not receive HSTS header +michaelcullen.name: could not connect to host michaeldemuth.com: could not connect to host michaelfitzpatrickruth.com: did not receive HSTS header michaelizquierdo.com: max-age too low: 0 -michaelklos.nl: could not connect to host +michaelklos.nl: did not receive HSTS header michaelmorpurgo.com: did not receive HSTS header -michaeln.net: could not connect to host +michaeln.net: did not receive HSTS header michaels-homepage-service.de: could not connect to host michaelscrivo.com: did not receive HSTS header michaelsulzer.com: did not receive HSTS header @@ -10123,22 +11044,20 @@ michalborka.cz: could not connect to host michalkral.tk: could not connect to host michalvasicek.cz: did not receive HSTS header michasfahrschule.com: could not connect to host -michel.pt: could not connect to host -michele.ml: could not connect to host +michel.pt: did not receive HSTS header michelledonelan.co.uk: did not receive HSTS header michiganmetalartwork.com: max-age too low: 7889238 mico.world: could not connect to host miconware.de: could not connect to host micro-dv.ru: could not connect to host micro-rain-systems.com: did not receive HSTS header -microbiote-insectes-vecteurs.group: did not receive HSTS header microblading.pe: could not connect to host microdesic.com: could not connect to host microme.ga: could not connect to host micropple.net: could not connect to host microtalk.org: could not connect to host +middletowndelcopa.gov: could not connect to host midirs.org: did not receive HSTS header -midlandgate.de: could not connect to host midonet.org: did not receive HSTS header midriversmotorsllc.com: did not receive HSTS header midterm.us: could not connect to host @@ -10156,18 +11075,16 @@ migrator.co: could not connect to host miguelgfierro.com: did not receive HSTS header miguksaram.com: could not connect to host mijn-email.org: could not connect to host +mijnavg.eu: did not receive HSTS header mijndiad.nl: did not receive HSTS header -mijnetickets.nl: did not receive HSTS header mijnkredietpaspoort.nl: could not connect to host mijnsite.ovh: could not connect to host mika.cat: could not connect to host mikadesign.se: did not receive HSTS header -mikaela.info: did not receive HSTS header mikaelemilsson.net: did not receive HSTS header mikeburns.com: could not connect to host mikedugan.org: did not receive HSTS header mikeg.de: did not receive HSTS header -mikegarnett.co.uk: could not connect to host mikek.work: did not receive HSTS header mikeology.org: could not connect to host mikepair.net: could not connect to host @@ -10175,12 +11092,17 @@ mikes.tk: could not connect to host mikeybot.com: could not connect to host mikii.club: could not connect to host mikk.cz: could not connect to host +mikori.sk: did not receive HSTS header mikro-inwestycje.co.uk: did not receive HSTS header miku.be: could not connect to host +miku.cloud: could not connect to host miku.hatsune.my: did not receive HSTS header +miku.party: could not connect to host +mikumiku.stream: could not connect to host mikusinec.com: could not connect to host milahendri.com: did not receive HSTS header milang.xyz: could not connect to host +milanpala.cz: could not connect to host milatrans.pl: did not receive HSTS header milcoresonline.com: could not connect to host milesgeek.com: did not receive HSTS header @@ -10188,11 +11110,9 @@ military-portal.cz: did not receive HSTS header militarycarlot.com: did not receive HSTS header militaryconsumer.gov: did not receive HSTS header milkingit.net: could not connect to host +milktea.info: could not connect to host millibitcoin.jp: could not connect to host millionairessecrets.com: could not connect to host -millions25.com: could not connect to host -millions26.com: could not connect to host -millions27.com: could not connect to host millstep.de: did not receive HSTS header milonga.tips: could not connect to host mim.properties: could not connect to host @@ -10204,10 +11124,11 @@ minacssas.com: could not connect to host minantavla.se: could not connect to host mind.sh: did not receive HSTS header mindbodycontinuum.com: could not connect to host +mindbodytherapymn.com: did not receive HSTS header mindcell.no: could not connect to host mindcraft.ga: could not connect to host mindwork.space: could not connect to host -mine.world: could not connect to host +mine.world: did not receive HSTS header minecraft-forum.cf: could not connect to host minecraft-forum.ga: could not connect to host minecraft-forum.gq: could not connect to host @@ -10221,10 +11142,10 @@ minecraftforums.gq: could not connect to host minecraftforums.ml: could not connect to host minecraftserverz.com: could not connect to host minecraftvoter.com: could not connect to host -minecrell.net: max-age too low: 172800 mineover.es: could not connect to host minetude.com: could not connect to host mingkyaa.com: could not connect to host +mingming.info: did not receive HSTS header mingo.nl: max-age too low: 2592000 mingy.ddns.net: could not connect to host mingyueli.com: could not connect to host @@ -10234,14 +11155,12 @@ minikneet.nl: did not receive HSTS header minimaliston.com: could not connect to host minimoo.se: could not connect to host minipainting.net: could not connect to host -minis-hip.de: max-age too low: 172800 miniskipper.at: did not receive HSTS header minkondom.nu: could not connect to host minnesotadata.com: could not connect to host minor.news: could not connect to host minora.io: could not connect to host minoris.se: did not receive HSTS header -minorshadows.net: did not receive HSTS header mintea-noua.ro: could not connect to host mipiaci.co.nz: did not receive HSTS header mipiaci.com.au: did not receive HSTS header @@ -10249,6 +11168,7 @@ miragrow.com: could not connect to host mireillewendling.com.br: could not connect to host mirgleich.dnshome.de: could not connect to host mirindadomo.ru: did not receive HSTS header +mirjamderijk.nl: could not connect to host mirodasilva.be: could not connect to host mironized.com: did not receive HSTS header mirrorsedgearchive.ga: could not connect to host @@ -10264,23 +11184,27 @@ misiru.jp: could not connect to host missrain.tw: could not connect to host missycosmeticos.com.br: could not connect to host mist.ink: could not connect to host +mister-cooks.fr: did not receive HSTS header mister.hosting: did not receive HSTS header misterl.net: did not receive HSTS header -misuzu.moe: could not connect to host mitarbeiter-pc.de: did not receive HSTS header mitchellrenouf.ca: could not connect to host mitior.net: could not connect to host mitm-software.badssl.com: could not connect to host +mitsign.com: could not connect to host mittenhacks.com: could not connect to host mityinc.com: did not receive HSTS header miukimodafeminina.com: could not connect to host mivcon.net: could not connect to host +mivestuariolaboral.com: did not receive HSTS header +mivzaklive.co.il: did not receive HSTS header mixer.cash: could not connect to host miya.io: could not connect to host miyako-kyoto.jp: could not connect to host miyoshi-kikaku.co.jp: could not connect to host mizd.at: could not connect to host mizi.name: could not connect to host +mizumax.me: could not connect to host mjcaffarattilaw.com: did not receive HSTS header mjhsc.nl: did not receive HSTS header mk-dizajn.com: could not connect to host @@ -10289,11 +11213,14 @@ mkakh.xyz: could not connect to host mkfs.be: could not connect to host mkfs.fr: could not connect to host mkg-palais-hanau.de: did not receive HSTS header +mkie.cf: could not connect to host mkp-deutschland.de: did not receive HSTS header mkplay.io: could not connect to host mkw.st: could not connect to host mlcambiental.com.br: did not receive HSTS header mlcdn.co: could not connect to host +mlfaw.com: could not connect to host +mlii.net: could not connect to host mlm-worldwide.de: did not receive HSTS header mlpchan.net: could not connect to host mlpepilepsy.org: could not connect to host @@ -10301,22 +11228,28 @@ mlpvc-rr.ml: did not receive HSTS header mlrslateroofing.com.au: did not receive HSTS header mlsrv.de: could not connect to host mm-wife.com: could not connect to host +mm13.at: could not connect to host +mmaps.ddns.net: could not connect to host mmarnitz.de: could not connect to host mmcc.pe: did not receive HSTS header mmgazhomeloans.com: did not receive HSTS header mmilog.hu: could not connect to host mmmm.com: could not connect to host mmstick.tk: could not connect to host +mna7e.com: did not receive HSTS header mnec.io: could not connect to host mneeb.de: could not connect to host mnemotiv.com: could not connect to host mnetworkingsolutions.co.uk: could not connect to host mnmt.no: did not receive HSTS header mnwt.nl: could not connect to host +mo3.club: could not connect to host moar.so: did not receive HSTS header moas.design: did not receive HSTS header moas.photos: did not receive HSTS header +mobag.ru: did not receive HSTS header mobaircon.com: did not receive HSTS header +mobi4.tk: could not connect to host mobile-gesundheit.org: could not connect to host mobile.eti.br: could not connect to host mobilebay.top: could not connect to host @@ -10340,7 +11273,7 @@ mockmyapp.com: could not connect to host mocloud.eu: could not connect to host mocloud.win: could not connect to host mocsuite.club: could not connect to host -mocurio.com: could not connect to host +mocurio.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] modalrakyat.com: could not connect to host modalrakyat.id: did not receive HSTS header modaperuimport.com: could not connect to host @@ -10363,16 +11296,17 @@ modydev.club: could not connect to host moe.pe: could not connect to host moe.wtf: could not connect to host moe4sale.in: did not receive HSTS header +moeali.com: could not connect to host moebel-nagel.de: did not receive HSTS header -moebel-vergleichen.com: did not receive HSTS header moefi.xyz: could not connect to host moegirl.org: did not receive HSTS header +moeli.org: could not connect to host moellers.it: could not connect to host moeloli.pw: did not receive HSTS header moelord.org: could not connect to host moen.io: did not receive HSTS header moevenpick-cafe.com: did not receive HSTS header -moeyun.net: could not connect to host +moeyun.net: max-age too low: 86400 mogry.net: did not receive HSTS header mohio.co.nz: did not receive HSTS header moho.kr: could not connect to host @@ -10382,7 +11316,7 @@ mojapraca.sk: did not receive HSTS header mojefilmy.xyz: could not connect to host mojizuri.jp: max-age too low: 86400 mokadev.com: did not receive HSTS header -molokai.org: could not connect to host +mokken-fabriek.nl: did not receive HSTS header mols.me: could not connect to host momento.co.id: did not receive HSTS header momfulfilled.com: could not connect to host @@ -10405,16 +11339,17 @@ moneycrownmedia.com: could not connect to host moneyfactory.gov: did not receive HSTS header mongla168.net: could not connect to host mongla88.net: could not connect to host -monicabeckstrom.no: could not connect to host +monicabeckstrom.no: did not receive HSTS header monika-sokol.de: did not receive HSTS header +monique.io: could not connect to host monitaure.io: could not connect to host monitman.solutions: could not connect to host monitorchain.com: did not receive HSTS header monitori.ng: could not connect to host -monkieteel.nl: max-age too low: 2592000 +monkieteel.nl: did not receive HSTS header monochrometoys.com: could not connect to host -monodukuri.cafe: did not receive HSTS header -monodzukuri.cafe: did not receive HSTS header +monodukuri.cafe: could not connect to host +monodzukuri.cafe: could not connect to host monotsuku.com: could not connect to host monozukuri.cafe: did not receive HSTS header montanacures.org: could not connect to host @@ -10426,7 +11361,9 @@ moo.pet: did not receive HSTS header moobo.xyz: did not receive HSTS header moodifiers.com: could not connect to host moon.lc: could not connect to host +moonagic.io: could not connect to host moonless.net: could not connect to host +moonlightcapital.ml: could not connect to host moonloupe.com: could not connect to host moonrhythm.info: could not connect to host moonrhythm.io: did not receive HSTS header @@ -10441,13 +11378,16 @@ moparscape.org: did not receive HSTS header mopsuite.club: could not connect to host mor.cloud: could not connect to host mor.gl: could not connect to host -mordrum.com: could not connect to host +moreapp.co.uk: could not connect to host +morenci.ch: could not connect to host +morepopcorn.co.nz: did not receive HSTS header moreserviceleads.com: did not receive HSTS header morespacestorage.com.au: did not receive HSTS header morethanadream.lv: could not connect to host morfitronik.pl: could not connect to host morganestes.com: max-age too low: 0 morganino.eu: could not connect to host +morhys.com: could not connect to host morningcalculation.com: could not connect to host morninglory.com: did not receive HSTS header mornings.com: did not receive HSTS header @@ -10460,6 +11400,7 @@ morz.org: max-age too low: 0 mosaique-lachenaie.fr: could not connect to host moskva.guide: did not receive HSTS header moso.io: did not receive HSTS header +mostlikelyto.fail: did not receive HSTS header mostlyharmless.at: could not connect to host mostlyinfinite.com: did not receive HSTS header mostwuat.com: could not connect to host @@ -10475,28 +11416,33 @@ motornomaslo.bg: did not receive HSTS header motoroilinfo.com: did not receive HSTS header motorsportdiesel.com: did not receive HSTS header motovio.de: did not receive HSTS header -motransportinfo.com: did not receive HSTS header mottvd.com: could not connect to host moube.fr: could not connect to host +moucloud.cn: did not receive HSTS header moudicat.com: max-age too low: 6307200 moula.com.au: did not receive HSTS header moumaobuchiyu.com: could not connect to host mountainadventureseminars.com: did not receive HSTS header mountainmusicpromotions.com: did not receive HSTS header +mousemessages.com: did not receive HSTS header movabletype.net: max-age too low: 3600 -moveltix.net: could not connect to host +moveek.com: did not receive HSTS header +moveisfit.com.br: could not connect to host movepin.com: could not connect to host -movie4k.fyi: max-age too low: 0 +movie4k.fyi: could not connect to host movie4k.life: could not connect to host movie4kto.site: could not connect to host moviedollars.com: could not connect to host movienang.com: max-age too low: 0 moviesabout.net: could not connect to host +moviespur.info: did not receive HSTS header moving-pixtures.de: could not connect to host movingoklahoma.org: could not connect to host movio.ga: could not connect to host mowalls.net: could not connect to host moy-gorod.od.ua: did not receive HSTS header +moyoo.net: did not receive HSTS header +moysovet.info: did not receive HSTS header moyu.host: did not receive HSTS header mozart-game.cz: could not connect to host mozartgame.cz: could not connect to host @@ -10508,35 +11454,46 @@ mp3donusturucu.com: did not receive HSTS header mp3donusturucu.net: did not receive HSTS header mp3gratuiti.com: could not connect to host mp3juices.is: could not connect to host +mpe.org: did not receive HSTS header +mpg.ovh: could not connect to host +mphoto.at: did not receive HSTS header mpi-sa.fr: did not receive HSTS header +mpintaamalabanna.it: could not connect to host mpkossen.com: did not receive HSTS header mpn.poker: did not receive HSTS header +mpodraza.pl: could not connect to host mpreserver.com: could not connect to host mpserver12.org: could not connect to host mpu-giessen.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +mpy.ovh: could not connect to host mqas.net: could not connect to host mr-coffee.net: could not connect to host mr-hosting.com: could not connect to host +mr-labo.jp: could not connect to host +mr3.io: could not connect to host mrafrohead.com: could not connect to host mrawe.com: could not connect to host +mrazek.biz: did not receive HSTS header mrburtbox.com: could not connect to host mrdani.net: could not connect to host mrdleisure.co.uk: did not receive HSTS header mredsanders.net: did not receive HSTS header mrettich.org: did not receive HSTS header -mrhc.ru: could not connect to host mrizzio.com: could not connect to host mrksk.com: could not connect to host mrleonardo.com: did not receive HSTS header mrliu.me: could not connect to host +mrmoregame.de: could not connect to host mrnh.tk: could not connect to host mrnonz.com: max-age too low: 0 mrparker.pw: did not receive HSTS header mrpopat.in: did not receive HSTS header -mrpropop.com: max-age too low: 0 +mrpropop.com: did not receive HSTS header mruganiepodspacja.pl: could not connect to host +ms-alternativ.de: did not receive HSTS header msc-seereisen.net: could not connect to host msgallery.tk: could not connect to host +msopopop.cn: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] msp66.de: could not connect to host mstd.tokyo: did not receive HSTS header mstdn-tech.jp: could not connect to host @@ -10547,8 +11504,7 @@ mszaki.com: did not receive HSTS header mt.me.uk: could not connect to host mtamaki.com: could not connect to host mtau.com: max-age too low: 2592000 -mtcgf.com: did not receive HSTS header -mtcq.jp: could not connect to host +mtcgf.com: could not connect to host mtd.ovh: could not connect to host mtdn.jp: could not connect to host mtfgnettoyage.fr: could not connect to host @@ -10556,22 +11512,26 @@ mtg-esport.de: did not receive HSTS header mtirc.co: could not connect to host mtn.cc: could not connect to host mtr.md: could not connect to host -mu3on.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +mu3on.com: could not connect to host muchohentai.com: could not connect to host -muffet.pw: could not connect to host +mudgezero.one: could not connect to host +muel.io: could not connect to host +muenzubi.de: did not receive HSTS header +muffet.pw: did not receive HSTS header muga.space: could not connect to host muj-svet.cz: could not connect to host mujadin.se: did not receive HSTS header mulenvo.com: did not receive HSTS header mulheres18.com: could not connect to host -mullen.net.au: did not receive HSTS header +mullen.net.au: could not connect to host multiterm.org: could not connect to host multivpn.cn.com: could not connect to host multivpn.com.de: could not connect to host multivpn.com.ua: could not connect to host multivpn.fr: could not connect to host multiworldsoftware.com: did not receive HSTS header -mumei.space: did not receive HSTS header +multizone.games: could not connect to host +mumei.space: could not connect to host mundoadulto.com.br: did not receive HSTS header mundoalpha.com.br: did not receive HSTS header munecoscabezones.com: did not receive HSTS header @@ -10584,6 +11544,7 @@ munzee.com: did not receive HSTS header muonium.ch: could not connect to host murdercube.com: could not connect to host murfy.kiwi: could not connect to host +murgi.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] muriburi.land: could not connect to host muriburiland.com: could not connect to host murodese.org: could not connect to host @@ -10592,7 +11553,6 @@ murraycolin.org: could not connect to host murrayrun.com: did not receive HSTS header mursu.directory: could not connect to host murz.tv: could not connect to host -murzik.space: could not connect to host muscleangels.com: could not connect to host musearchengine.com: could not connect to host museminder2.com: did not receive HSTS header @@ -10609,20 +11569,24 @@ muslimbanter.co.za: could not connect to host mustika.cf: did not receive HSTS header mutamatic.com: could not connect to host mutuelle-obligatoire-pme.fr: did not receive HSTS header +muusika.fun: could not connect to host muzgra.in: did not receive HSTS header muzi.cz: could not connect to host muzykaprzeszladoplay.pl: could not connect to host mvanmarketing.nl: did not receive HSTS header mvnet.com.br: did not receive HSTS header mvsecurity.nl: could not connect to host -mwalz.com: could not connect to host mwohlfarth.de: did not receive HSTS header mxawei.cn: could not connect to host mxlife.org: could not connect to host +mxp.tw: did not receive HSTS header my-demo.co: could not connect to host my-dick.ru: could not connect to host my-owncloud.com: could not connect to host my-pawnshop.com.ua: could not connect to host +my-plancha.ch: did not receive HSTS header +my-static-demo-808795.c.cdn77.org: could not connect to host +my-static-live-808795.c.cdn77.org: could not connect to host my-voice.nl: could not connect to host my.alfresco.com: did not receive HSTS header my.swedbank.se: did not receive HSTS header @@ -10632,7 +11596,7 @@ myandroidtools.cc: could not connect to host myandroidtools.pro: could not connect to host myappliancerepairhouston.com: did not receive HSTS header myartsway.com: did not receive HSTS header -mybboard.pl: could not connect to host +mybboard.pl: did not receive HSTS header mybudget.xyz: could not connect to host mybuilderinlondon.co.uk: did not receive HSTS header mybusiness.cm: did not receive HSTS header @@ -10642,33 +11606,37 @@ mycollab.net: could not connect to host mycolorado.gov: could not connect to host mycontrolmonitor.com: could not connect to host mycoted.com: did not receive HSTS header -myday.eu.com: did not receive HSTS header +myday.eu.com: could not connect to host mydeos.com: could not connect to host mydigipass.com: did not receive HSTS header mydmdi.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] mydnaresults.com: could not connect to host mydnatest.com: did not receive HSTS header mydriversedge.com: did not receive HSTS header +mydrone.services: could not connect to host myeml.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] myepass.bg: could not connect to host myepass.de: could not connect to host myessaygeek.com: could not connect to host myfappening.org: could not connect to host myfdic.gov: could not connect to host +myfishpalace.at: could not connect to host myfunworld.de: could not connect to host mygalgame.com: did not receive HSTS header mygaysitges.com: could not connect to host +mygeneral.org: could not connect to host mygivingcircle.org: did not receive HSTS header mygooder.com: did not receive HSTS header mygov.scot: did not receive HSTS header mygpsite.com: did not receive HSTS header mygreatjob.eu: could not connect to host +mygreenrecipes.com: could not connect to host myhair.asia: did not receive HSTS header myhloli.com: did not receive HSTS header -myhostname.net: did not receive HSTS header myicare.org: did not receive HSTS header myiocc.org: did not receive HSTS header myip.tech: max-age too low: 2592000 +myjumpsuit.de: did not receive HSTS header mykolab.com: did not receive HSTS header mykreuzfahrt.de: could not connect to host mylene-chandelier.me: did not receive HSTS header @@ -10688,9 +11656,11 @@ mynigma.org: did not receive HSTS header myon.info: did not receive HSTS header myonlinedating.club: could not connect to host myownconference.de: did not receive HSTS header +myownconference.es: did not receive HSTS header myownconference.fr: did not receive HSTS header myownconference.lt: did not receive HSTS header myownconference.lv: did not receive HSTS header +myownconference.pt: did not receive HSTS header mypagella.com: could not connect to host mypagella.eu: could not connect to host mypagella.it: could not connect to host @@ -10698,32 +11668,37 @@ mypanier.com: max-age too low: 7889238 mypaperwriter.com: could not connect to host myparfumerie.at: did not receive HSTS header mypension.ca: could not connect to host +myperfumecollection.com: did not receive HSTS header myphonebox.de: could not connect to host myptsite.com: could not connect to host myqdu.cn: could not connect to host myqdu.com: could not connect to host myrig.com.ua: did not receive HSTS header myrig.io: could not connect to host +myrig.net: could not connect to host myrig.ru: did not receive HSTS header myrsa.in: did not receive HSTS header myruststats.com: could not connect to host mysa.is: could not connect to host +mysecretcase.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] mysecretrewards.com: could not connect to host +myseo.ga: could not connect to host +myserv.one: could not connect to host mysongbird.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] myspa.asia: did not receive HSTS header +mystatus24.com: did not receive HSTS header mystery-science-theater-3000.de: did not receive HSTS header mysteryblog.de: did not receive HSTS header -mysterysear.ch: could not connect to host mystown.org: could not connect to host mystudy.me: could not connect to host mytc.fr: could not connect to host mythlogic.com: did not receive HSTS header mythslegendscollection.com: did not receive HSTS header mytravelblog.de: could not connect to host +mytweeps.com: did not receive HSTS header mywallets.io: could not connect to host myweb360.de: did not receive HSTS header mywebinar.io: could not connect to host -mywebpanel.nl: did not receive HSTS header myxbox.gr: max-age too low: 0 myzone.com: max-age too low: 0 mzlog.win: could not connect to host @@ -10739,24 +11714,24 @@ n3twork.net: could not connect to host n4l.pw: could not connect to host n64chan.me: did not receive HSTS header n7.education: did not receive HSTS header +n8ch.net: could not connect to host na.hn: did not receive HSTS header naano.org: could not connect to host nabru.co.uk: did not receive HSTS header nabu-bad-nauheim.de: did not receive HSTS header nabytko.cz: could not connect to host -nacktetatsachen.at: did not receive HSTS header -nadaquenosepas.com: could not connect to host nadia.pt: could not connect to host +nagajanroshiya.info: did not receive HSTS header nagaragem.com.br: did not receive HSTS header nagios.by: did not receive HSTS header nagoya-kyuyo.com: could not connect to host naiaspa.fr: did not receive HSTS header naiharngym.com: did not receive HSTS header -nailedithomebuilders.com: did not receive HSTS header +nailedithomebuilders.com: max-age too low: 300 nais.me: did not receive HSTS header najedlo.sk: could not connect to host -nakada4610.com: could not connect to host nakamastreamingcommunity.com: could not connect to host +nakanishi-paint.com: could not connect to host nakhonidc.com: could not connect to host nakitbonus2.com: could not connect to host nakliyatsirketi.biz: could not connect to host @@ -10774,11 +11749,11 @@ nametaken-cloud.duckdns.org: could not connect to host namethatbone.com: could not connect to host namethatporn.com: could not connect to host namikawatetsuji.jp: could not connect to host -namorico.me: max-age too low: 0 +namorico.me: could not connect to host +namuwikiusercontent.com: could not connect to host nan.ci: did not receive HSTS header nan.zone: could not connect to host nanami.moe: could not connect to host -nanch.com: could not connect to host nanderson.me: could not connect to host nanfangstone.com: could not connect to host nani.io: did not receive HSTS header @@ -10793,14 +11768,15 @@ naphex.rocks: could not connect to host napisynapomniky.cz: did not receive HSTS header narach.com: did not receive HSTS header nargele.eu: did not receive HSTS header -narindal.ch: did not receive HSTS header narko.space: could not connect to host narodniki.com: did not receive HSTS header narviz.com: did not receive HSTS header nasarawanewsonline.com: could not connect to host +naseco.se: did not receive HSTS header nasme.tk: could not connect to host nasmocopati.com: did not receive HSTS header nasralmabrooka.com: did not receive HSTS header +nassi.me: could not connect to host nastysclaw.com: could not connect to host natalia-fadeeva.ru: could not connect to host natalia.io: did not receive HSTS header @@ -10808,19 +11784,22 @@ natalieandjoshua.com: could not connect to host natalt.org: could not connect to host natalydanilova.com: max-age too low: 300 nataniel-perissier.fr: could not connect to host +natatorium.org: did not receive HSTS header nate.sh: could not connect to host +natecraun.net: did not receive HSTS header natenom.com: max-age too low: 7200 natenom.de: max-age too low: 7200 natenom.name: max-age too low: 7200 -nathanmfarrugia.com: did not receive HSTS header +nathan.io: did not receive HSTS header nationalmall.gov: could not connect to host nationwidevehiclecontracts.co.uk: did not receive HSTS header +natropie.pl: could not connect to host natur-udvar.hu: could not connect to host natural-progesterone.net: could not connect to host naturalcommission.com: could not connect to host naturblogg.no: did not receive HSTS header +nature-shots.net: did not receive HSTS header naturecoaster.com: did not receive HSTS header -naturline.com: did not receive HSTS header natuterra.com.br: could not connect to host natuurbehangnederland.nl: could not connect to host nauck.org: did not receive HSTS header @@ -10830,23 +11809,25 @@ naval.tf: could not connect to host navegos.net: did not receive HSTS header naviaddress.io: did not receive HSTS header naviteq.eu: could not connect to host -navitime.me: could not connect to host +navitime.me: did not receive HSTS header navjobs.com: could not connect to host nawroth.info: could not connect to host nax.io: did not receive HSTS header nay.moe: did not receive HSTS header +nazigol.com: could not connect to host nba2kqq.com: could not connect to host +nba669.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +nba686.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] nbb.io: could not connect to host nbg-ha.de: could not connect to host nbis.gov: could not connect to host nbl.org.tw: could not connect to host -nbrown.us: could not connect to host nbtparse.org: could not connect to host nc2c.com: could not connect to host +ncaq.net: did not receive HSTS header ncc60205.info: could not connect to host ncdesigns-studio.com: could not connect to host nchristo.com: did not receive HSTS header -ncloud.freeddns.org: could not connect to host nclvle.co.uk: did not receive HSTS header ncpc.gov: could not connect to host ncpw.gov: did not receive HSTS header @@ -10861,17 +11842,17 @@ near.st: did not receive HSTS header nearbiwa.com: did not receive HSTS header nearon.nl: could not connect to host neavision.de: did not receive HSTS header -nebracy.com: could not connect to host +nebula.exchange: did not receive HSTS header nebulousenhanced.com: could not connect to host necesitodinero.org: could not connect to host necio.ca: could not connect to host nedcf.org.uk: could not connect to host nediyor.com: did not receive HSTS header nedwave.com: did not receive HSTS header -nedzad.me: could not connect to host +nedys.top: did not receive HSTS header needle.net.nz: could not connect to host needle.nz: could not connect to host -neels.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +neels.ch: did not receive HSTS header neer.io: could not connect to host neet-investor.biz: could not connect to host neftaly.com: did not receive HSTS header @@ -10880,27 +11861,30 @@ negativecurvature.net: could not connect to host negativzinsen.info: did not receive HSTS header negraelinda.com: did not receive HSTS header neilgreen.net: did not receive HSTS header -neilwynne.com: did not receive HSTS header +neio.uk: could not connect to host nejnamc.org: did not receive HSTS header neko-life.com: did not receive HSTS header neko.li: could not connect to host -neko.ml: could not connect to host nekoku.io: could not connect to host nekox.ml: could not connect to host +nella.io: could not connect to host nellen.it: did not receive HSTS header nemanja.top: did not receive HSTS header -nemecl.eu: could not connect to host nemno.de: could not connect to host nemovement.org: could not connect to host -nemplex.win: could not connect to host neoani.me: did not receive HSTS header neocoding.com: did not receive HSTS header neocyd.com: could not connect to host +neodrive.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +neoeliteconsulting.com: could not connect to host neofelhz.space: could not connect to host neojames.me: could not connect to host +neokobe.city: could not connect to host neonisi.com: could not connect to host neonnuke.tech: did not receive HSTS header neosolution.ca: did not receive HSTS header +neotist.com: did not receive HSTS header +neowa.tk: could not connect to host nephos.xyz: could not connect to host nercp.org.uk: did not receive HSTS header nerd42.de: could not connect to host @@ -10910,7 +11894,7 @@ nerfroute.com: could not connect to host neris.io: could not connect to host neriumhcp.com: did not receive HSTS header nesantuoka.lt: could not connect to host -nesbase.com: could not connect to host +nesterov.pw: could not connect to host nestone.ru: could not connect to host net-navi.cc: did not receive HSTS header net-rencontre.com: did not receive HSTS header @@ -10918,12 +11902,13 @@ net2o.com: did not receive HSTS header net2o.de: did not receive HSTS header net2o.net: did not receive HSTS header net4it.de: did not receive HSTS header +netba.net: could not connect to host netbox.cc: could not connect to host -netbrief.ml: did not receive HSTS header -netbuzz.ru: could not connect to host -netde.jp: could not connect to host +netbrief.ml: could not connect to host +netde.jp: did not receive HSTS header netdego.jp: could not connect to host -neteraser.de: could not connect to host +netducks.com: could not connect to host +netducks.space: could not connect to host netfs.pl: did not receive HSTS header netguide.co.nz: did not receive HSTS header netherwind.eu: did not receive HSTS header @@ -10939,21 +11924,23 @@ netsparkercloud.com: did not receive HSTS header netsystems.pro: could not connect to host nettacompany.com.tr: did not receive HSTS header nettefoundation.com: could not connect to host +nettopower.dk: did not receive HSTS header nettplusultra-rhone.fr: did not receive HSTS header +networkmon.net: could not connect to host 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: could not connect to host -netzzwerg4u.de: did not receive HSTS header +netzzwerg4u.de: could not connect to host neuch.info: did not receive HSTS header neueonlinecasino2016.com: could not connect to host +neuhaus-city.de: could not connect to host neuralgic.net: could not connect to host neuro-plus-100.com: could not connect to host -neuronasdigitales.com: could not connect to host +neuronasdigitales.com: did not receive HSTS header neuronfactor.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] neutralvehicle.com: did not receive HSTS header -neva.li: could not connect to host nevadafiber.net: could not connect to host never-afk.de: did not receive HSTS header neveta.com: could not connect to host @@ -10971,13 +11958,15 @@ newgenerationplus.org: could not connect to host newhdmovies.io: could not connect to host newline.online: did not receive HSTS header newlooknow.com: did not receive HSTS header -newmed.com.br: could not connect to host newparadigmventures.net: did not receive HSTS header newpathintegratedtherapy.com: did not receive HSTS header newpoke.net: could not connect to host newportpropertygroup.com: could not connect to host +newposts.ru: could not connect to host news4c.com: did not receive HSTS header -newsaboutgames.de: could not connect to host +newsa2.com: could not connect to host +newsaboutgames.de: did not receive HSTS header +newserumforskin.com: could not connect to host newsquantified.com: max-age too low: 0 newstarnootropics.com: could not connect to host newtnote.com: could not connect to host @@ -10986,12 +11975,11 @@ newtonwarp.com: could not connect to host nexgeneration-solutions.com: could not connect to host nexlab.org: did not receive HSTS header next-taxi.ru: could not connect to host -next176.sk: did not receive HSTS header next47.com: did not receive HSTS header nextcloud.li: could not connect to host nextcloud.org: could not connect to host nextend.net: could not connect to host -nextend.org: could not connect to host +nextend.org: did not receive HSTS header nexth.de: could not connect to host nexth.net: did not receive HSTS header nexth.us: could not connect to host @@ -11002,9 +11990,9 @@ nextpages.de: could not connect to host nextproject.us: could not connect to host nextshutter.com: did not receive HSTS header nexusbyte.de: could not connect to host -nexuscorporation.in: did not receive HSTS header +nexuscorporation.in: could not connect to host nfhome.be: did not receive HSTS header -nfls.io: could not connect to host +nfls.io: did not receive HSTS header nfluence.org: could not connect to host nfo.so: could not connect to host nfrost.me: could not connect to host @@ -11012,7 +12000,6 @@ ng-firewall.com: did not receive HSTS header ng-security.com: could not connect to host ngiemboon.net: could not connect to host ngine.ch: did not receive HSTS header -nginxconfig.com: could not connect to host nginxnudes.com: could not connect to host nginxyii.tk: could not connect to host nglr.org: could not connect to host @@ -11026,7 +12013,8 @@ niallator.com: could not connect to host nibiisclaim.com: could not connect to host nicestresser.fr: could not connect to host nickcleans.co.uk: could not connect to host -nicktheitguy.com: could not connect to host +nickmertin.ca: did not receive HSTS header +nickmorri.com: could not connect to host nicky.io: did not receive HSTS header nico.one: could not connect to host nicoborghuis.nl: could not connect to host @@ -11034,12 +12022,12 @@ nicolaeiotcu.ro: could not connect to host nicolaelmer.ch: did not receive HSTS header nicolasbettag.me: did not receive HSTS header nicolasdutour.com: did not receive HSTS header -nicolasklotz.de: could not connect to host +nicolasklotz.de: did not receive HSTS header nicoleoquendo.com: max-age too low: 2592000 niconiconi.xyz: could not connect to host -nicoobook.com: did not receive HSTS header nicorevin.ru: could not connect to host nidux.com: did not receive HSTS header +niduxcomercial.com: could not connect to host niedersetz.de: could not connect to host nien.chat: could not connect to host nien.com.tw: could not connect to host @@ -11048,35 +12036,32 @@ nieuwsoverijssel.nl: did not receive HSTS header niffler.software: could not connect to host nifpnet.nl: could not connect to host nifume.com: could not connect to host -niggo.eu: could not connect to host nightsnack.cf: could not connect to host nightwinds.tk: could not connect to host +nigt.cf: did not receive HSTS header niho.jp: did not receive HSTS header nikcub.com: did not receive HSTS header niki.ai: did not receive HSTS header nikksno.io: could not connect to host niklas.host: could not connect to host -niklasanderson.com: could not connect to host +niklasanderson.com: did not receive HSTS header niklaslindblad.se: did not receive HSTS header nikobradshaw.com: could not connect to host nikolaichik.photo: did not receive HSTS header nikolasbradshaw.com: could not connect to host +nikolasgrottendieck.com: max-age too low: 7776000 nilianwo.com: could not connect to host niloxy.com: did not receive HSTS header -nimidam.com: could not connect to host ninchisho-online.com: did not receive HSTS header ninebytes.xyz: could not connect to host ning.so: did not receive HSTS header ninhs.org: could not connect to host -ninjan.co: did not receive HSTS header ninjaspiders.com: could not connect to host -ninjaworld.co.uk: could not connect to host ninofink.com: could not connect to host +ninreiei.jp: could not connect to host niouininon.eu: could not connect to host -nipe-systems.de: could not connect to host nippler.org: could not connect to host nippombashi.net: did not receive HSTS header -nippon.fr: could not connect to host nipponcareers.com: could not connect to host nirada.info: could not connect to host nirjharstudio.com: did not receive HSTS header @@ -11092,38 +12077,42 @@ niveldron.com: could not connect to host nixien.fr: could not connect to host nixmag.net: could not connect to host nixne.st: could not connect to host +njujb.com: max-age too low: 5184000 nkadvertising.online: could not connect to host nkautoservice.nl: did not receive HSTS header nkb.in.th: could not connect to host -nlegall.fr: did not receive HSTS header nll.fi: could not connect to host +nlrb.gov: did not receive HSTS header nmadda.com: did not receive HSTS header nmctest.net: could not connect to host +nmd.so: did not receive HSTS header nmgb.ga: could not connect to host nmgb.ml: could not connect to host nmsnj.com: did not receive HSTS header nmueller.at: could not connect to host nn78.com: did not receive HSTS header -nnote.net: could not connect to host +nnote.net: did not receive HSTS header nnya.cat: could not connect to host no17sifangjie.cc: could not connect to host noc.wang: could not connect to host nocallaghan.com: could not connect to host noclegi-online.pl: did not receive HSTS header noctinus.tk: could not connect to host +nodalr.com: did not receive HSTS header node-core-app.com: could not connect to host nodebrewery.com: could not connect to host nodechate.xyz: could not connect to host -nodecompat.com: could not connect to host +nodecompat.com: did not receive HSTS header nodefiles.com: could not connect to host nodefoo.com: could not connect to host +nodelab-it.de: could not connect to host nodepanel.net: did not receive HSTS header nodepositcasinouk.com: did not receive HSTS header nodeselect.com: could not connect to host nodespin.com: did not receive HSTS header nodesturut.cl: did not receive HSTS header nodetemple.com: could not connect to host -nodi.at: did not receive HSTS header +nodi.at: could not connect to host nodum.io: did not receive HSTS header noegoph.com: did not receive HSTS header noelblog.ga: could not connect to host @@ -11138,7 +12127,7 @@ nolberg.net: did not receive HSTS header nolimits.net.nz: could not connect to host nolimitsbook.de: did not receive HSTS header nolte.work: could not connect to host -nomagic.software: could not connect to host +nomoondev.azurewebsites.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] nomorebytes.de: could not connect to host nonemu.ninja: could not connect to host noodlecrave.com: did not receive HSTS header @@ -11149,17 +12138,18 @@ nootropicsource.com: did not receive HSTS header nope.website: could not connect to host nopex.no: could not connect to host nopol.de: could not connect to host -norad.sytes.net: could not connect to host norandom.com: could not connect to host norb.at: could not connect to host +norden.eu.org: could not connect to host nordic-survival.de: did not receive HSTS header nordiccasinocommunity.com: did not receive HSTS header nordlicht.photography: did not receive HSTS header noref.tk: could not connect to host +noreply.mx: could not connect to host norge.guide: could not connect to host normalady.com: could not connect to host -normandgascon.com: did not receive HSTS header normanschwaneberg.de: did not receive HSTS header +norrkemi.se: could not connect to host north.supply: could not connect to host northcutt.com: did not receive HSTS header northernmuscle.ca: could not connect to host @@ -11168,7 +12158,8 @@ northwest-events.co.uk: could not connect to host northwoodsfish.com: could not connect to host nosbenevolesontdutalent.com: could not connect to host nosecretshop.com: could not connect to host -nossasenhoradaconceicao.com.br: did not receive HSTS header +nosproduitsdequalite.fr: did not receive HSTS header +nossasenhoradaconceicao.com.br: could not connect to host nostraspace.com: could not connect to host nosx.tk: could not connect to host not-a.link: could not connect to host @@ -11191,6 +12182,7 @@ noticia.do: did not receive HSTS header notificami.com: could not connect to host notjustbitchy.com: could not connect to host notonprem.com: could not connect to host +notrecourrier.net: did not receive HSTS header nottheonion.net: did not receive HSTS header nottori.com: could not connect to host notypiesni.sk: did not receive HSTS header @@ -11199,6 +12191,7 @@ nouma.fr: did not receive HSTS header nouvelle-vague-saint-cast.fr: did not receive HSTS header nova-elearning.com: could not connect to host nova.com.hk: did not receive HSTS header +novacal.ga: could not connect to host novaco.in: max-age too low: 3600 novacraft.me: could not connect to host novaopcaofestas.com.br: could not connect to host @@ -11207,6 +12200,7 @@ novatrucking.de: could not connect to host novavoidhowl.com: did not receive HSTS header novelabs.de: could not connect to host novelabs.eu: could not connect to host +novelrealm.com: did not receive HSTS header novelshouse.com: could not connect to host novfishing.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] novinhabucetuda.com: could not connect to host @@ -11217,16 +12211,18 @@ nowprotein.com: did not receive HSTS header nowremindme.com: could not connect to host noxi.ga: could not connect to host nozoe.jp: could not connect to host -npm.li: could not connect to host +npm.li: did not receive HSTS header npol.de: did not receive HSTS header npool.org: could not connect to host nq7.pl: could not connect to host +nqesh.com: did not receive HSTS header nrc-gateway.gov: could not connect to host nrechn.de: could not connect to host nrizzio.me: could not connect to host -nrnjn.xyz: could not connect to host -nrvn.cc: did not receive HSTS header +nrnjn.xyz: did not receive HSTS header nrvnastudios.com: could not connect to host +nsa.ovh: could not connect to host +nsa.wtf: could not connect to host nsbfalconacademy.org: could not connect to host nsdev.cn: could not connect to host nsellier.fr: did not receive HSTS header @@ -11237,12 +12233,19 @@ nstyleintl.ca: did not receive HSTS header nsure.us: could not connect to host nsweb.solutions: could not connect to host ntbs.pro: could not connect to host +nth.sh: could not connect to host ntse.xyz: could not connect to host +nu-pogodi.net: could not connect to host nu3.at: did not receive HSTS header nu3.ch: did not receive HSTS header nu3.co.uk: could not connect to host +nu3.com: did not receive HSTS header nu3.de: did not receive HSTS header +nu3.dk: did not receive HSTS header +nu3.fi: did not receive HSTS header nu3.fr: did not receive HSTS header +nu3.no: did not receive HSTS header +nu3.se: did not receive HSTS header nube.ninja: did not receive HSTS header nubeslayer.com: could not connect to host nuclear-crimes.com: did not receive HSTS header @@ -11264,6 +12267,7 @@ nullpoint.at: did not receive HSTS header nullpro.com: could not connect to host numericacu.com: did not receive HSTS header numero-di-telefono.it: could not connect to host +numis.tech: could not connect to host numista.com: did not receive HSTS header numm.fr: did not receive HSTS header nuovamoda.al: could not connect to host @@ -11273,6 +12277,7 @@ nurserybook.co: did not receive HSTS header nurture.be: did not receive HSTS header nusatrip-api.com: did not receive HSTS header nusku.biz: did not receive HSTS header +nutricaovegana.com: did not receive HSTS header nutricuerpo.com: did not receive HSTS header nutrieduca.com: could not connect to host nutrienti.eu: did not receive HSTS header @@ -11281,15 +12286,18 @@ nutritionculture.com: could not connect to host nutsandboltsmedia.com: did not receive HSTS header nuttyveg.com: did not receive HSTS header nuwaterglobal.com: did not receive HSTS header +nvcogct.gov: could not connect to host nvlop.xyz: did not receive HSTS header nwa.xyz: could not connect to host nweb.co.nz: could not connect to host nwork.media: did not receive HSTS header nxt.sh: did not receive HSTS header +nyanco.space: could not connect to host nyanpasu.tv: could not connect to host nyatane.com: could not connect to host nyazeeland.guide: could not connect to host nycroth.com: could not connect to host +nydnxs.com: did not receive HSTS header nyesider.org: could not connect to host nyffo.com: did not receive HSTS header nylonfeetporn.com: could not connect to host @@ -11302,20 +12310,23 @@ nystudio107.com: did not receive HSTS header nyuusannkinn.com: did not receive HSTS header nz.search.yahoo.com: max-age too low: 172800 nzbs.io: could not connect to host +nzdmo.govt.nz: did not receive HSTS header nzmk.cz: could not connect to host nzquakes.maori.nz: did not receive HSTS header o-rickroll-y.pw: could not connect to host o0o.one: did not receive HSTS header +oakesfam.net: did not receive HSTS header oaksbloom.com: could not connect to host oasis-conference.org.nz: could not connect to host oasis.mobi: did not receive HSTS header -oasisim.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] obdolbacca.ru: could not connect to host oben.pl: did not receive HSTS header oberam.de: could not connect to host oberhof.co: could not connect to host oberhofjuice.com: could not connect to host +obioncountytn.gov: could not connect to host objectif-leger.com: did not receive HSTS header +obligacjekk.pl: could not connect to host oblikdom.pro: did not receive HSTS header oblikdom.ru: did not receive HSTS header oblondata.io: did not receive HSTS header @@ -11330,10 +12341,11 @@ occ.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FA occasion-impro.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] occupymedia.org: could not connect to host ochaken.cf: could not connect to host +ocloudhost.com: could not connect to host ocmeulebeke.be: did not receive HSTS header ocrami.us: did not receive HSTS header -octal.es: could not connect to host octanio.com: could not connect to host +octo.im: could not connect to host octocat.ninja: could not connect to host octod.tk: could not connect to host octohost.net: did not receive HSTS header @@ -11348,7 +12360,7 @@ odysseyconservationtrust.com: did not receive HSTS header oe8.bet: could not connect to host ofcourselanguages.com: could not connect to host ofcss.com: did not receive HSTS header -ofer.site: did not receive HSTS header +ofer.site: could not connect to host off-the-clock.us: could not connect to host offenedialoge.de: max-age too low: 2592000 offersgame.com: could not connect to host @@ -11360,14 +12372,13 @@ officeprint.co.th: could not connect to host 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 offtherails.ie: could not connect to host oficinadocelular.com.br: could not connect to host ofo2.com: could not connect to host oganek.ie: could not connect to host oganime.com: could not connect to host oggw.us: could not connect to host -ogkw.de: could not connect to host +ogis.gov: could not connect to host ogogoshop.com: could not connect to host ogrodywstudniach.pl: did not receive HSTS header ohayosoro.me: could not connect to host @@ -11378,7 +12389,9 @@ ohnemusik.com: max-age too low: 0 ohohrazi.com: did not receive HSTS header ohreally.de: could not connect to host ohsocool.org: did not receive HSTS header +oiaio.cn: could not connect to host oiepoie.nl: could not connect to host +oilfieldinjury.attorney: could not connect to host oinky.ddns.net: could not connect to host oishioffice.com: did not receive HSTS header ojbk.eu: could not connect to host @@ -11387,8 +12400,9 @@ ojls.co: could not connect to host okad-center.de: did not receive HSTS header okad.de: did not receive HSTS header okad.eu: did not receive HSTS header -okane.love: could not connect to host -okashi.me: could not connect to host +okaidi.es: could not connect to host +okaidi.fr: could not connect to host +okane.love: did not receive HSTS header okaz.de: did not receive HSTS header oklahomamoversassociation.org: could not connect to host oklahomanotepro.com: could not connect to host @@ -11401,30 +12415,33 @@ oldandyounglesbians.us: could not connect to host oldschool-criminal.com: did not receive HSTS header oldtimer-trifft-flugplatz.de: did not receive HSTS header olifant.fr: did not receive HSTS header -oliverdunk.com: did not receive HSTS header +olightstore.com: did not receive HSTS header +oliode.tk: could not connect to host olivlabs.com: could not connect to host ollehbizev.co.kr: could not connect to host +ollieowlsblog.com: could not connect to host ols.io: did not receive HSTS header olswangtrainees.com: could not connect to host olympe-transport.fr: did not receive HSTS header omacostudio.com: could not connect to host -omarh.net: could not connect to host -omarsuniagamusic.ga: could not connect to host +omarsuniagamusic.ga: did not receive HSTS header omeuanimal.com: did not receive HSTS header omgaanmetidealen.com: could not connect to host omifind.com: did not receive HSTS header ominto.com: did not receive HSTS header omise.co: did not receive HSTS header ommahpost.com: did not receive HSTS header -omniasl.com: could not connect to host omnigon.network: could not connect to host omnilab.tech: could not connect to host +omnisiens.se: could not connect to host omniti.com: max-age too low: 1 omorashi.org: could not connect to host omquote.gq: could not connect to host -omskit.ru: did not receive HSTS header +omsdieppe.fr: did not receive HSTS header +omskit.ru: could not connect to host omyogarishikesh.com: did not receive HSTS header on-te.ch: did not receive HSTS header +ondrejhoralek.cz: did not receive HSTS header one-pe.com: did not receive HSTS header onearth.one: did not receive HSTS header oneb4nk.com: could not connect to host @@ -11435,6 +12452,7 @@ onehourloan.com: could not connect to host onehourloan.sg: did not receive HSTS header oneiros.cc: could not connect to host onelawsuit.com: could not connect to host +oneminute.io: did not receive HSTS header oneminutefilm.tv: did not receive HSTS header onemusou.com: could not connect to host onepathnetwork.com: max-age too low: 7776000 @@ -11454,8 +12472,10 @@ onioncloud.org: could not connect to host onionplay.live: could not connect to host onionsburg.com: could not connect to host online-casino.eu: did not receive HSTS header +online-horoskop.ch: did not receive HSTS header online-scene.com: did not receive HSTS header online-wetten.de: could not connect to host +online.swedbank.se: did not receive HSTS header onlinebiller.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] onlinebillingform.com: could not connect to host onlinecasinobluebook.com: could not connect to host @@ -11463,14 +12483,18 @@ onlinecompliance.org: did not receive HSTS header onlinecorners.com: did not receive HSTS header onlinedemo.hu: could not connect to host onlinedeposit.us: could not connect to host +onlineinfographic.com: could not connect to host onlinekasino.de: did not receive HSTS header onlinepollsph.com: could not connect to host onlineporno.tv: could not connect to host onlineschadestaat.nl: did not receive HSTS header -onlinespielothek.com: did not receive HSTS header +onlinespielothek.com: could not connect to host +onlineweblearning.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] onlinewetten.de: could not connect to host only-roses.co.uk: did not receive HSTS header only-roses.com: max-age too low: 2592000 +onlyesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +onlyesb.net: could not connect to host onlyshopstation.com: did not receive HSTS header onlyzero.net: could not connect to host onmuvo.com: could not connect to host @@ -11478,8 +12502,10 @@ onmyoji.biz: could not connect to host onnee.ch: could not connect to host onnext.cc: did not receive HSTS header ononpay.com: did not receive HSTS header +onoranze-funebri.biz: could not connect to host onovlena.dn.ua: could not connect to host onpatient.com: did not receive HSTS header +onpermit.net: could not connect to host onsennuie.fr: could not connect to host onsite4u.de: could not connect to host onsitemassageco.com: did not receive HSTS header @@ -11489,7 +12515,6 @@ ontheboard.com: did not receive HSTS header onthecheap.store: could not connect to host ontheten.org: did not receive HSTS header ontimestamp.com: did not receive HSTS header -onviga.de: could not connect to host onwie.com: could not connect to host onwie.fr: could not connect to host onyxwall.com: could not connect to host @@ -11501,15 +12526,19 @@ ookjesprookje.nl: could not connect to host ooooush.co.uk: could not connect to host oopsmycase.com: could not connect to host oopsorup.com: could not connect to host +oosoo.org: could not connect to host oost.io: could not connect to host +opadaily.com: could not connect to host opatut.de: did not receive HSTS header opcaobolsas.com.br: could not connect to host +open-desk.org: could not connect to host open-future.be: did not receive HSTS header open-mx.de: could not connect to host open-to-repair.fr: max-age too low: 86400 openacademies.com: could not connect to host openas.org: did not receive HSTS header openbankproject.com: did not receive HSTS header +openbsd.id: could not connect to host openclub24.ru: could not connect to host openconcept.no: did not receive HSTS header openconnect.com.au: could not connect to host @@ -11520,6 +12549,7 @@ openiocdb.com: could not connect to host openmetals.com: could not connect to host openmind-shop.de: did not receive HSTS header openmirrors.cf: could not connect to host +openpresentes.com.br: could not connect to host openpriv.pw: could not connect to host openprovider.nl: did not receive HSTS header openrainbow.org: could not connect to host @@ -11548,17 +12578,22 @@ opsafewinter.net: could not connect to host opsbears.com: did not receive HSTS header opsnotepad.com: could not connect to host opstacks.com: could not connect to host +opteamax.eu: did not receive HSTS header optenhoefel.de: could not connect to host optiekzien.nl: did not receive HSTS header optimal-e.com: did not receive HSTS header optimista.soy: could not connect to host optimize-jpg.com: could not connect to host +optisure.de: did not receive HSTS header optometriepunt.nl: did not receive HSTS header optumrxhealthstore.com: could not connect to host opunch.org: did not receive HSTS header +opure.ml: could not connect to host +opure.ru: could not connect to host oracaodocredo.com.br: could not connect to host orangekey.tk: could not connect to host oranges.tokyo: did not receive HSTS header +orangetravel.eu: did not receive HSTS header oranic.com: did not receive HSTS header orbiosales.com: could not connect to host orbitcom.de: did not receive HSTS header @@ -11585,25 +12620,25 @@ orionfcu.com: did not receive HSTS header orionrebellion.com: did not receive HSTS header orleika.ml: could not connect to host oroweatorganic.com: could not connect to host -ortho-graz.at: could not connect to host +ortho-graz.at: max-age too low: 86400 orthodoxy.lt: did not receive HSTS header ortodonciaian.com: did not receive HSTS header orui.com.br: could not connect to host -orz.uno: did not receive HSTS header osaiyuwu.com: could not connect to host +osaka-onakura.com: did not receive HSTS header +oscamp.eu: could not connect to host oscarmashauri.com: did not receive HSTS header oscillation-services.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +oscloud.com: could not connect to host oscloud.com.ua: could not connect to host oscreen.me: could not connect to host oscreen.org: could not connect to host -oscsdp.cz: could not connect to host +oscsdp.cz: did not receive HSTS header osdls.gov: did not receive HSTS header -osereso.tn: could not connect to host osha-kimi.com: did not receive HSTS header oshanko.de: could not connect to host oshinagaki.jp: could not connect to host oslfoundation.org: did not receive HSTS header -oslinux.net: could not connect to host osmestres.com: did not receive HSTS header osp.cx: could not connect to host osquery.io: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -11616,9 +12651,8 @@ ostrov8.com: could not connect to host oswaldmattgroup.com: did not receive HSTS header otako.pl: did not receive HSTS header otakuworld.de: could not connect to host -otakuyun.com: did not receive HSTS header +otakuyun.com: could not connect to host otchecker.com: could not connect to host -other98.com: did not receive HSTS header othercode.nl: could not connect to host otherkinforum.com: could not connect to host othermedia.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -11626,31 +12660,37 @@ otherstuff.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ER otichi.com: did not receive HSTS header otinane.eu: could not connect to host otmns.net: could not connect to host +otmo7.com: could not connect to host otokonna.com: could not connect to host otrsdemo.hu: did not receive HSTS header -ottoproject.io: did not receive HSTS header +otsu.beer: could not connect to host ottospora.nl: could not connect to host -ouowo.gq: did not receive HSTS header ourbank.com: max-age too low: 2592000 ourchoice2016.com: could not connect to host +ouruglyfood.com: could not connect to host outdooradventures.pro: could not connect to host outdoorproducts.com: max-age too low: 7889238 outreachbuddy.com: could not connect to host outsider.im: could not connect to host outurnate.com: did not receive HSTS header ouvirmusica.com.br: did not receive HSTS header +ovabag.com: did not receive HSTS header ovenapp.io: did not receive HSTS header over25tips.com: did not receive HSTS header override.io: could not connect to host overrustle.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +overseamusic.de: did not receive HSTS header oversight.io: could not connect to host +overstappen.nl: did not receive HSTS header overture.london: did not receive HSTS header -ovpn.to: could not connect to host ovuscloud.de: could not connect to host ovwane.com: could not connect to host +owall.ml: did not receive HSTS header owennelson.me: max-age too low: 2592000 owensmith.website: could not connect to host +owl-hakkei.com: did not receive HSTS header owlscrap.ru: could not connect to host +ownc.at: could not connect to host owncloud.help: could not connect to host owngeek.com: could not connect to host ownmovies.fr: could not connect to host @@ -11670,34 +12710,18 @@ ozoz.cc: could not connect to host p-pc.de: could not connect to host p-rickroll-o.pw: could not connect to host p.linode.com: could not connect to host +p1984.nl: could not connect to host p1c.pw: could not connect to host p2av.com: could not connect to host p3.marketing: did not receive HSTS header p3in.com: could not connect to host p3ter.fr: did not receive HSTS header -p8r.de: did not receive HSTS header +p8r.de: could not connect to host paavolastudio.com: did not receive HSTS header -pablo.im: did not receive HSTS header -pablo.scot: did not receive HSTS header -pablo.sh: did not receive HSTS header -pabloarteaga.co.uk: did not receive HSTS header -pabloarteaga.com: did not receive HSTS header -pabloarteaga.com.es: did not receive HSTS header -pabloarteaga.es: did not receive HSTS header -pabloarteaga.eu: did not receive HSTS header -pabloarteaga.info: did not receive HSTS header -pabloarteaga.me: did not receive HSTS header pabloarteaga.name: did not receive HSTS header -pabloarteaga.net: did not receive HSTS header -pabloarteaga.nom.es: did not receive HSTS header -pabloarteaga.org: did not receive HSTS header -pabloarteaga.science: did not receive HSTS header -pabloarteaga.tech: did not receive HSTS header -pabloarteaga.uk: did not receive HSTS header -pabloarteaga.xyz: did not receive HSTS header pablocamino.tk: could not connect to host +pablofain.com: did not receive HSTS header pablorey-art.com: did not receive HSTS header -paceda.nl: could not connect to host pachaiyappas.org: did not receive HSTS header packair.com: did not receive HSTS header packer.io: did not receive HSTS header @@ -11714,6 +12738,7 @@ pader-deko.de: [Exception... "Component returned failure code: 0x80004005 (NS_ER paestbin.com: could not connect to host page: could not connect to host pagedesignshop.com: did not receive HSTS header +pageperform.com: did not receive HSTS header pagerate.io: could not connect to host pages-tocaven.com: could not connect to host pagetoimage.com: could not connect to host @@ -11725,7 +12750,7 @@ paino.cloud: could not connect to host painosso.org: could not connect to host paintingat.com: could not connect to host paio2-rec.com: could not connect to host -paio2.com: did not receive HSTS header +paio2.com: could not connect to host paisaone.com: could not connect to host paizinhovirgula.com: did not receive HSTS header pajonzeck.de: could not connect to host @@ -11738,9 +12763,9 @@ palawan.jp: could not connect to host palazzotalamo.it: did not receive HSTS header paleolowcarb.de: did not receive HSTS header paleosquawk.com: could not connect to host -pallet.io: did not receive HSTS header +pallet.io: could not connect to host palmer.im: could not connect to host -pammbook.com: did not receive HSTS header +pammbook.com: could not connect to host pamplona.tv: could not connect to host pan.tips: could not connect to host panaceallc.net: could not connect to host @@ -11753,6 +12778,8 @@ pandapsy.com: could not connect to host panelomix.net: did not receive HSTS header pangci.xyz: could not connect to host panicparts.com: max-age too low: 10540800 +panjee.com: did not receive HSTS header +panjee.fr: did not receive HSTS header panlex.org: did not receive HSTS header panni.me: could not connect to host panoranordic.net: could not connect to host @@ -11767,7 +12794,6 @@ papelariadante.com.br: could not connect to host papercard.co.uk: did not receive HSTS header papercrunch.io: could not connect to host paperhaven.com.au: max-age too low: 7889238 -paperhoney.by: could not connect to host papermasters.com: could not connect to host papersmart.net: could not connect to host paperwallets.io: could not connect to host @@ -11777,17 +12803,17 @@ papotage.net: could not connect to host papygeek.com: could not connect to host parabhairavayoga.com: did not receive HSTS header paradiesgirls.ch: could not connect to host +paradigi.com.br: did not receive HSTS header paradise-engineers.com: could not connect to host paragon.edu: could not connect to host parakranov.ru: did not receive HSTS header -paranormalweirdo.com: could not connect to host -paranoxer.hu: could not connect to host parav.xyz: did not receive HSTS header pardnoy.com: could not connect to host parent5446.us: could not connect to host parentmail.co.uk: did not receive HSTS header parfum-baza.ru: did not receive HSTS header -paris-cyber.fr: could not connect to host +pariga.co.uk: could not connect to host +paris-cyber.fr: did not receive HSTS header parisdimanche.com: did not receive HSTS header parishome.jp: could not connect to host parisvox.info: did not receive HSTS header @@ -11798,11 +12824,11 @@ parkrocker.com: max-age too low: 604800 parksland.net: did not receive HSTS header parksubaruoemparts.com: could not connect to host parkwithark.com: could not connect to host +parleu2016.nl: could not connect to host parodybit.net: did not receive HSTS header parpaing-paillette.net: could not connect to host +parquet-lascazes.fr: did not receive HSTS header partage.ovh: could not connect to host -parteaga.com: did not receive HSTS header -parteaga.net: did not receive HSTS header participatorybudgeting.de: did not receive HSTS header participatorybudgeting.info: did not receive HSTS header particonpsplus.it: could not connect to host @@ -11820,6 +12846,7 @@ partyvan.it: could not connect to host partyvan.moe: could not connect to host partyvan.nl: could not connect to host partyvan.se: could not connect to host +pascal-kannchen.de: could not connect to host pascalchristen.ch: did not receive HSTS header pasportaservo.org: did not receive HSTS header passpilot.co.uk: did not receive HSTS header @@ -11837,6 +12864,7 @@ paster.li: did not receive HSTS header pasteros.io: could not connect to host pastie.se: could not connect to host pastorcanadense.com.br: could not connect to host +pastorsuico.com.br: could not connect to host pataua.kiwi: did not receive HSTS header paternitydnatest.com: could not connect to host patfs.com: did not receive HSTS header @@ -11844,17 +12872,19 @@ pathwaytofaith.com: could not connect to host patientinsight.net: could not connect to host patriaco.net: did not receive HSTS header patrick.dark.name: could not connect to host -patrick21.ch: could not connect to host patrickbusch.net: could not connect to host +patrickmcnamara.xyz: did not receive HSTS header patrickneuro.de: could not connect to host patrickquinn.ca: did not receive HSTS header patrickschneider.me: could not connect to host patt.us: did not receive HSTS header patterson.mp: could not connect to host +paul-bronski.de: could not connect to host paul-kerebel.pro: could not connect to host paul-schmidt.de: max-age too low: 0 paulbunyanmls.com: did not receive HSTS header -paulchen.at: did not receive HSTS header +paulewen.ca: could not connect to host +paulpetersen.dk: did not receive HSTS header paulproell.at: did not receive HSTS header paulrudge.codes: could not connect to host paulshir.com: could not connect to host @@ -11863,11 +12893,13 @@ paulyang.cn: did not receive HSTS header paveljanda.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] pavelkahouseforcisco.com: did not receive HSTS header pavelstriz.cz: could not connect to host +pawfriends.org.za: did not receive HSTS header pawsru.org: could not connect to host paxdei.com.br: could not connect to host paxwinkel.nl: could not connect to host pay.gigahost.dk: did not receive HSTS header pay.ubuntu.com: could not connect to host +pay8522.com: could not connect to host payclixpayments.com: did not receive HSTS header payfreez.com: could not connect to host paykings.com: did not receive HSTS header @@ -11885,15 +12917,18 @@ pbbr.com: did not receive HSTS header pbcknd.ml: could not connect to host pbcomp.com.au: did not receive HSTS header pbprint.ru: could not connect to host +pbqs.site: could not connect to host +pbreen.co.uk: could not connect to host pbscreens.com: could not connect to host pbytes.com: could not connect to host pc-nf.de: did not receive HSTS header pc-tweak.de: did not receive HSTS header pcat.io: could not connect to host +pcbricole.fr: could not connect to host pcfun.net: did not receive HSTS header pchax.net: could not connect to host pchospital.cc: could not connect to host -pcmedia.co.nz: did not receive HSTS header +pcmedia.co.nz: max-age too low: 7889238 pcvirusclear.com: could not connect to host pdamsidoarjo.co.id: could not connect to host pdevio.com: could not connect to host @@ -11924,7 +12959,7 @@ penablog.com: did not receive HSTS header pengisatelier.net: could not connect to host pengui.uk: could not connect to host penguinclientsystem.com: did not receive HSTS header -pengumuman.id: did not receive HSTS header +pengumuman.id: could not connect to host pennyapp.io: did not receive HSTS header pennylane.me.uk: did not receive HSTS header pensanisso.com: did not receive HSTS header @@ -11933,9 +12968,9 @@ pension-veldzigt.nl: did not receive HSTS header pension-waldesruh.de: did not receive HSTS header pensiunealido.ro: could not connect to host pentagram.me: max-age too low: 2592000 -pentano.net: could not connect to host +pentano.net: did not receive HSTS header people-mozilla.org: could not connect to host -peoplerange.com: could not connect to host +peoplerange.com: did not receive HSTS header peoplesbankal.com: did not receive HSTS header peperiot.com: did not receive HSTS header pepper.dog: could not connect to host @@ -11948,7 +12983,7 @@ pereuda.com: could not connect to host perez-marrero.com: could not connect to host perfect-radiant-wrinkles.com: could not connect to host perfectionis.me: could not connect to host -perfectionunite.com: could not connect to host +perfectionunite.com: did not receive HSTS header perfectseourl.com: did not receive HSTS header performancesantafe.org: did not receive HSTS header performaride.com.au: did not receive HSTS header @@ -11958,6 +12993,11 @@ perfumista.vn: did not receive HSTS header periodismoactual.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] periscopeliveweb.com: could not connect to host perlwork.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +perm-jur.ch: could not connect to host +perm-juridique.ch: could not connect to host +permanence-juridique.com: could not connect to host +permanencejuridique-ge.ch: could not connect to host +permanencejuridique.com: could not connect to host pernatie.ru: could not connect to host peromsik.com: did not receive HSTS header perplex.nl: did not receive HSTS header @@ -11965,6 +13005,7 @@ perrone.co: could not connect to host perroud.pro: did not receive HSTS header persjrp.ca: could not connect to host persoform.ch: could not connect to host +personal-injury-attorney.co: could not connect to host personalcommunicationsecurity.com: could not connect to host personaldatabasen.no: could not connect to host personalinjurylist.com: could not connect to host @@ -11975,13 +13016,13 @@ persson.im: could not connect to host perthdevicelab.com: did not receive HSTS header pestalozzishop.com.br: could not connect to host pesto.video: could not connect to host -pesyun.cn: could not connect to host -pet-life.top: did not receive HSTS header +pesyun.cn: max-age too low: 3600 pet-nsk.ru: could not connect to host petangen.se: could not connect to host petchart.net: could not connect to host peteboc.com: max-age too low: 0 peterfolta.net: could not connect to host +peterkshultz.com: could not connect to host petermazur.com: did not receive HSTS header peternagy.ie: did not receive HSTS header peters.consulting: could not connect to host @@ -11990,9 +13031,9 @@ pethelpers.org: did not receive HSTS header pethub.com: did not receive HSTS header petit.site: could not connect to host petlife.od.ua: could not connect to host -petplum.com: could not connect to host -petrachuk.ru: could not connect to host +petplum.com: did not receive HSTS header petrkrapek.cz: did not receive HSTS header +petrotranz.com: did not receive HSTS header petrovsky.pro: could not connect to host petsittersservices.com: could not connect to host pettsy.com: did not receive HSTS header @@ -12003,28 +13044,32 @@ pexieapp.com: did not receive HSTS header peykezamin.ir: did not receive HSTS header peyote.org: could not connect to host peytonfarrar.com: could not connect to host +pf.dk: did not receive HSTS header +pfadfinder-grossauheim.de: could not connect to host pferdeeinstreu-kaufen.com: did not receive HSTS header pfgshop.com.br: could not connect to host pflegedienst-gratia.de: max-age too low: 300 +pfo.io: could not connect to host pfolta.net: could not connect to host +pfrost.me: could not connect to host pgcpbc.com: could not connect to host pgmsource.com: could not connect to host pgpm.io: could not connect to host pgregg.com: did not receive HSTS header pgtb.be: could not connect to host phalconist.com: could not connect to host +pharmaboard.org: did not receive HSTS header pharmgkb.org: could not connect to host -phaux.uno: could not connect to host phcmembers.com: did not receive HSTS header -phcnetworks.net: did not receive HSTS header phdsupply.com: could not connect to host phdwuda.com: could not connect to host -phenomeno-porto.com: could not connect to host -phenomeno.nl: could not connect to host -phenomenoporto.com: could not connect to host -phenomenoporto.nl: could not connect to host +phenomeno-porto.com: did not receive HSTS header +phenomeno.nl: did not receive HSTS header +phenomenoporto.com: did not receive HSTS header +phenomenoporto.nl: did not receive HSTS header philadelphiacandies.com: did not receive HSTS header philadelphiadancefoundation.org: could not connect to host +philipkohn.com: did not receive HSTS header philipmordue.co.uk: could not connect to host philippa.cool: could not connect to host phillippi.me: could not connect to host @@ -12033,29 +13078,35 @@ phillprice.com: did not receive HSTS header philonas.net: did not receive HSTS header philpropertygroup.com: could not connect to host phippsreporting.com: did not receive HSTS header -phishing.rs: could not connect to host +phishing.rs: did not receive HSTS header +phocean.net: could not connect to host phoebe.co.nz: did not receive HSTS header phoenicis.com.ua: did not receive HSTS header phoenix.dj: did not receive HSTS header phonenumberinfo.co.uk: could not connect to host phongmay24h.com: could not connect to host -phood.be: could not connect to host +phood.be: did not receive HSTS header +photek.fm: could not connect to host photoblogverona.com: could not connect to host photoboothpartyhire.co.uk: did not receive HSTS header photographyforchange.com: could not connect to host photographyforchange.org: could not connect to host +photon.sh: could not connect to host photops.fr: could not connect to host photosoftware.nl: could not connect to host +photosquare.com.tw: did not receive HSTS header phototag.org: did not receive HSTS header php-bach.org: could not connect to host phpdistribution.com: did not receive HSTS header phperformances.fr: did not receive HSTS header phpfashion.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] phr34kz.pw: did not receive HSTS header +phra.gs: could not connect to host phrasing.me: could not connect to host phryneas.de: did not receive HSTS header phumin.in.th: did not receive HSTS header phuong.faith: could not connect to host +physicpezeshki.com: did not receive HSTS header pi-box.ml: could not connect to host pi-eng.fr: did not receive HSTS header pianetaottica.eu: could not connect to host @@ -12076,14 +13127,15 @@ picshare.nz: could not connect to host pidatacenters.com: did not receive HSTS header pidomex.com: did not receive HSTS header piedfeed.com: did not receive HSTS header +pieinsurance.com: did not receive HSTS header piekacz.co.uk: could not connect to host pieperhome.de: did not receive HSTS header pierrejeansuau.fr: could not connect to host pieterjangeeroms.me: could not connect to host piggott.me.uk: did not receive HSTS header +pigritia.de: could not connect to host piils.fr: did not receive HSTS header pikalongwar.com: did not receive HSTS header -pikimusic.moe: could not connect to host pikmy.com: could not connect to host pilgermaske.org: did not receive HSTS header piligrimname.com: could not connect to host @@ -12103,12 +13155,16 @@ pinkfis.ch: did not receive HSTS header pinkhq.com: did not receive HSTS header pinkinked.com: could not connect to host pinoylinux.org: did not receive HSTS header +pinscher.com.br: could not connect to host +pintosbeeremovals.co.za: did not receive HSTS header pintoselectrician.co.za: did not receive HSTS header pioche.ovh: did not receive HSTS header +pipenny.net: could not connect to host pippen.io: could not connect to host pips.rocks: could not connect to host pir9.com: did not receive HSTS header -pirata.ga: did not receive HSTS header +piranil.com: did not receive HSTS header +pirata.ga: could not connect to host pirateahoy.eu: could not connect to host piratebay.ml: could not connect to host piratebit.tech: could not connect to host @@ -12118,12 +13174,12 @@ piratelist.online: could not connect to host piratenlogin.de: could not connect to host piratepay.io: could not connect to host piratepay.ir: could not connect to host -pirateproxy.pe: max-age too low: 0 +pirateproxy.pe: could not connect to host pirateproxy.sx: did not receive HSTS header pirateproxy.vip: could not connect to host pirati.cz: max-age too low: 604800 piratte.net: did not receive HSTS header -pirganj24.com: could not connect to host +pirganj24.com: did not receive HSTS header pirlitu.com: did not receive HSTS header pisexy.me: did not receive HSTS header pisidia.de: could not connect to host @@ -12141,11 +13197,16 @@ pixelesque.uk: could not connect to host pixelgliders.de: could not connect to host pixelhero.co.uk: did not receive HSTS header pixelpoint.io: did not receive HSTS header +pixelrain.info: could not connect to host pixi.chat: could not connect to host pixi.me: did not receive HSTS header +pixivimg.me: could not connect to host pizala.de: could not connect to host +pizzacook.ch: did not receive HSTS header pizzadoc.ch: could not connect to host -pj00100.com: could not connect to host +pizzafunny.com.br: did not receive HSTS header +pizzamc.eu: could not connect to host +pj00100.com: did not receive HSTS header pj00200.com: did not receive HSTS header pj00300.com: did not receive HSTS header pj00400.com: did not receive HSTS header @@ -12163,8 +13224,8 @@ pkautodesign.com: did not receive HSTS header pkbjateng.or.id: could not connect to host pko.ch: did not receive HSTS header pkschat.com: could not connect to host -pksps.com: could not connect to host plaasprodukte.com: could not connect to host +placassinal.com.br: did not receive HSTS header placefade.com: could not connect to host placehold.co: did not receive HSTS header placollection.org: could not connect to host @@ -12174,14 +13235,21 @@ plaintray.com: [Exception... "Component returned failure code: 0x80004005 (NS_ER plakbak.nl: could not connect to host planbox.info: could not connect to host planeexplanation.com: could not connect to host +planetbeauty.com: did not receive HSTS header planete-secu.com: could not connect to host planetromeo.com: could not connect to host +planformation.com: did not receive HSTS header planktonholland.com: did not receive HSTS header +planolowcarb.com: could not connect to host planpharmacy.com: could not connect to host plant.ml: could not connect to host -plantroon.com: did not receive HSTS header +plantroon.com: could not connect to host plass.hamburg: could not connect to host plasti-pac.ch: did not receive HSTS header +plasticsurgeryartist.com: max-age too low: 300 +plasticsurgerynola.com: did not receive HSTS header +plasticsurgeryservices.com: did not receive HSTS header +plastiflex.it: could not connect to host plasvilledescartaveis.com.br: could not connect to host platform.lookout.com: could not connect to host platinumpeek.com: did not receive HSTS header @@ -12192,6 +13260,7 @@ playdreamcraft.com.br: did not receive HSTS header playerhunter.com: did not receive HSTS header playflick.com: could not connect to host playkh.com: did not receive HSTS header +playkinder.com: did not receive HSTS header playmaker.io: did not receive HSTS header playmaza.live: did not receive HSTS header playmfe.com: could not connect to host @@ -12200,8 +13269,10 @@ playsource.co: could not connect to host playwhyyza.com: could not connect to host playyou.be: could not connect to host please-deny.me: could not connect to host +pleaseuseansnisupportedbrowser.ml: could not connect to host pleasure.forsale: could not connect to host plen.io: could not connect to host +plexi.dyndns.tv: could not connect to host plexpy13.ddns.net: could not connect to host plexusmd.com: did not receive HSTS header plfgr.eu.org: could not connect to host @@ -12219,8 +13290,7 @@ plugboard.xyz: could not connect to host pluggedhead.com: did not receive HSTS header plumbingboksburg.co.za: did not receive HSTS header plumbingman.com.au: did not receive HSTS header -plumplat.com: did not receive HSTS header -plus-digital.net: did not receive HSTS header +plus-digital.net: could not connect to host plus-u.com.au: did not receive HSTS header plus.sandbox.google.com: did not receive HSTS header (error ignored - included regardless) plus1s.tk: could not connect to host @@ -12233,15 +13303,19 @@ plymouthsoftplay.co.uk: could not connect to host pm13-media.cz: could not connect to host pmac.pt: could not connect to host pmbremer.de: could not connect to host +pmbtf.com: could not connect to host pmctire.com: did not receive HSTS header pmemanager.fr: did not receive HSTS header pmessage.ch: could not connect to host pmheart.site: could not connect to host pmnts.io: could not connect to host +pmponline.de: did not receive HSTS header +pneumonline.be: did not receive HSTS header pneusgppremium.com.br: did not receive HSTS header pnukee.com: did not receive HSTS header po.gl: could not connect to host pocakdrops.com: did not receive HSTS header +pocakking.tk: could not connect to host pocket-lint.com: did not receive HSTS header pocketfullofapps.com: did not receive HSTS header pocketmemories.net: could not connect to host @@ -12251,6 +13325,8 @@ pocobelli.ch: did not receive HSTS header podcast.style: could not connect to host podiumsdiskussion.org: did not receive HSTS header poed.com.au: could not connect to host +poeg.cz: did not receive HSTS header +pogetback.pl: could not connect to host pogoswine.com: could not connect to host pogs.us: could not connect to host poiema.com.sg: did not receive HSTS header @@ -12260,17 +13336,19 @@ pointiswunderland.de: did not receive HSTS header pointpro.de: did not receive HSTS header points4unitedway.com: could not connect to host pointworksacademy.com: could not connect to host +pokalsocial.de: could not connect to host pokeduel.me: did not receive HSTS header pokomichi.com: did not receive HSTS header pol-expo.ru: could not connect to host pol.in.th: could not connect to host polandb2b.directory: could not connect to host polarityschule.com: did not receive HSTS header -pole.net.nz: did not receive HSTS header +pole.net.nz: could not connect to host poleartschool.com: could not connect to host polen.guide: could not connect to host policeiwitness.sg: could not connect to host polimat.org: could not connect to host +polish-translations.com: could not connect to host polish.directory: could not connect to host polit-it.pro: could not connect to host politeiaudesa.org: max-age too low: 2592000 @@ -12278,18 +13356,20 @@ politically-incorrect.xyz: could not connect to host politiewervingshop.nl: did not receive HSTS header politologos.org: could not connect to host pollpodium.nl: could not connect to host +poloniex.co.za: did not receive HSTS header polsport.live: did not receive HSTS header polycoise.com: could not connect to host polycrypt.us: could not connect to host +polyfill.io: did not receive HSTS header +polymorph.rs: could not connect to host polypho.nyc: could not connect to host -polysage.org: could not connect to host +polysage.org: did not receive HSTS header polytechecosystem.vc: could not connect to host pomardaserra.com: could not connect to host pomfe.co: could not connect to host pompefunebrilariviera.it: could not connect to host -pompompoes.com: did not receive HSTS header +pompompoes.com: could not connect to host pondof.fish: could not connect to host -poneytelecom.org: could not connect to host ponteencima.com: could not connect to host ponteus.com: could not connect to host pontodogame.com.br: could not connect to host @@ -12297,6 +13377,7 @@ pontokay.com.br: could not connect to host pontualcomp.com: could not connect to host pony.today: could not connect to host ponythread.com: did not receive HSTS header +ponzi.life: could not connect to host poolinstallers.co.za: could not connect to host poolsandstuff.com: did not receive HSTS header poon.tech: could not connect to host @@ -12313,6 +13394,7 @@ porn77.info: could not connect to host pornalpha.com: could not connect to host pornbay.org: could not connect to host pornblog.org: could not connect to host +porncandi.com: could not connect to host pornimg.net: could not connect to host pornless.biz: could not connect to host pornmax.net: could not connect to host @@ -12325,8 +13407,11 @@ pornsocket.com: could not connect to host pornstars.me: did not receive HSTS header pornteddy.com: could not connect to host pornultra.net: could not connect to host +porpcr.com: could not connect to host porschen.fr: could not connect to host +port.im: did not receive HSTS header port.social: could not connect to host +portalcarapicuiba.com: did not receive HSTS header portale-randkowe.pl: did not receive HSTS header portalhubnuti.cz: did not receive HSTS header portalisapres.cl: could not connect to host @@ -12336,15 +13421,16 @@ portalplatform.net: could not connect to host portaluniversalista.org: did not receive HSTS header portalveneza.com.br: did not receive HSTS header portalzine.de: did not receive HSTS header -portefeuillesignalen.nl: did not receive HSTS header +portefeuillesignalen.nl: could not connect to host portraitsystem.biz: did not receive HSTS header poshpak.com: max-age too low: 86400 +positivenames.net: could not connect to host positivesobrietyinstitute.com: did not receive HSTS header post.we.bs: did not receive HSTS header -post4me.at: could not connect to host postback.io: did not receive HSTS header postcardpayment.com: could not connect to host postcodegarant.nl: could not connect to host +postdeck.de: did not receive HSTS header posters.win: could not connect to host postscheduler.org: could not connect to host posylka.de: did not receive HSTS header @@ -12353,6 +13439,7 @@ potatron.tech: could not connect to host potbar.com: could not connect to host potbox.com: could not connect to host potenzmittelblog.info: could not connect to host +potenzprobleme-info.net: did not receive HSTS header potlytics.com: could not connect to host potomania.cz: could not connect to host potpourrifestival.de: did not receive HSTS header @@ -12360,21 +13447,24 @@ potsky.com: did not receive HSTS header pouet.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] pouets.ovh: could not connect to host poupatempo.org: did not receive HSTS header +pour-la-culture-aulnay.fr: could not connect to host pourmesloisirs.com: could not connect to host pourout.org: did not receive HSTS header poussinooz.fr: could not connect to host povitria.net: could not connect to host powaclub.com: max-age too low: 86400 -powdersnow.top: did not receive HSTS header +power-coonies.de: could not connect to host power-l.ch: did not receive HSTS header -power-of-interest.com: did not receive HSTS header +power-of-interest.com: could not connect to host power99press.com: could not connect to host powerb.ch: did not receive HSTS header +powerdent.net.br: could not connect to host powerentertainment.tv: could not connect to host poweroff.win: could not connect to host powerplannerapp.com: could not connect to host powersergunited.com: could not connect to host powersergunited.org: could not connect to host +powersergusercontent.com: could not connect to host powershellmagic.com: could not connect to host powershift.ne.jp: did not receive HSTS header powertothebuilder.com: could not connect to host @@ -12384,20 +13474,21 @@ pozniak.at: did not receive HSTS header pozyczka-bez-zaswiadczen.pl: did not receive HSTS header pozytywnyplan.pl: could not connect to host pozzitiv.ro: could not connect to host -pozzo-balbi.com: could not connect to host +pozzo-balbi.com: did not receive HSTS header ppembed.com: did not receive HSTS header ppoou.co.uk: could not connect to host +ppoozl.com: could not connect to host pppo.gov: could not connect to host ppr-truby.ru: could not connect to host ppsvcs2.com: did not receive HSTS header ppuu.org: did not receive HSTS header -ppy.la: could not connect to host ppy3.com: did not receive HSTS header practodev.com: could not connect to host pratinav.xyz: could not connect to host prattpokemon.com: could not connect to host praxis-research.info: could not connect to host prazeresdavida.com.br: could not connect to host +prazynka.pl: did not receive HSTS header precedecaritas.com.br: could not connect to host precisionaeroimaging.com: did not receive HSTS header prediksisydney.com: could not connect to host @@ -12406,9 +13497,8 @@ preezzie.com: could not connect to host prefis.com: did not receive HSTS header prefontaine.name: could not connect to host prego-shop.de: could not connect to host +pregono.com: did not receive HSTS header preio.cn: could not connect to host -preisser-it.de: did not receive HSTS header -preisser.it: did not receive HSTS header prekladysanca.cz: could not connect to host prelist.org: did not receive HSTS header premaritalsex.info: could not connect to host @@ -12416,13 +13506,14 @@ premioambiente.it: did not receive HSTS header premiumzweirad.de: max-age too low: 7776000 prepaidgirl.com: could not connect to host prepandgo-euro.com: could not connect to host -preposted.com: could not connect to host +preposted.com: did not receive HSTS header preppertactics.com: did not receive HSTS header preprodfan.gov: could not connect to host prescriptionrex.com: did not receive HSTS header presentesdegrife.com.br: could not connect to host presidentials2016.com: could not connect to host press-anime-nenkan.com: did not receive HSTS header +press-presse.ca: did not receive HSTS header pressakey.de: did not receive HSTS header pressenews.net: could not connect to host pressfreedomfoundation.org: did not receive HSTS header @@ -12437,49 +13528,59 @@ pretzlaff.info: did not receive HSTS header preworkout.me: could not connect to host prgslab.net: could not connect to host priceholic.com: could not connect to host +prideindomination.com: could not connect to host pridoc.se: did not receive HSTS header prifo.se: could not connect to host prijsvergelijken.ml: could not connect to host prilock.com: did not receive HSTS header +primaconsulting.net: could not connect to host primecaplending.com: could not connect to host +primewho.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] primordialsnooze.com: could not connect to host primotiles.co.uk: did not receive HSTS header +primotilesandbathrooms.co.uk: max-age too low: 2592000 prinbanat.ngo: did not receive HSTS header -princeagency.com: could not connect to host -princeofwhales.com: did not receive HSTS header +princeagency.com: did not receive HSTS header princessbackpack.de: could not connect to host princessmargaretlotto.com: did not receive HSTS header prinesdoma.at: 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 +printexpress.cloud: could not connect to host priolkar.com: could not connect to host prism-communication.com: could not connect to host pristineevents.co.uk: did not receive HSTS header pritchett.xyz: could not connect to host privacylabs.io: did not receive HSTS header privacymanatee.com: could not connect to host -privacynow.eu: did not receive HSTS header privacyrup.net: could not connect to host privategiant.com: could not connect to host privatstunden.express: could not connect to host +privcloud.cc: could not connect to host privcloud.org: could not connect to host privilegevisa.fr: could not connect to host privu.me: could not connect to host privytime.com: could not connect to host prmte.com: did not receive HSTS header prnt.li: did not receive HSTS header +pro-esb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +pro-esb.net: could not connect to host pro-image.de: did not receive HSTS header pro-zone.com: could not connect to host proact-it.co.uk: could not connect to host proactive.run: could not connect to host procens.us: could not connect to host +proclubs.news: did not receive HSTS header procode.gq: could not connect to host +procrastinatingengineer.co.uk: could not connect to host prodpad.com: did not receive HSTS header produccioneskm.cl: did not receive HSTS header productgap.com: did not receive HSTS header productived.net: did not receive HSTS header producto8.com: did not receive HSTS header +proesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +proesb.net: could not connect to host profi-durchgangsmelder.de: did not receive HSTS header profinetz.de: could not connect to host profivps.com: could not connect to host @@ -12498,7 +13599,7 @@ proitconsulting.com.au: could not connect to host proj.org.cn: could not connect to host project-rune.tech: could not connect to host project-sparks.eu: did not receive HSTS header -project-splash.com: max-age too low: 0 +project-splash.com: could not connect to host project-stats.com: could not connect to host projectascension.io: could not connect to host projectasterk.com: could not connect to host @@ -12506,14 +13607,16 @@ projectcastle.tech: did not receive HSTS header projectdp.net: could not connect to host projectherogames.xyz: could not connect to host projectl1b1t1na.tk: could not connect to host -projectmercury.space: could not connect to host +projectmercury.space: did not receive HSTS header projectte.ch: could not connect to host +projectunity.io: could not connect to host projectvault.ovh: did not receive HSTS header projectx.top: could not connect to host projekt-umbriel.de: could not connect to host projektik.cz: did not receive HSTS header -projektzentrisch.de: could not connect to host +projet-fly.ch: could not connect to host projetoresecia.com: could not connect to host +prok.pw: did not receive HSTS header prokop.ovh: could not connect to host promarketer.net: did not receive HSTS header promecon-gmbh.de: did not receive HSTS header @@ -12527,24 +13630,26 @@ prontocleaners.co.uk: could not connect to host prontolight.com: did not receive HSTS header prontomovers.co.uk: could not connect to host propactrading.com: could not connect to host +propagandism.org: did not receive HSTS header +propepper.net: did not receive HSTS header propershave.com: could not connect to host +prophiler.de: did not receive HSTS header proplan.co.il: did not receive HSTS header propmag.co: could not connect to host prosenseit.com: did not receive HSTS header +prosharp.com.au: could not connect to host proslimdiets.com: could not connect to host prosocialmachines.com: could not connect to host -prosoft.sk: did not receive HSTS header prosperident.com: did not receive HSTS header prostohobby.ru: could not connect to host prostoporno.net: could not connect to host +prostoporno.sexy: could not connect to host proteapower.co.za: could not connect to host protecciondelconsumidor.gov: did not receive HSTS header proteinnuts.cz: could not connect to host -proteinnuts.sk: could not connect to host -protempore.fr: could not connect to host +proteinnuts.sk: did not receive HSTS header protonmail.ch: did not receive HSTS header protoyou.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -provence-appartements.com: could not connect to host provisionaldriving.com: did not receive HSTS header provisionircd.tk: did not receive HSTS header provitacare.com: did not receive HSTS header @@ -12554,7 +13659,7 @@ proxbox.net: did not receive HSTS header proxi.cf: could not connect to host proximato.com: could not connect to host proxybay.al: could not connect to host -proxybay.club: max-age too low: 0 +proxybay.club: could not connect to host proxybay.info: did not receive HSTS header proxybay.top: could not connect to host proxydesk.eu: could not connect to host @@ -12565,6 +13670,7 @@ proxyportal.net: could not connect to host proxyportal.org: did not receive HSTS header proxyrox.com: could not connect to host proxyweb.us: did not receive HSTS header +proyecto13.com: did not receive HSTS header proymaganadera.com: did not receive HSTS header prpr.cloud: could not connect to host prpsss.com: could not connect to host @@ -12584,10 +13690,12 @@ 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 pstudio.me: max-age too low: 0 psw.academy: could not connect to host psw.consulting: could not connect to host -psychiatrie-betreuung.ch: did not receive HSTS header +psychiatrie-betreuung.ch: could not connect to host +psychologie-hofner.at: could not connect to host psynapse.net.au: could not connect to host ptn.moscow: could not connect to host ptonet.com: could not connect to host @@ -12596,6 +13704,7 @@ pub-online.ro: could not connect to host pubkey.is: could not connect to host publications.qld.gov.au: did not receive HSTS header publicidadnovagrass.com.mx: could not connect to host +publick.net: did not receive HSTS header publicspeakingcamps.com: could not connect to host publimepa.it: could not connect to host publishingshack.com: did not receive HSTS header @@ -12607,6 +13716,7 @@ pugliese.fr: could not connect to host puhe.se: could not connect to host puikheid.nl: could not connect to host puiterwijk.org: could not connect to host +puli.com.br: could not connect to host pulledporkheaven.com: could not connect to host pulsar.guru: did not receive HSTS header pulsedursley.co.uk: did not receive HSTS header @@ -12614,7 +13724,6 @@ pult.co: could not connect to host pumpgames.net: could not connect to host punchkickinteractive.com: did not receive HSTS header punchr-kamikazee.rhcloud.com: could not connect to host -punchunique.com: did not receive HSTS header punkdns.top: could not connect to host puppydns.com: did not receive HSTS header purahealthyliving.com: did not receive HSTS header @@ -12624,12 +13733,11 @@ pureholisticliving.me: could not connect to host purewebmasters.com: could not connect to host purikore.com: could not connect to host purplehippie.in: did not receive HSTS header +purplez.pw: did not receive HSTS header purpoz.com.br: could not connect to host purpspc.com: could not connect to host -purrfectcams.com: did not receive HSTS header -purrfectswingers.com: did not receive HSTS header push.world: did not receive HSTS header -pushapp.org: did not receive HSTS header +pushapp.org: could not connect to host pushstar.com: max-age too low: 0 puzz.gg: could not connect to host pvagner.tk: did not receive HSTS header @@ -12655,11 +13763,10 @@ pzme.me: could not connect to host q-rickroll-u.pw: could not connect to host q2.si: did not receive HSTS header q8mp3.me: did not receive HSTS header -qadmium.com: could not connect to host qadmium.tk: could not connect to host qamrulhaque.com: could not connect to host +qapital.com: did not receive HSTS header qazcloud.com: could not connect to host -qbeing.info: could not connect to host qbik.de: did not receive HSTS header qbin.io: did not receive HSTS header qbnt.ca: could not connect to host @@ -12679,6 +13786,7 @@ qipp.com: did not receive HSTS header qirinus.com: did not receive HSTS header qiuxian.ddns.net: could not connect to host qixxit.de: did not receive HSTS header +qkka.org: did not receive HSTS header qldconservation.org: could not connect to host qnatek.org: could not connect to host qonqa.de: did not receive HSTS header @@ -12688,7 +13796,6 @@ qoqo.us: did not receive HSTS header qorm.co.uk: could not connect to host qqj.net: could not connect to host qqq.gg: could not connect to host -qqrss.com: could not connect to host qqvips.com: could not connect to host qqvrsmart.cn: could not connect to host qrara.net: did not receive HSTS header @@ -12697,10 +13804,8 @@ qrforex.com: did not receive HSTS header qrlending.com: could not connect to host qrlfinancial.com: could not connect to host qswoo.org: could not connect to host -qto.com: could not connect to host -qto.net: could not connect to host qto.org: could not connect to host -quaedam.org: could not connect to host +quaedam.org: did not receive HSTS header quail.solutions: could not connect to host quakerlens.com: did not receive HSTS header quality1.com.br: did not receive HSTS header @@ -12709,6 +13814,7 @@ quanglepro.com: could not connect to host quangngaimedia.com: did not receive HSTS header quanjinlong.cn: did not receive HSTS header quantacloud.ch: could not connect to host +quantaloupe.tech: could not connect to host quantenteranik.eu: could not connect to host quantor.dk: did not receive HSTS header quantum-cloud.xyz: could not connect to host @@ -12717,14 +13823,15 @@ quantum-lviv.pp.ua: could not connect to host quantumcore.cn: could not connect to host quantumcourse.org: did not receive HSTS header quanwuji.com: could not connect to host -quanyin.eu.org: could not connect to host +quanyin.eu.org: did not receive HSTS header quarryhillrentals.com: did not receive HSTS header quarus.net: could not connect to host quebecmailbox.com: could not connect to host queenbrownie.com.br: could not connect to host queenshaflo.com: could not connect to host +queextensiones.com: did not receive HSTS header quelmandataire.fr: did not receive HSTS header -querkommentar.de: could not connect to host +querkommentar.de: did not receive HSTS header queroreceitasoberana.com.br: did not receive HSTS header queryplayground.com: could not connect to host questionable.host: could not connect to host @@ -12744,7 +13851,7 @@ quizmemes.org: could not connect to host quotehex.com: could not connect to host quotemaster.co.za: could not connect to host quranserver.net: could not connect to host -qwallet.ca: did not receive HSTS header +qwallet.ca: could not connect to host qwaser.fr: could not connect to host qweepi.de: could not connect to host qwertyatom100.me: could not connect to host @@ -12755,25 +13862,36 @@ r-core.org: could not connect to host r-core.ru: could not connect to host r-cut.fr: could not connect to host r-rickroll-u.pw: could not connect to host +r0uzic.net: could not connect to host r10n.com: did not receive HSTS header r15.me: did not receive HSTS header r18.moe: could not connect to host -r3nt3r.com: did not receive HSTS header -r40.us: could not connect to host raajheshkannaa.com: could not connect to host rabbitvcactus.eu: did not receive HSTS header rabota-x.ru: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +rabotaescort.com: did not receive HSTS header racasdecachorro.org: could not connect to host -raceviewcycles.com: could not connect to host -raceviewequestrian.com: could not connect to host +racdek.com: max-age too low: 300 +racdek.net: max-age too low: 300 +racdek.nl: max-age too low: 300 +rachaelrussell.com: did not receive HSTS header rackblue.com: could not connect to host racktear.com: did not receive HSTS header raconteur.net: did not receive HSTS header rad-route.de: could not connect to host -raddavarden.nu: could not connect to host +rada-group.eu: could not connect to host +radarnext.com: could not connect to host +raddavarden.nu: did not receive HSTS header radicaleducation.net: could not connect to host -radtke.bayern: did not receive HSTS header +radioactivenetwork.xyz: could not connect to host +radioafibra.com.br: could not connect to host +radior9.it: could not connect to host +radom-pack.pl: could not connect to host +radtke.bayern: could not connect to host rafaelcz.de: could not connect to host +raft.pub: could not connect to host +rage-overload.ch: could not connect to host +rage.rip: could not connect to host ragingserenity.com: did not receive HSTS header ragnaroktop.com.br: could not connect to host rahadiana.com: could not connect to host @@ -12783,17 +13901,18 @@ raiblockscommunity.net: could not connect to host raidstone.com: could not connect to host raidstone.rocks: could not connect to host raiffeisen-kosovo.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +railjob.cn: could not connect to host railyardurgentcare.com: did not receive HSTS header rainbin.com: could not connect to host rainbowbarracuda.com: could not connect to host raisecorp.com: could not connect to host raitza.de: could not connect to host rakugaki.cn: could not connect to host -ramarka.de: could not connect to host ramatola.uk: could not connect to host rambii.de: could not connect to host ramblingrf.tech: could not connect to host -ramezanloo.com: did not receive HSTS header +ramezanloo.com: could not connect to host +ramitmittal.com: could not connect to host ramon-c.nl: could not connect to host ramonj.nl: could not connect to host randomcage.com: did not receive HSTS header @@ -12807,21 +13926,23 @@ rannseier.org: did not receive HSTS header ranos.org: could not connect to host rantanda.com: could not connect to host rany.duckdns.org: could not connect to host -rany.io: could not connect to host +rany.io: did not receive HSTS header rany.pw: could not connect to host +raphaelmoura.ddns.net: could not connect to host rapidemobile.com: did not receive HSTS header rapidflow.io: could not connect to host rapido.nu: could not connect to host rapidresearch.me: could not connect to host rapidthunder.io: could not connect to host -rasing.me: could not connect to host +rasing.me: max-age too low: 43200 raspass.me: did not receive HSTS header raspberry.us: could not connect to host +raspberryultradrops.com: did not receive HSTS header rastreador.com.es: did not receive HSTS header rastreie.net: did not receive HSTS header ratajczak.fr: could not connect to host rate-esport.de: could not connect to host -rathorian.fr: could not connect to host +rathorian.fr: did not receive HSTS header rationem.nl: did not receive HSTS header ratuseks.com: could not connect to host ratuseks.net: could not connect to host @@ -12829,31 +13950,38 @@ ratuseks.us: could not connect to host rauchenwald.net: could not connect to host raucris.ro: could not connect to host raulfraile.net: could not connect to host +raum4224.de: max-age too low: 0 rautermods.net: could not connect to host ravage.fm: did not receive HSTS header raven.lipetsk.ru: could not connect to host ravengergaming.ga: could not connect to host ravengergaming.net: could not connect to host -ravenx.me: could not connect to host -ravkr.duckdns.org: could not connect to host ravse.dk: could not connect to host -raw-diets.com: did not receive HSTS header +raw-diets.com: could not connect to host rawet.se: could not connect to host rawoil.com: could not connect to host rawr.sexy: could not connect to host rawstorieslondon.com: could not connect to host +rayanitco.com: did not receive HSTS header raycarruthersphotography.co.uk: could not connect to host raydan.space: could not connect to host raydobe.me: could not connect to host +raymondelooff.nl: did not receive HSTS header raytron.org: could not connect to host +raywin168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +raywin168.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +raywin88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] razlaw.name: did not receive HSTS header razzolini.com.br: could not connect to host rb-china.net: could not connect to host +rbcservicehub-uat.azurewebsites.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] rbhighinc.org: could not connect to host +rbmafrica.co.za: could not connect to host rbose.org: could not connect to host rbqcloud.com: could not connect to host rbti.me: could not connect to host rbtvshitstorm.is: did not receive HSTS header +rburchell.com: did not receive HSTS header rbxcatalog.com: could not connect to host rc4.io: could not connect to host rc7.ch: could not connect to host @@ -12865,8 +13993,11 @@ rcraigmurphy.net: could not connect to host rcvd.io: did not receive HSTS header rcx.io: could not connect to host rdfz.tech: could not connect to host +rdh.asia: could not connect to host +rdns.cc: could not connect to host rdns.im: did not receive HSTS header rdplumbingsolutions.com.au: did not receive HSTS header +rdxsattamatka.mobi: could not connect to host rdyrda.fr: could not connect to host re-customer.net: could not connect to host re-wilding.com: could not connect to host @@ -12891,7 +14022,8 @@ realfamilyincest.com: could not connect to host realgarant-shop.de: did not receive HSTS header realhost.name: could not connect to host realincest.tv: could not connect to host -really.io: could not connect to host +really.ai: could not connect to host +really.io: did not receive HSTS header reallyreally.io: did not receive HSTS header realmic.net: could not connect to host realmofespionage.com: could not connect to host @@ -12903,15 +14035,15 @@ 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 -rebtoor.com: could not connect to host receitas-de-bolos.pt: could not connect to host receitasdebacalhau.pt: could not connect to host +receptionsbook.com: could not connect to host recetasfacilesdehacer.com: did not receive HSTS header rechat.com: did not receive HSTS header rechenwerk.net: could not connect to host recht-freundlich.de: did not receive HSTS header rechtenliteratuurleiden.nl: could not connect to host -recompiled.org: max-age too low: 7776000 +reclamebureau-ultrax.nl: did not receive HSTS header recreation.gov: did not receive HSTS header recruitsecuritytraining.co.uk: could not connect to host recruitsecuritytraining.com: could not connect to host @@ -12924,6 +14056,7 @@ reddiseals.com: [Exception... "Component returned failure code: 0x80004005 (NS_E reddit.com: did not receive HSTS header rede.ca: did not receive HSTS header redeemingbeautyminerals.com: max-age too low: 0 +redheeler.com.br: could not connect to host redhorsemountainranch.com: did not receive HSTS header redicabo.de: could not connect to host redirectman.com: could not connect to host @@ -12939,9 +14072,11 @@ redperegrine.com: did not receive HSTS header redporno.cz: could not connect to host redports.org: could not connect to host redra.ws: did not receive HSTS header +redsquirrelcampsite.co.uk: max-age too low: 5184000 redstarsurf.com: did not receive HSTS header reducerin.ro: did not receive HSTS header redy.host: did not receive HSTS header +reepay.com: did not receive HSTS header reeson.at: could not connect to host reeson.de: could not connect to host reeson.info: could not connect to host @@ -12966,10 +14101,11 @@ regionalcoalition.org: did not receive HSTS header regionale.org: did not receive HSTS header register.gov.uk: did not receive HSTS header registertovoteflorida.gov: did not receive HSTS header -registryplus.nl: did not receive HSTS header regoul.com: did not receive HSTS header regsec.com: could not connect to host rehabthailand.nl: could not connect to host +reher.pro: could not connect to host +rei.codes: did not receive HSTS header reic.me: could not connect to host reidascuecas.com.br: could not connect to host reignsphere.net: could not connect to host @@ -12995,20 +14131,24 @@ rem.pe: did not receive HSTS header rema.site: did not receive HSTS header remain.london: could not connect to host remedica.fr: could not connect to host +remedioparaherpes.com: did not receive HSTS header +remedios-caserospara.com: did not receive HSTS header remedium.de: could not connect to host remedyrehab.com: did not receive HSTS header rememberthis.co.za: could not connect to host remodela.com.ve: could not connect to host remodelwithlegacy.com: did not receive HSTS header remonttitekniikka.fi: could not connect to host +remoteham.com: could not connect to host remotestance.com: did not receive HSTS header rencaijia.com: did not receive HSTS header rencontres-erotiques.com: did not receive HSTS header -reneclemens.nl: could not connect to host +reneclemens.nl: max-age too low: 300 +renedekoeijer.nl: max-age too low: 300 +renewed.technology: could not connect to host rengarenkblog.com: could not connect to host renideo.fr: could not connect to host renkhosting.com: could not connect to host -renlen.nl: could not connect to host renlong.org: did not receive HSTS header rennfire.org: could not connect to host renrenss.com: could not connect to host @@ -13019,6 +14159,7 @@ rentbrowsertrain.me: could not connect to host rentcarassist.com: could not connect to host renteater.com: could not connect to host rentex.com: did not receive HSTS header +reparo.pe: did not receive HSTS header repex.co.il: could not connect to host replaceits.me: could not connect to host replacemychina.com: could not connect to host @@ -13035,14 +14176,14 @@ reporturi.io: did not receive HSTS header reporturl.com: did not receive HSTS header reporturl.io: did not receive HSTS header reposaarenkuva.fi: could not connect to host -reprolife.co.uk: did not receive HSTS header +reprolife.co.uk: could not connect to host reptilauksjonen.no: could not connect to host republicmo.gov: could not connect to host repustate.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] reqognize.com: could not connect to host request-trent.com: could not connect to host -res-rheingau.de: did not receive HSTS header -res42.com: could not connect to host +res-rheingau.de: could not connect to host +res42.com: did not receive HSTS header resc.la: could not connect to host research.md: could not connect to host reseponline.info: did not receive HSTS header @@ -13060,13 +14201,15 @@ restaurantesimonetti.com.br: could not connect to host restaurantmangal.ch: could not connect to host restchart.com: did not receive HSTS header restioson.me: could not connect to host -restopro.nyc: did not receive HSTS header +restopro.nyc: could not connect to host restoreresearchstudy.com: could not connect to host resultsdate.news: could not connect to host retcor.net: could not connect to host +retetop95.it: did not receive HSTS header reth.ch: could not connect to host retireyourpassword.org: did not receive HSTS header retogroup.com: could not connect to host +retronet.nl: could not connect to host retropage.co: did not receive HSTS header retrowave.eu: could not connect to host rets.org.br: did not receive HSTS header @@ -13078,7 +14221,8 @@ 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 +reverse.design: could not connect to host +review.info: could not connect to host reviewbestseller.com: did not receive HSTS header reviewjust.com: did not receive HSTS header reviewspedia.org: did not receive HSTS header @@ -13092,45 +14236,45 @@ reykjavik.guide: could not connect to host rezun.cloud: did not receive HSTS header rf.tn: could not connect to host rfeif.org: could not connect to host -rfxanalyst.com: could not connect to host rgservers.com: did not receive HSTS header rhapsodhy.hu: could not connect to host rhdigital.pro: could not connect to host +rheinturm.nrw: could not connect to host rhering.de: could not connect to host rhetthenckel.com: max-age too low: 0 -rhiskiapril.com: did not receive HSTS header +rheuma-online.de: could not connect to host +rhiskiapril.com: could not connect to host rhodes.ml: could not connect to host rhodesianridgeback.com.br: could not connect to host rhodosdreef.nl: could not connect to host riaucybersolution.net: did not receive HSTS header ribopierre.fr: could not connect to host riceglue.com: could not connect to host -richamorindonesia.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +richamorindonesia.com: did not receive HSTS header richardb.me: could not connect to host richardcrosby.co.uk: did not receive HSTS header -richardharpur.com: did not receive HSTS header -richardhicks.us: 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 :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] richie.link: did not receive HSTS header richiemail.net: could not connect to host richmondsunlight.com: did not receive HSTS header richmtdriver.com: could not connect to host +richonrails.com: did not receive HSTS header richsiciliano.com: did not receive HSTS header richterphilipp.com: could not connect to host rickmartensen.nl: did not receive HSTS header ricknox.com: did not receive HSTS header +ricky.capital: did not receive HSTS header rid-wan.com: could not connect to host +ride-up.com: did not receive HSTS header 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: could not connect to host ridingoklahoma.com: could not connect to host -ridwan.co: could not connect to host rienasemettre.fr: did not receive HSTS header riesenmagnete.de: could not connect to host -rievo.net: did not receive HSTS header -rigabeerbike.lv: could not connect to host +riester.pl: did not receive HSTS header right-to-love.name: did not receive HSTS header right2.org: could not connect to host righteousendeavour.com: could not connect to host @@ -13146,20 +14290,22 @@ rionewyork.com.br: could not connect to host ripa.io: did not receive HSTS header ripple.com: did not receive HSTS header rippleunion.com: could not connect to host +ris.fi: could not connect to host risi-china.com: could not connect to host risingsun.red: could not connect to host riskmgt.com.au: could not connect to host rissato.com.br: could not connect to host ristorantefattoamano.eu: could not connect to host -rithm.ch: could not connect to host +rithm.ch: did not receive HSTS header rittis.ru: did not receive HSTS header rivagecare.it: did not receive HSTS header +riverbed.com: did not receive HSTS header rivercruiseadvisor.com: did not receive HSTS header rivermendhealthcenters.com: did not receive HSTS header riversideauto.net: did not receive HSTS header riverstyxgame.com: could not connect to host rivlo.com: could not connect to host -rixzz.ovh: could not connect to host +riwick.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] rj.gg: could not connect to host rjnutrition.consulting: did not receive HSTS header rk6.cz: could not connect to host @@ -13172,48 +14318,53 @@ rme.li: did not receive HSTS header rmit.me: could not connect to host rmk.si: could not connect to host rmsides.com: did not receive HSTS header -roaddoc.de: did not receive HSTS header +rn29.me: could not connect to host +rnbjunk.com: did not receive HSTS header roadfeast.com: could not connect to host roan24.pl: did not receive HSTS header +roave.com: could not connect to host rob.uk.com: did not receive HSTS header robertabittle.com: could not connect to host +robertbln.com: could not connect to host roberto-webhosting.nl: could not connect to host robertocasares.no-ip.biz: could not connect to host robi-net.it: could not connect to host -robigalia.org: did not receive HSTS header -robinvdmarkt.nl: could not connect to host +robin-novotny.com: could not connect to host +robinadr.com: could not connect to host robomonkey.org: could not connect to host robteix.com: did not receive HSTS header -robtex.com: did not receive HSTS header robtex.net: did not receive HSTS header robtex.org: did not receive HSTS header robust.ga: could not connect to host roc.net.au: could not connect to host rochman.id: did not receive HSTS header -rocket-wars.de: did not receive HSTS header +rockcellar.ch: could not connect to host rocketnet.ml: could not connect to host rockeyscrivo.com: did not receive HSTS header rocksberg.net: could not connect to host rockz.io: did not receive HSTS header rodarion.pl: could not connect to host rodehutskors.net: could not connect to host -rodinneodpoledne2018.cz: did not receive HSTS header rodney.id.au: did not receive HSTS header +rodneybrooksjr.com: did not receive HSTS header rodosto.com: did not receive HSTS header roelbazuin.com: did not receive HSTS header roelf.org: did not receive HSTS header +roeljoyas.com: did not receive HSTS header roeper.party: could not connect to host roesemann.email: could not connect to host roffe.nu: did not receive HSTS header +roflcopter.fr: did not receive HSTS header rofrank.space: could not connect to host rogeiro.net: could not connect to host +roger101.com: did not receive HSTS header rogerdat.ovh: could not connect to host -roguefortgame.com: could not connect to host rohanbassett.com: could not connect to host rohankrishnadev.in: could not connect to host rohlik.cz: did not receive HSTS header roiscroll.com: did not receive HSTS header roketix.co.uk: did not receive HSTS header +roksolana.be: could not connect to host rolandkolodziej.com: max-age too low: 86400 rolandslate.com: did not receive HSTS header rolemaster.net: could not connect to host @@ -13228,17 +14379,19 @@ romleg.cf: could not connect to host roms.fun: could not connect to host romulusapp.com: could not connect to host ron2k.za.net: could not connect to host +ronanrbr.com: did not receive HSTS header rondoniatec.com.br: did not receive HSTS header rondreis-planner.nl: could not connect to host ronghexx.com: could not connect to host -ronvandordt.info: could not connect to host +ronvandordt.info: did not receive HSTS header ronwo.de: max-age too low: 1 +ronzertnert.xyz: could not connect to host roo.ie: did not receive HSTS header rool.me: did not receive HSTS header roolevoi.ru: could not connect to host room-checkin24.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +roomongo.com: did not receive HSTS header roosteroriginals.com: could not connect to host -roosterpgplus.nl: did not receive HSTS header rootbsd.at: could not connect to host rootforum.org: did not receive HSTS header rootrelativity.com: could not connect to host @@ -13247,8 +14400,10 @@ rootwpn.com: could not connect to host rop.io: did not receive HSTS header roquecenter.org: did not receive HSTS header roromendut.online: could not connect to host -rorymcdaniel.com: did not receive HSTS header +rorymcdaniel.com: could not connect to host +rosetiger.life: could not connect to host rosewoodranch.com: did not receive HSTS header +roshiya.co.in: could not connect to host rosi-royal.com: could not connect to host rospa100.com: did not receive HSTS header rossclark.com: did not receive HSTS header @@ -13269,7 +14424,6 @@ royal-forest.org: max-age too low: 0 royal-mangal.ch: could not connect to host royal876.com: could not connect to host royalhop.co: could not connect to host -royalpub.net: did not receive HSTS header royalsignaturecruise.com: could not connect to host royaltube.net: could not connect to host roychan.org: max-age too low: 0 @@ -13278,6 +14432,7 @@ rozalisbengal.ro: could not connect to host rozeapp.nl: could not connect to host rpasafrica.com: could not connect to host rr.in.th: could not connect to host +rring.me: could not connect to host rritv.com: could not connect to host rrke.cc: did not receive HSTS header rrom.me: did not receive HSTS header @@ -13285,93 +14440,111 @@ rs-devdemo.host: could not connect to host rsajeey.info: could not connect to host rsampaio.info: did not receive HSTS header rsf.io: could not connect to host -rsi.im: did not receive HSTS header +rsi.im: could not connect to host rskuipers.com: did not receive HSTS header rsldb.com: could not connect to host +rsm-intern.de: could not connect to host rsmaps.org: could not connect to host +rsmmail.com: did not receive HSTS header rsships.com: could not connect to host rstraining.co.uk: did not receive HSTS header rstsecuritygroup.co.uk: could not connect to host rtc.fun: could not connect to host +rtfpessoa.xyz: did not receive HSTS header rtho.me: did not receive HSTS header +rttss.com: could not connect to host rtvi.com: did not receive HSTS header ru-music.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +ruarua.ml: could not connect to host rubbereggs.ca: could not connect to host rubbix.net: could not connect to host rubecodeberg.com: could not connect to host rubendv.be: did not receive HSTS header -rubens.cloud: did not receive HSTS header rubenschulz.nl: did not receive HSTS header rubi-ka.net: max-age too low: 0 ruborr.se: did not receive HSTS header rubysecurity.org: did not receive HSTS header rubyshop.nl: could not connect to host -rudelune.fr: could not connect to host rudeotter.com: did not receive HSTS header -ruderverein-gelsenkirchen.de: could not connect to host +ruderverein-gelsenkirchen.de: did not receive HSTS header rue-de-la-vieille.fr: did not receive HSTS header -rueg.eu: could not connect to host ruflay.ru: could not connect to host rugirlfriend.com: could not connect to host rugs.ca: did not receive HSTS header rugstorene.co.uk: did not receive HSTS header ruhr3.de: could not connect to host ruig.jp: could not connect to host +ruigomes.me: did not receive HSTS header ruitershoponline.nl: did not receive HSTS header ruja.dk: did not receive HSTS header rukhaiyar.com: could not connect to host rullzer.com: did not receive HSTS header -rumlager.de: max-age too low: 600000 rummel-platz.de: could not connect to host rumoterra.com.br: could not connect to host run-forrest.run: could not connect to host runawebinar.nl: could not connect to host runcarina.com: could not connect to host rundumcolumn.xyz: could not connect to host +runefake.com: did not receive HSTS header +runementors.com: 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 ruobiyi.com: could not connect to host ruqu.nl: could not connect to host rusadmin.biz: did not receive HSTS header -rushball.net: could not connect to host rusl.me: could not connect to host +rusl.net: did not receive HSTS header russmarshall.com: could not connect to host +russpuss.ru: did not receive HSTS header rustbyexample.com: did not receive HSTS header rustfanatic.com: did not receive HSTS header +rustralasia.net: max-age too low: 0 ruurdboomsma.nl: could not connect to host ruxit.com: did not receive HSTS header rva.gov: could not connect to host +rvender.cz: did not receive HSTS header rvg.zone: could not connect to host +rvoigt.eu: could not connect to host rvolve.net: could not connect to host rw-solutions.tech: could not connect to host rwanderlust.com: did not receive HSTS header +rwgamernl.ml: could not connect to host rxprep.com: did not receive HSTS header rxt.social: could not connect to host rxv.cc: could not connect to host +ryanroberts.co.uk: could not connect to host ryanteck.uk: did not receive HSTS header rybox.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] ryejuice.sytes.net: could not connect to host rylin.net: did not receive HSTS header rylore.com: could not connect to host ryssland.guide: could not connect to host +ryzex.de: could not connect to host rzegroup.com: did not receive HSTS header s-d-v.ch: could not connect to host +s-mdb.com: max-age too low: 7776000 s-on.li: could not connect to host s-rickroll-p.pw: could not connect to host s.how: could not connect to host s0923.com: could not connect to host +s0laris.co.uk: could not connect to host s1mplescripts.de: could not connect to host s1ris.org: did not receive HSTS header s3cases.com: did not receive HSTS header s3n.se: could not connect to host +s4ur0n.com: could not connect to host saabwa.org: could not connect to host sabatek.pl: did not receive HSTS header +sabrinajoiasprontaentrega.com.br: could not connect to host +sabtunes.com: did not receive HSTS header sac-shop.com: did not receive HSTS header -sacharidovejednotky.eu: did not receive HSTS header +sacharidovejednotky.eu: could not connect to host sachk.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +sackers.com: did not receive HSTS header saco-ceso.com: could not connect to host sadiejanehair.com: could not connect to host +sadsu.com: did not receive HSTS header saenforcement.agency: could not connect to host safari-afrique.com: did not receive HSTS header safe.space: could not connect to host @@ -13382,17 +14555,18 @@ safemt.gov: could not connect to host safepay.io: could not connect to host saferedirect.link: could not connect to host saferedirectlink.com: could not connect to host -safersurfing.eu: did not receive HSTS header +saferpost.com: could not connect to host safesecret.info: did not receive HSTS header safewings-nh.nl: could not connect to host -safezone.cc: max-age too low: 0 safing.me: could not connect to host -safnah.com: could not connect to host +safnah.com: did not receive HSTS header sagarhandicraft.com: could not connect to host sagemontchurch.org: did not receive HSTS header sageth.com: could not connect to host sah3.net: could not connect to host +saigonstar.de: could not connect to host sail-nyc.com: did not receive HSTS header +saimoe.org: did not receive HSTS header saint-astier-triathlon.com: did not receive HSTS header saintjohnlutheran.church: did not receive HSTS header saintmichelqud.com: did not receive HSTS header @@ -13402,16 +14576,15 @@ saiyasu-search.com: did not receive HSTS header sakaserver.com: did not receive HSTS header sakib.ninja: did not receive HSTS header sakurabuff.com: could not connect to host -sakuraplay.com: did not receive HSTS header salaervergleich.com: did not receive HSTS header -sale.sh: could not connect to host +sale.sh: did not receive HSTS header saleaks.org: could not connect to host salearnership.co.za: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -saleslift.pl: did not receive HSTS header +saleslift.pl: could not connect to host salishseawhalewatching.ca: could not connect to host -salixcode.com: could not connect to host sallysubs.com: could not connect to host salmo23.com.br: could not connect to host +salmonrecovery.gov: could not connect to host salon-claudia.ch: could not connect to host salonestella.it: could not connect to host salserocafe.com: did not receive HSTS header @@ -13419,6 +14592,7 @@ salserototal.com: could not connect to host saltedskies.com: could not connect to host saltra.online: could not connect to host saltro.nl: did not receive HSTS header +saludsexualmasculina.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] salvaalocombia.com: could not connect to host salverainha.org: could not connect to host salzamt.tk: could not connect to host @@ -13436,24 +14610,24 @@ samp.im: could not connect to host sampcup.com: could not connect to host sampoznay.ru: could not connect to host samraskauskas.com: could not connect to host -samrobertson.co.uk: could not connect to host samsen.club: could not connect to host samsonova.de: could not connect to host samsungxoa.com: could not connect to host samvanderkris.com: could not connect to host -sanael.net: could not connect to host +samvanderkris.xyz: did not receive HSTS header +samyerkes.com: did not receive HSTS header +san-mian-ka.ml: could not connect to host sanalbayrak.com: could not connect to host sanandreasstories.com: did not receive HSTS header sanasalud.org: could not connect to host sanatfilan.com: did not receive HSTS header sanatrans.com: could not connect to host +sanchez.adv.br: could not connect to host sanderknape.com: did not receive HSTS header -sandhaufen.tk: could not connect to host sandviks.com: did not receive HSTS header sanguoxiu.com: could not connect to host sanhei.ch: did not receive HSTS header sanik.my: could not connect to host -sanipousse.com: did not receive HSTS header sanmuding.com: could not connect to host sanradon.by: did not receive HSTS header sansage.com.br: did not receive HSTS header @@ -13481,7 +14655,7 @@ sarahdoyley.com: could not connect to host sarahlouisesearle.com: could not connect to host sarahsweetlife.com: could not connect to host sarahsweger.com: could not connect to host -sarakas.com: could not connect to host +sarakas.com: did not receive HSTS header sarangsemutbandung.com: could not connect to host sarindia.com: could not connect to host sarindia.de: could not connect to host @@ -13491,16 +14665,16 @@ sarkarischeme.in: could not connect to host sarkisozleri.us: could not connect to host sarndipity.com: could not connect to host saruwebshop.co.za: could not connect to host +sasrobotics.xyz: could not connect to host sat.rent: did not receive HSTS header -sat7a-riyadh.com: did not receive HSTS header satanichia.moe: could not connect to host sativatunja.com: 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 +satragreen.com: could not connect to host satrent.com: did not receive HSTS header satrent.se: did not receive HSTS header -satriyowibowo.my.id: did not receive HSTS header +satriyowibowo.my.id: could not connect to host satsang-uwe.de: did not receive HSTS header satsukii.moe: did not receive HSTS header sattamatkadpboss.mobi: could not connect to host @@ -13527,38 +14701,44 @@ savingbytes.com: did not receive HSTS header savinggoliath.com: could not connect to host savvysuit.com: did not receive HSTS header saxol-group.com: could not connect to host -saxotex.de: did not receive HSTS header say-hanabi.com: could not connect to host sayhanabi.com: could not connect to host sazima.ru: did not receive HSTS header sbm.cloud: could not connect to host sbobetfun.com: did not receive HSTS header sbox-archives.com: could not connect to host +sbsrv.ml: could not connect to host sby.de: did not receive HSTS header sc4le.com: could not connect to host +scaffoldhireeastrand.co.za: did not receive HSTS header scaffoldhirefourways.co.za: did not receive HSTS header scaffoldhirerandburg.co.za: did not receive HSTS header scaffoldhiresandton.co.za: did not receive HSTS header scala.click: did not receive HSTS header scannabi.com: could not connect to host +sceptique.eu: did not receive HSTS header sch44r0n.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] schaafenstrasse.koeln: could not connect to host schachburg.de: did not receive HSTS header schadegarant.net: could not connect to host schalkoortbv.nl: did not receive HSTS header +schatmeester.be: could not connect to host schau-rein.co.at: did not receive HSTS header schauer.so: could not connect to host schd.io: did not receive HSTS header schermreparatierotterdam.nl: did not receive HSTS header +schil.li: could not connect to host schippers-it.nl: did not receive HSTS header schlabbi.com: did not receive HSTS header schmelzle.io: could not connect to host schmidttulskie.de: could not connect to host schmitt.ovh: could not connect to host schmitt.ws: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +schmitz.link: could not connect to host schneider-electric.tg: did not receive HSTS header -schnell-abnehmen.tips: did not receive HSTS header -schnell-gold.com: did not receive HSTS header +schnell-abnehmen.tips: could not connect to host +schnell-gold.com: could not connect to host +schnellsuche.de: could not connect to host scholl.io: could not connect to host school.in.th: could not connect to host schooli.io: could not connect to host @@ -13571,17 +14751,17 @@ schreiber-netzwerk.eu: did not receive HSTS header schreibnacht.de: did not receive HSTS header schreinerei-wortmann.de: did not receive HSTS header schrikdraad.net: did not receive HSTS header -schritt4fit.de: did not receive HSTS header schrodinger.io: could not connect to host schroepfglas-versand.de: did not receive HSTS header schroettle.com: did not receive HSTS header schulterglatzen-altenwalde.de: could not connect to host schur-it.de: could not connect to host -schutterijschinveld.nl: could not connect to host schwarzkopfforyou.de: did not receive HSTS header -schwarzwaldcon.de: could not connect to host +schwarzwaldcon.de: did not receive HSTS header +schwedenhaus.ag: did not receive HSTS header schweiz.guide: could not connect to host schweizerbolzonello.net: could not connect to host +schwerkraftlabor.de: did not receive HSTS header schwetz.net: could not connect to host sci-internet.tk: could not connect to host scib.tk: could not connect to host @@ -13589,9 +14769,9 @@ scicasts.com: max-age too low: 7776000 science-anatomie.com: did not receive HSTS header scienceathome.org: did not receive HSTS header sciencemonster.co.uk: could not connect to host -scintillating.stream: could not connect to host scionasset.com: 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 scm-2017.org: could not connect to host scooshonline.co.uk: did not receive HSTS header @@ -13605,6 +14785,7 @@ scottferguson.com.au: did not receive HSTS header scotthel.me: did not receive HSTS header scotthelme.com: did not receive HSTS header scottnicol.co.uk: could not connect to host +scottstorey.co.uk: did not receive HSTS header scottynordstrom.org: could not connect to host scourt.info: max-age too low: 0 scourt.org.ua: could not connect to host @@ -13622,11 +14803,15 @@ scrion.com: could not connect to host script.google.com: did not receive HSTS header (error ignored - included regardless) scriptenforcer.net: could not connect to host scripthost.org: could not connect to host -scriptict.nl: could not connect to host +scriptict.nl: did not receive HSTS header scriptjunkie.us: could not connect to host scrollstory.com: did not receive HSTS header scruffymen.com: could not connect to host scrumplex.net: did not receive HSTS header +sctm.at: could not connect to host +scw.nz: could not connect to host +scwilliams.co.uk: could not connect to host +scwilliams.uk: could not connect to host sdhmanagementgroup.com: could not connect to host sdia.ru: could not connect to host sdl-corporatesite-staging.azurewebsites.net: did not receive HSTS header @@ -13636,15 +14821,16 @@ sdrobs.com: did not receive HSTS header sdsl-speedtest.de: could not connect to host se7ensins.com: did not receive HSTS header sea-godzilla.com: could not connect to host -seadus.ee: could not connect to host -seanationals.org: did not receive HSTS header +seanationals.org: max-age too low: 1 seanchaidh.org: could not connect to host 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 -searchshops.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +searchshops.com: could not connect to host searx.pw: could not connect to host +searx.xyz: did not receive HSTS header +seavancouver.com: did not receive HSTS header sebastian-bair.de: could not connect to host sebastian-lutsch.de: could not connect to host sebastian-schmidt.me: did not receive HSTS header @@ -13653,17 +14839,15 @@ sebastianpedersen.com: did not receive HSTS header sebastiensenechal.com: did not receive HSTS header sebi.cf: could not connect to host sebster.com: did not receive HSTS header -sec44.com: could not connect to host -sec44.net: could not connect to host -sec44.org: could not connect to host sec4share.me: did not receive HSTS header secandtech.com: could not connect to host secanje.nl: did not receive HSTS header +secboom.com: could not connect to host seccomp.ru: did not receive HSTS header seceye.cn: could not connect to host secitem.at: did not receive HSTS header secitem.de: could not connect to host -secitem.eu: did not receive HSTS header +secitem.eu: could not connect to host secnet.ga: could not connect to host secondary-survivor.com: could not connect to host secondary-survivor.help: could not connect to host @@ -13673,11 +14857,13 @@ secondarysurvivorportal.com: could not connect to host secondarysurvivorportal.help: could not connect to host secondbike.co.uk: did not receive HSTS header secondbyte.nl: could not connect to host -secondpay.nl: could not connect to host +secondpay.nl: did not receive HSTS header secondspace.ca: could not connect to host +secpoc.online: could not connect to host secretnation.net: did not receive HSTS header secretofanah.com: could not connect to host secretpanties.com: could not connect to host +secretum.tech: did not receive HSTS header sectest.ml: could not connect to host sectia22.ro: could not connect to host secur3.us: did not receive HSTS header @@ -13704,17 +14890,16 @@ securitybrief.co.nz: did not receive HSTS header securitybrief.com.au: did not receive HSTS header securitybrief.eu: did not receive HSTS header securitybsides.pl: did not receive HSTS header +securitycamerasaustin.net: did not receive HSTS header +securitycamerasjohnsoncity.com: could not connect to host securityglance.com: could not connect to host securityinet.biz: did not receive HSTS header securityinet.net: did not receive HSTS header securityinet.org.il: could not connect to host -securitymap.wiki: could not connect to host securitysoapbox.com: could not connect to host -securitystrata.com: could not connect to host securitytalk.pl: could not connect to host securitytestfan.gov: could not connect to host securitywatch.co.nz: did not receive HSTS header -securitywithoutborders.org: could not connect to host securiviera.ch: did not receive HSTS header securon.io: could not connect to host securoswiss.ch: could not connect to host @@ -13730,6 +14915,7 @@ seefunk.net: did not receive HSTS header seehimnaked.com: could not connect to host seehimnude.com: could not connect to host seehisnudes.com: could not connect to host +seekthe.net: could not connect to host seele.ca: could not connect to host seemeasaperson.com: did not receive HSTS header seen.life: could not connect to host @@ -13744,6 +14930,7 @@ selecadm.name: could not connect to host selectary.com: could not connect to host selectcertifiedautos.com: did not receive HSTS header selectruckscalltrackingreports.com: could not connect to host +selent.me: could not connect to host seleondar.ru: did not receive HSTS header selfdefenserx.com: did not receive HSTS header selfhosters.com: could not connect to host @@ -13754,41 +14941,47 @@ selldorado.com: could not connect to host sellercritic.com: did not receive HSTS header sellocdn.com: could not connect to host sellservs.co.za: could not connect to host -semantheme.fr: did not receive HSTS header +seltendoof.de: could not connect to host +semantheme.fr: could not connect to host semen3325.xyz: could not connect to host semenkovich.com: did not receive HSTS header sementes.gratis: could not connect to host +semianalog.com: could not connect to host +semmlers.com: did not receive HSTS header semps-servers.de: could not connect to host sendash.com: did not receive HSTS header sendmeback.de: did not receive HSTS header senedirect.com: could not connect to host senemusique.com: did not receive HSTS header -senmonsyoku.top: did not receive HSTS header -sens2lavie.com: did not receive HSTS header senseofnumber.co.uk: did not receive HSTS header senseye.io: did not receive HSTS header sensiblemn.org: could not connect to host sensibus.com: did not receive HSTS header sensoft-int.com: could not connect to host +sensoft-int.net: could not connect to host sensualism.com: could not connect to host -seo-lagniappe.com: did not receive HSTS header +sentic.info: did not receive HSTS header +seo-lagniappe.com: could not connect to host seoarchive.org: could not connect to host seobot.com.au: could not connect to host +seoenmexico.com.mx: did not receive HSTS header seohochschule.de: could not connect to host +seoium.com: did not receive HSTS header seokay.com: did not receive HSTS header seolaba.io: could not connect to host +seolib.org: could not connect to host seomarketingdeals.com: did not receive HSTS header seomen.biz: could not connect to host seomobo.com: could not connect to host seosanantonioinc.com: did not receive HSTS header seoscribe.net: could not connect to host -seosec.xyz: could not connect to host seotronix.net: did not receive HSTS header seowarp.net: did not receive HSTS header -sep23.ru: could not connect to host +sep23.ru: did not receive HSTS header sepakbola.win: could not connect to host sephr.com: did not receive HSTS header sepie.gob.es: did not receive HSTS header +septakkordeon.de: could not connect to host seq.tf: did not receive HSTS header sequatchiecountytn.gov: could not connect to host serafin.tech: could not connect to host @@ -13799,6 +14992,7 @@ serfdom.io: did not receive HSTS header sergivb01.me: did not receive HSTS header serized.pw: could not connect to host serkaneles.com: did not receive HSTS header +servdiscount.com: did not receive HSTS header servecrypt.com: could not connect to host servecrypt.net: could not connect to host servecrypt.ru: could not connect to host @@ -13811,19 +15005,20 @@ servergno.me: did not receive HSTS header serverlauget.no: could not connect to host servermonkey.nl: could not connect to host servfefe.com: could not connect to host +service-wueste-vodafone.tk: could not connect to host servicevie.com: did not receive HSTS header servpanel.de: did not receive HSTS header servu.de: did not receive HSTS header servx.ru: did not receive HSTS header -serwusik.pl: did not receive HSTS header seryo.moe: could not connect to host seryo.net: could not connect to host seryovpn.com: could not connect to host sesha.co.za: could not connect to host sethoedjo.com: could not connect to host setkit.net: could not connect to host +setterirlandes.com.br: could not connect to host setuid.de: could not connect to host -setuid.io: did not receive HSTS header +sevenet.pl: did not receive HSTS header sevenhearts.online: could not connect to host sevsey.ru: could not connect to host sevsopr.ru: could not connect to host @@ -13832,16 +15027,16 @@ sexgarage.de: could not connect to host sexocomgravidas.com: could not connect to host sexoyrelax.com: could not connect to host sexpay.net: could not connect to host -sexplicit.co.uk: did not receive HSTS header sexshopfacil.com.br: could not connect to host +sexshopnet.com.br: could not connect to host sexshopsgay.com: did not receive HSTS header sexwork.net: could not connect to host sexymassageoil.com: could not connect to host seyahatsagliksigortalari.com: could not connect to host -seydaozcan.com: did not receive HSTS header seyr.it: could not connect to host sfashion.si: did not receive HSTS header sfaturiit.ro: could not connect to host +sfcomercio.com.br: could not connect to host sfhobbies.com.br: could not connect to host sfsltd.com: did not receive HSTS header sgovaard.nl: did not receive HSTS header @@ -13859,6 +15054,7 @@ shadow-socks.pro: could not connect to host shadowguardian507-irl.tk: did not receive HSTS header shadowguardian507.tk: did not receive HSTS header shadowmorph.info: did not receive HSTS header +shadowping.com: could not connect to host shadowplus.net: could not connect to host shadowrocket.net: could not connect to host shadowroket.com: did not receive HSTS header @@ -13877,19 +15073,18 @@ shag-shag.ru: could not connect to host shagi29.ru: did not receive HSTS header shahbeat.com: could not connect to host shaitan.eu: could not connect to host -shakebox.de: could not connect to host -shamka.ru: could not connect to host shandonsg.co.uk: could not connect to host shanekoster.net: did not receive HSTS header shanesage.com: could not connect to host +shanewadleigh.com: did not receive HSTS header shang-yu.cn: could not connect to host +shangzhen.site: could not connect to host shanxiapark.com: could not connect to host -shanyhs.com: did not receive HSTS header +shanyhs.com: could not connect to host shapesedinburgh.co.uk: did not receive HSTS header shardsoft.com: could not connect to host shareeri.com: could not connect to host shareimg.xyz: could not connect to host -sharejoy.cn: did not receive HSTS header sharemessage.net: could not connect to host shareoine.com: did not receive HSTS header sharepass.pw: could not connect to host @@ -13902,6 +15097,7 @@ shariahlawcenter.org: could not connect to host sharialawcenter.com: could not connect to host sharialawcenter.org: could not connect to host sharingcode.com: did not receive HSTS header +sharkie.org.za: did not receive HSTS header sharpe-practice.co.uk: could not connect to host shasso.com: did not receive HSTS header shatorin.com: did not receive HSTS header @@ -13913,8 +15109,11 @@ shawnh.net: could not connect to host shawnstarrcustomhomes.com: did not receive HSTS header shawnwilson.info: could not connect to host shazbots.org: could not connect to host +shellot.com: could not connect to host shellsec.pw: did not receive HSTS header -shemissed.me: did not receive HSTS header +shemissed.me: could not connect to host +shena.co.uk: could not connect to host +shengrenyu.com: could not connect to host shentengtu.idv.tw: could not connect to host shep.co.il: did not receive HSTS header sheratan.web.id: could not connect to host @@ -13924,7 +15123,6 @@ shervik.ga: could not connect to host shethbox.com: could not connect to host shevronpatriot.ru: did not receive HSTS header sheying.tm: could not connect to host -shg-pornographieabhaengigkeit.de: did not receive HSTS header shiatsu-institut.ch: could not connect to host shibainu.com.br: could not connect to host shibe.club: could not connect to host @@ -13934,6 +15132,7 @@ shiftnrg.org: did not receive HSTS header shiftplanning.com: did not receive HSTS header shiinko.com: could not connect to host shikinobi.com: did not receive HSTS header +shin-inc.jp: did not receive HSTS header shindorei.fr: could not connect to host shinebijoux.com.br: could not connect to host shinju.moe: could not connect to host @@ -13943,13 +15142,13 @@ shipinsight.com: did not receive HSTS header shipmile.com: did not receive HSTS header shipping24h.com: could not connect to host shippingbo.com: did not receive HSTS header -shirao.jp: could not connect to host shiroki-k.net: could not connect to host shirosaki.org: could not connect to host -shiseki.top: did not receive HSTS header +shishamania.de: could not connect to host shishkin.link: did not receive HSTS header shitfest.info: did not receive HSTS header shitposting.life: could not connect to host +shivamber.com: did not receive HSTS header shk.im: could not connect to host shlemenkov.by: could not connect to host shm-forum.org.uk: could not connect to host @@ -13958,16 +15157,18 @@ shocksrv.com: did not receive HSTS header shoemuse.com: did not receive HSTS header shooshosha.com: could not connect to host shootpooloklahoma.com: could not connect to host +shop.fr: did not receive HSTS header shopdopastor.com.br: could not connect to host shopherbal.co.za: could not connect to host +shophisway.com: could not connect to host shopods.com: did not receive HSTS header shopontarget.com: did not receive HSTS header shoppeno5.com: did not receive HSTS header +shoppia.se: did not receive HSTS header shoppingreview.org: did not receive HSTS header shoprose.ru: could not connect to host shoprsc.com: could not connect to host shops.neonisi.com: could not connect to host -shorten.ninja: could not connect to host shortpath.com: could not connect to host shortr.li: could not connect to host shota.party: could not connect to host @@ -13978,16 +15179,19 @@ showdepiscinas.com.br: did not receive HSTS header shower.im: did not receive HSTS header showkeeper.tv: did not receive HSTS header showroom.de: did not receive HSTS header -shoxmusic.net: did not receive HSTS header +shoxmusic.net: max-age too low: 2592000 shred.ch: could not connect to host shredoptics.ch: could not connect to host +shreyansh26.me: could not connect to host shtorku.com: could not connect to host shu-kin.net: did not receive HSTS header shukatsu-note.com: could not connect to host shurita.org: could not connect to host +shuvo.rocks: did not receive HSTS header shuzicai.cn: could not connect to host shv25.se: could not connect to host shwongacc.com: could not connect to host +shybynature.com: did not receive HSTS header shymeck.pw: could not connect to host shypp.it: could not connect to host shyrydan.es: could not connect to host @@ -13999,7 +15203,8 @@ siao-mei.com: did not receive HSTS header sichere-kartenakzeptanz.de: could not connect to host siciliadigitale.pro: could not connect to host sicklepod.com: could not connect to host -sictame-tigf.org: could not connect to host +sictame-tigf.org: did not receive HSTS header +sideropolisnoticias.com.br: did not receive HSTS header siebens.net: could not connect to host sieh.es: did not receive HSTS header sieulog.com: could not connect to host @@ -14008,29 +15213,31 @@ sifreuret.com: could not connect to host signere.com: could not connect to host signere.no: did not receive HSTS header signoracle.com: could not connect to host -signosquecombinam.com.br: could not connect to host +signosquecombinam.com.br: did not receive HSTS header signsdance.uk: could not connect to host sigsegv.run: did not receive HSTS header sihaizixun.net: could not connect to host siikarantacamping.fi: did not receive HSTS header -sijimi.cn: could not connect to host +sijimi.cn: did not receive HSTS header sijmenschoon.nl: did not receive HSTS header sikatehtaat.fi: could not connect to host siku.pro: could not connect to host silentcircle.com: did not receive HSTS header silentcircle.org: could not connect to host -silentexplosion.de: could not connect to host silentlink.io: could not connect to host -silentmode.com: max-age too low: 0 +silentmode.com: max-age too low: 7889238 silicagelpackets.ca: did not receive HSTS header silke-hunde.de: did not receive HSTS header -silkon.net: max-age too low: 604800 silqueskineyeserum.com: could not connect to host +silvacor-ziegel.de: max-age too low: 604800 silver-drachenkrieger.de: did not receive HSTS header silverartcollector.com: did not receive HSTS header silverback.is: did not receive HSTS header silvergoldbull.ba: could not connect to host +silvergoldbull.kg: could not connect to host +silvergoldbull.lt: could not connect to host silvergoldbull.md: could not connect to host +silvergoldbull.ml: could not connect to host silvergoldbull.ph: could not connect to host silverhome.ninja: could not connect to host silverpvp.com: could not connect to host @@ -14039,7 +15246,6 @@ silviamacallister.com: did not receive HSTS header silvistefi.com: could not connect to host sim-sim.appspot.com: did not receive HSTS header simbast.com: could not connect to host -simbihaiti.com: max-age too low: 7889238 simbol.id: could not connect to host simbolo.co.uk: could not connect to host simccorp.com: could not connect to host @@ -14058,6 +15264,7 @@ simonkjellberg.se: did not receive HSTS header simonsaxon.com: did not receive HSTS header simonschmitt.ch: could not connect to host simonsmh.cc: did not receive HSTS header +simotrescu.ro: could not connect to host simpan.id: could not connect to host simpeo.fr: did not receive HSTS header simpeo.org: did not receive HSTS header @@ -14070,12 +15277,14 @@ simplesamlphp.org: did not receive HSTS header simplexsupport.com: did not receive HSTS header simplixos.org: could not connect to host simplyenak.com: did not receive HSTS header +simplyrara.com: did not receive HSTS header sims4hub.ga: could not connect to host simtin-net.de: could not connect to host simumiehet.com: could not connect to host simyo.nl: did not receive HSTS header sin30.net: could not connect to host sincai666.com: could not connect to host +sinceschool.com: could not connect to host sinclairmoving.com: did not receive HSTS header sincron.org: could not connect to host sinful.pw: could not connect to host @@ -14084,6 +15293,7 @@ singerwang.com: could not connect to host singles-berlin.de: could not connect to host singul4rity.com: could not connect to host sinkip.com: could not connect to host +sinn.io: could not connect to host sinneserweiterung.de: could not connect to host sinon.org: did not receive HSTS header sinoscandinavia.se: could not connect to host @@ -14094,13 +15304,13 @@ sinusbot.online: did not receive HSTS header sion.moe: did not receive HSTS header sipsik.net: did not receive HSTS header siqi.wang: could not connect to host -sirburton.com: did not receive HSTS header +sirburton.com: could not connect to host siriad.com: could not connect to host sirius-lee.net: could not connect to host siro.gq: did not receive HSTS header -siroop.ch: max-age too low: 86400 +siroop.ch: did not receive HSTS header sisgopro.com: could not connect to host -sistemasespecializados.com: did not receive HSTS header +sistemasespecializados.com: could not connect to host sistemlash.com: did not receive HSTS header sistemos.net: could not connect to host sistersurprise.de: did not receive HSTS header @@ -14113,16 +15323,21 @@ sitennisclub.com: did not receive HSTS header siterip.org: could not connect to host sites.google.com: did not receive HSTS header (error ignored - included regardless) sitesforward.com: did not receive HSTS header -sitesource101.com: could not connect to host +sitesource101.com: did not receive HSTS header sitesten.com: did not receive HSTS header +sitesuccessful.com: did not receive HSTS header +sitsy.ru: did not receive HSTS header sittinginoblivion.com: did not receive HSTS header sizingservers.be: did not receive HSTS header sizzle.co.uk: did not receive HSTS header sja-se-training.com: could not connect to host +sjatsh.com: could not connect to host +sjdaws.com: could not connect to host sjdtaxi.com: did not receive HSTS header sjhyl11.com: could not connect to host sjsc.fr: did not receive HSTS header sjsmith.id.au: did not receive HSTS header +sjv4u.ch: did not receive HSTS header sjzebs.com: did not receive HSTS header sjzget.com: did not receive HSTS header sjzybs.com: did not receive HSTS header @@ -14135,7 +15350,6 @@ skarox.net: could not connect to host skarox.ru: could not connect to host skates.guru: did not receive HSTS header skday.com: did not receive HSTS header -sketchywebsite.net: max-age too low: 0 ski-insurance.com.au: did not receive HSTS header skidstresser.com: could not connect to host skiinstructor.services: did not receive HSTS header @@ -14143,23 +15357,25 @@ skilldetector.com: could not connect to host skillproxy.com: could not connect to host skillproxy.net: could not connect to host skillproxy.org: could not connect to host +skills2services.com: did not receive HSTS header skimming.net: did not receive HSTS header skinbet.co: could not connect to host skinmarket.co: could not connect to host skischuleulm.de: did not receive HSTS header skk.io: could not connect to host +sklotechnik.cz: did not receive HSTS header skocia.net: did not receive HSTS header skoda-clever-lead.de: could not connect to host skoda-im-dialog.de: could not connect to host skoda-nurdiebesten.de: did not receive HSTS header skoda-service-team-cup.de: did not receive HSTS header skomski.org: did not receive HSTS header -skotty.io: did not receive HSTS header skpdev.net: could not connect to host skrimix.tk: could not connect to host skrivande.co: could not connect to host skullhouse.nyc: could not connect to host sky-aroma.com: could not connect to host +sky-universe.net: did not receive HSTS header skyasker.cn: could not connect to host skyasker.com: could not connect to host skybloom.com: could not connect to host @@ -14169,6 +15385,7 @@ skyline.link: could not connect to host skyline.tw: did not receive HSTS header skylocker.net: could not connect to host skylocker.nl: did not receive HSTS header +skynetz.tk: could not connect to host skyoy.com: did not receive HSTS header skypeassets.com: could not connect to host skypoker.com: could not connect to host @@ -14179,7 +15396,8 @@ skyvault.io: could not connect to host skyveo.ml: did not receive HSTS header skyway.capital: did not receive HSTS header skyworldserver.ddns.net: could not connect to host -sl1pkn07.wtf: max-age too low: 2592000 +sl0.us: did not receive HSTS header +sl1pkn07.wtf: could not connect to host slaps.be: could not connect to host slash-dev.de: did not receive HSTS header slash64.co.uk: could not connect to host @@ -14189,6 +15407,7 @@ slashand.co: could not connect to host slashbits.no: did not receive HSTS header slashdesign.it: did not receive HSTS header slashem.me: did not receive HSTS header +slatemc.fun: could not connect to host slattery.co: did not receive HSTS header slauber.de: did not receive HSTS header sld08.com: did not receive HSTS header @@ -14198,10 +15417,12 @@ sleepstar.com.mt: did not receive HSTS header sliceone.com: could not connect to host slicketl.com: did not receive HSTS header slicss.com: could not connect to host +slides.zone: could not connect to host slightfuture.click: could not connect to host -slightfuture.com: did not receive HSTS header +slimk1nd.nl: could not connect to host slimmerbouwen.be: did not receive HSTS header slingo.com: did not receive HSTS header +slingoweb.com: did not receive HSTS header slix.io: could not connect to host sln.cloud: could not connect to host slope.haus: could not connect to host @@ -14212,7 +15433,6 @@ slovoice.org: could not connect to host slowfood.es: did not receive HSTS header slowsociety.org: could not connect to host slse.ca: max-age too low: 0 -sluimann.de: could not connect to host sluplift.com: did not receive HSTS header slycurity.de: could not connect to host slytech.ch: could not connect to host @@ -14229,27 +15449,26 @@ smartboleta.com: did not receive HSTS header smartbuyelectric.com: could not connect to host smartcoin.com.br: could not connect to host smarterskies.gov: did not receive HSTS header +smartest-trading.com: could not connect to host smarthomedna.com: did not receive HSTS header smartietop.com: could not connect to host smartit.pro: did not receive HSTS header smartlend.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -smartmeal.ru: did not receive HSTS header +smartmompicks.com: did not receive HSTS header smartofficesandsmarthomes.com: did not receive HSTS header smartofficeusa.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] smartphone.continental.com: could not connect to host -smartrade.tech: could not connect to host +smartrade.tech: did not receive HSTS header smartrak.co.nz: did not receive HSTS header -smartshoppers.es: did not receive HSTS header smartwritingservice.com: could not connect to host smcbox.com: did not receive HSTS header smdev.fr: could not connect to host smet.us: could not connect to host -smexpt.com: did not receive HSTS header smi-a.me: could not connect to host smileawei.com: could not connect to host smimea.com: did not receive HSTS header smirkingwhorefromhighgarden.pro: could not connect to host -smithchow.com: did not receive HSTS header +smith.is: could not connect to host smittix.co.uk: did not receive HSTS header smkn1lengkong.sch.id: did not receive HSTS header smksi2.com: could not connect to host @@ -14258,6 +15477,11 @@ sml.lc: could not connect to host smmcab.ru: could not connect to host smmcab.website: could not connect to host smokinghunks.com: could not connect to host +smoothics.at: could not connect to host +smoothics.com: could not connect to host +smoothics.eu: could not connect to host +smoothics.mobi: could not connect to host +smoothics.net: could not connect to host smove.sg: did not receive HSTS header smplix.com: could not connect to host smries.com: could not connect to host @@ -14268,15 +15492,13 @@ smspodmena.ru: could not connect to host smtp.bz: did not receive HSTS header smtpdev.com: could not connect to host smuhelper.cn: could not connect to host -smusg.com: could not connect to host +smusg.com: did not receive HSTS header snafarms.com: did not receive HSTS header snailing.org: could not connect to host -snake.dog: did not receive HSTS header +snake.dog: could not connect to host snakehosting.dk: did not receive HSTS header snapworks.net: did not receive HSTS header snarf.in: could not connect to host -snazel.co.uk: could not connect to host -sneak.berlin: did not receive HSTS header sneaker.date: could not connect to host sneed.company: could not connect to host sneezry.com: did not receive HSTS header @@ -14287,16 +15509,15 @@ snic.website: could not connect to host sniderman.pro: could not connect to host sniderman.xyz: could not connect to host snip.host: could not connect to host -snippet.host: could not connect to host snod.land: did not receive HSTS header +snoot.club: did not receive HSTS header snoozedds.com: max-age too low: 600 snoqualmiefiber.org: could not connect to host +snoringhq.com: did not receive HSTS header snovey.com: could not connect to host snow-online.de: could not connect to host snowdy.eu: could not connect to host snowdy.link: could not connect to host -snowplane.net: did not receive HSTS header -snowyluma.com: could not connect to host so-healthy.co.uk: did not receive HSTS header sobabox.ru: could not connect to host sobinski.pl: did not receive HSTS header @@ -14322,8 +15543,9 @@ socketize.com: did not receive HSTS header sockeye.cc: could not connect to host socomponents.co.uk: could not connect to host sodacore.com: could not connect to host -soe-server.com: could not connect to host +sodamakerclub.com: did not receive HSTS header softballsavings.com: did not receive HSTS header +softbebe.com: did not receive HSTS header softclean.pt: did not receive HSTS header softplaynation.co.uk: did not receive HSTS header sogeek.me: could not connect to host @@ -14344,10 +15566,9 @@ solinter.com.br: did not receive HSTS header solisrey.es: could not connect to host soljem.com: did not receive HSTS header soll-i.ch: did not receive HSTS header -solos.im: could not connect to host solosmusic.xyz: could not connect to host solsystems.ru: did not receive HSTS header -solus-project.com: could not connect to host +solus-project.com: did not receive HSTS header solutive.fi: did not receive HSTS header solymar.co: could not connect to host some.rip: max-age too low: 6307200 @@ -14360,6 +15581,7 @@ somethingsimilar.com: [Exception... "Component returned failure code: 0x80004005 somewherein.jp: did not receive HSTS header sonafe.info: could not connect to host sonerezh.bzh: did not receive HSTS header +songluck.com: could not connect to host sonialive.com: did not receive HSTS header sonic.network: did not receive HSTS header sonicrainboom.rocks: could not connect to host @@ -14369,7 +15591,7 @@ sonja-kowa.de: could not connect to host sonyforum.no: did not receive HSTS header soobi.org: did not receive HSTS header soondy.com: did not receive HSTS header -soph.us: could not connect to host +soothemobilemassage.com.au: did not receive HSTS header soply.com: could not connect to host soporte.cc: could not connect to host sorenam.com: could not connect to host @@ -14388,18 +15610,18 @@ sotavasara.net: did not receive HSTS header sotiran.com: did not receive HSTS header sotor.de: did not receive HSTS header soucorneteiro.com.br: could not connect to host -sougi-review.top: did not receive HSTS header soulcraft.bz: could not connect to host soulema.com: could not connect to host soulfulglamour.uk: could not connect to host soulsteer.com: could not connect to host -soundbytemedia.com: did not receive HSTS header soundedj.com.br: could not connect to host soundforsound.co.uk: did not receive HSTS header soundgasm.net: could not connect to host soundsecurity.io: could not connect to host +souqtajmeel.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] sourcecode.love: could not connect to host sourcelair.com: did not receive HSTS header +sourcely.net: could not connect to host sourcitec.com: did not receive HSTS header sous-surveillance.net: could not connect to host southcoastkitesurf.co.uk: did not receive HSTS header @@ -14417,7 +15639,6 @@ souyar.us: could not connect to host sovereignshare.com: could not connect to host sown.dyndns.org: could not connect to host sowncloud.de: could not connect to host -soz6.com: did not receive HSTS header sp.rw: could not connect to host spacecafe.org: did not receive HSTS header spacedust.xyz: could not connect to host @@ -14429,15 +15650,19 @@ spacountryexplorer.org.au: did not receive HSTS header spaggel.nl: did not receive HSTS header spam.lol: could not connect to host spamloco.net: did not receive HSTS header +spamwc.de: did not receive HSTS header spangehlassociates.com: did not receive HSTS header spanien.guide: could not connect to host sparelib.com: max-age too low: 3650 spark.team: could not connect to host sparkbase.cn: could not connect to host sparklingsparklers.com: did not receive HSTS header +sparkresearch.net: could not connect to host +sparkreviewcenter.com: did not receive HSTS header sparkwood.org: could not connect to host sparmedo.de: did not receive HSTS header sparsa.army: could not connect to host +sparta-en.org: could not connect to host sparta-trade.com: could not connect to host spartantheatre.org: could not connect to host spauted.com: could not connect to host @@ -14447,8 +15672,8 @@ spdysync.com: could not connect to host specialedesigns.com: could not connect to host specialistnow.com.au: did not receive HSTS header spectreattack.com: did not receive HSTS header +spectrosoftware.de: could not connect to host speculor.net: could not connect to host -spedition-transport-umzug.de: could not connect to host spedplus.com.br: did not receive HSTS header speed-mailer.com: could not connect to host speedcounter.net: could not connect to host @@ -14462,10 +15687,12 @@ spendwise.com.au: could not connect to host sperohub.com: could not connect to host sperohub.io: could not connect to host sperohub.lt: did not receive HSTS header +spherenix.org: 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 spiegels.nl: did not receive HSTS header +spiel-teppich.de: could not connect to host spielcasinos.com: did not receive HSTS header spikeykc.me: could not connect to host spillersfamily.net: could not connect to host @@ -14473,7 +15700,6 @@ spillmaker.no: did not receive HSTS header spilsbury.io: could not connect to host spineandscoliosis.com: did not receive HSTS header spinner.dnshome.de: could not connect to host -spiralschneiderkaufen.de: could not connect to host spirit-dev.net: max-age too low: 0 spirit-hunters-germany.de: did not receive HSTS header spiritbionic.ro: could not connect to host @@ -14484,8 +15710,8 @@ spitfireuav.com: could not connect to host spititout.it: could not connect to host split.is: could not connect to host splunk.zone: could not connect to host +spoketwist.com: did not receive HSTS header spokonline.com: could not connect to host -spolwind.de: could not connect to host spon.cz: did not receive HSTS header sponsorowani.pl: did not receive HSTS header sponsortobias.com: could not connect to host @@ -14505,6 +15731,8 @@ spot-events.com: could not connect to host spotifyripper.tk: could not connect to host spotlightsrule.com: could not connect to host spotlightsrule.ddns.net: could not connect to host +spotteredu.com: did not receive HSTS header +spr.id.au: could not connect to host spreadsheets.google.com: did not receive HSTS header (error ignored - included regardless) spresso.me: did not receive HSTS header sprigings.com: did not receive HSTS header @@ -14512,7 +15740,6 @@ springsoffthegrid.com: could not connect to host sprint.ml: did not receive HSTS header sprk.fitness: did not receive HSTS header sproing.ca: max-age too low: 0 -spron.in: could not connect to host sproutconnections.com: could not connect to host sprueche-zum-valentinstag.de: could not connect to host sprueche-zur-geburt.info: could not connect to host @@ -14544,7 +15771,9 @@ srvonfire.com: could not connect to host ss-free.net: could not connect to host ss-x.ru: could not connect to host ss.wtf: could not connect to host -ssco.xyz: could not connect to host +ssc8689.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +ssc8689.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +ssco.xyz: did not receive HSTS header ssconn.com: could not connect to host ssh.nu: could not connect to host sshool.at: could not connect to host @@ -14561,7 +15790,6 @@ stabletoken.com: could not connect to host staceyhankeinc.com: did not receive HSTS header stackfiles.io: could not connect to host stackhub.cc: could not connect to host -stacktile.io: could not connect to host stadionmanager.com: could not connect to host stadjerspasonline.nl: could not connect to host stadtgartenla.com: could not connect to host @@ -14570,8 +15798,8 @@ staffjoystaging.com: could not connect to host stagingjobshq.com: could not connect to host stahl.xyz: did not receive HSTS header stakestrategy.com: could not connect to host +stalder.work: could not connect to host stalkerhispano.com: max-age too low: 0 -stalkerteam.pl: did not receive HSTS header stalkthe.net: could not connect to host stall-zur-linde.de: did not receive HSTS header stalschermer.nl: could not connect to host @@ -14582,11 +15810,12 @@ standardssuck.org: did not receive HSTS header standingmist.com: did not receive HSTS header standoutbooks.com: did not receive HSTS header standuppaddlesports.com.au: did not receive HSTS header +stang.moe: did not receive HSTS header stannahtrapliften.nl: did not receive HSTS header star-citizen.wiki: did not receive HSTS header star-killer.net: could not connect to host star-stuff.de: did not receive HSTS header -star.do: did not receive HSTS header +star.do: could not connect to host starandshield.com: did not receive HSTS header starapple.nl: did not receive HSTS header starcafe.me: could not connect to host @@ -14595,6 +15824,7 @@ stardust-entertainments.co.uk: did not receive HSTS header starease.net: could not connect to host starfeeling.net: could not connect to host stargatepartners.com: did not receive HSTS header +starinvestors.in: did not receive HSTS header starklane.com: max-age too low: 300 starlightentertainmentdevon.co.uk: did not receive HSTS header starmusic.ga: could not connect to host @@ -14602,6 +15832,7 @@ starplatinum.jp: could not connect to host starquake.nl: could not connect to host starsbattle.net: could not connect to host starteesforsale.co.za: did not receive HSTS header +startsamenvitaal.nu: did not receive HSTS header startup.melbourne: could not connect to host startuplevel.com: could not connect to host startuponcloud.com: max-age too low: 2678400 @@ -14609,7 +15840,6 @@ startuppeople.co.uk: could not connect to host startupum.ru: could not connect to host starwatches.eu: could not connect to host stash.ai: did not receive HSTS header -stassi.ch: did not receive HSTS header state-of-body-and-mind.com: could not connect to host state-sponsored-actors.net: could not connect to host statementinsertsforless.com: did not receive HSTS header @@ -14628,7 +15858,7 @@ status-sprueche.de: could not connect to host status.coffee: could not connect to host statusbot.io: could not connect to host statuschecks.net: could not connect to host -stavebnice.net: did not receive HSTS header +stavebnice.net: could not connect to host staxflax.tk: could not connect to host stayokhotelscdc-mailing.com: could not connect to host stcable.net: did not receive HSTS header @@ -14637,12 +15867,15 @@ stdev.org: could not connect to host steamhours.com: could not connect to host steampunkrobot.com: did not receive HSTS header steelbea.ms: could not connect to host +steelmounta.in: could not connect to host steelrhino.co: could not connect to host steem.io: did not receive HSTS header steenackers.be: did not receive HSTS header stefanweiser.de: did not receive HSTS header steffi-in-australien.com: could not connect to host stellarvale.net: could not connect to host +stellen.ch: did not receive HSTS header +stellenticket.de: did not receive HSTS header stem.is: did not receive HSTS header stepbystep3d.com: did not receive HSTS header steph-autoecole.ch: did not receive HSTS header @@ -14655,6 +15888,9 @@ stephensolisrey.es: could not connect to host steplogictalent.com: could not connect to host sterjoski.com: did not receive HSTS header stesti.cz: could not connect to host +steuerberater-essen-steele.com: could not connect to host +steuerkanzlei-und-wirtschaftsberater-manke.de: could not connect to host +steve.kiwi: could not connect to host stevechekblain.win: could not connect to host stevengoodpaster.com: could not connect to host stevenkwan.me: could not connect to host @@ -14666,27 +15902,32 @@ stge.uk: could not connect to host sticklerjs.org: could not connect to host stickmy.cn: could not connect to host stickswag.cf: could not connect to host +stickswag.eu: could not connect to host +stiens.de: did not receive HSTS header +stiffordacademy.org.uk: could not connect to host stig.io: did not receive HSTS header stiger.me: could not connect to host stigroom.com: could not connect to host stijnbelmans.be: max-age too low: 604800 stikkie.me: could not connect to host -stilecop.com: did not receive HSTS header stilettomoda.com.br: could not connect to host stillblackhat.id: could not connect to host stillyarts.com: did not receive HSTS header stinkytrashhound.com: could not connect to host stirlingpoon.net: could not connect to host stirlingpoon.xyz: could not connect to host -stitthappens.com: did not receive HSTS header +stitthappens.com: could not connect to host stjohnmiami.org: did not receive HSTS header stjohnsc.com: could not connect to host stkbn.com: could not connect to host stkeverneparishcouncil.org.uk: did not receive HSTS header stl.news: max-age too low: 0 stlucasmuseum.org: did not receive HSTS header +stm32f4.jp: could not connect to host stmbgr.com: could not connect to host +stmkza.net: max-age too low: 0 stn.me.uk: did not receive HSTS header +stnl.de: could not connect to host stockseyeserum.com: could not connect to host stocktrade.de: could not connect to host stoffe-monster.de: did not receive HSTS header @@ -14696,11 +15937,14 @@ stoick.me: could not connect to host stoinov.com: could not connect to host stole-my.bike: could not connect to host stole-my.tv: could not connect to host +stolkschepen.nl: did not receive HSTS header stomadental.com: did not receive HSTS header stonecutterscommunity.com: could not connect to host +stonefusion.org.uk: could not connect to host stonemain.eu: could not connect to host stonemanbrasil.com.br: could not connect to host stopakwardhandshakes.org: could not connect to host +stopbreakupnow.org: could not connect to host stopwoodfin.org: could not connect to host storageshedsnc.com: did not receive HSTS header storbritannien.guide: could not connect to host @@ -14709,21 +15953,31 @@ store10.de: could not connect to host 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 +storiesofhealth.org: could not connect to host stormhub.org: could not connect to host stormwatcher.org: could not connect to host stormyyd.com: max-age too low: 0 +storytea.top: did not receive HSTS header stpatricksguild.com: did not receive HSTS header stqry.com: did not receive HSTS header str0.at: did not receive HSTS header +straightedgebarbers.ca: did not receive HSTS header strangeplace.net: did not receive HSTS header -strangescout.me: did not receive HSTS header +strangescout.me: could not connect to host strasweb.fr: did not receive HSTS header +stratuscloud.co.za: did not receive HSTS header +stratuscloudconsulting.cn: did not receive HSTS header +stratuscloudconsulting.co.uk: did not receive HSTS header +stratuscloudconsulting.co.za: did not receive HSTS header +stratuscloudconsulting.com: did not receive HSTS header +stratuscloudconsulting.in: did not receive HSTS header +stratuscloudconsulting.info: did not receive HSTS header +stratuscloudconsulting.net: did not receive HSTS header +stratuscloudconsulting.org: did not receive HSTS header strbt.de: could not connect to host strchr.com: did not receive HSTS header stream-ing.xyz: could not connect to host stream.pub: could not connect to host -streamblur.net: could not connect to host streamdesk.ca: did not receive HSTS header streamer.tips: did not receive HSTS header streamingeverywhere.com: could not connect to host @@ -14736,11 +15990,13 @@ streamzilla.com: did not receive HSTS header strehl.tk: could not connect to host strelitzia02.com: could not connect to host stressfreehousehold.com: could not connect to host -stretchpc.com: could not connect to host +strictlynormal.com: could not connect to host strictlysudo.com: could not connect to host -strife.tk: could not connect to host +strife.tk: did not receive HSTS header strila.me: could not connect to host striptizer.tk: could not connect to host +strming.com: could not connect to host +stroeder.com: could not connect to host stroeercrm.de: could not connect to host strongest-privacy.com: could not connect to host struxureon.com: did not receive HSTS header @@ -14754,11 +16010,16 @@ studentresearcher.org: did not receive HSTS header studentskydenik.cz: could not connect to host studenttravel.cz: did not receive HSTS header studer.su: could not connect to host +studiemeter.nl: did not receive HSTS header +studiereader.nl: did not receive HSTS header studinf.xyz: could not connect to host -studio-panic.com: did not receive HSTS header +studio-panic.com: could not connect to host +studio-webdigi.com: did not receive HSTS header studiocn.cn: could not connect to host studiodoprazer.com.br: could not connect to host studiozelden.com: did not receive HSTS header +studisys.net: could not connect to host +studlan.no: could not connect to host studport.rv.ua: max-age too low: 604800 studyabroadstation.com: could not connect to host studybay.com: could not connect to host @@ -14767,16 +16028,20 @@ studyhub.cf: did not receive HSTS header studying-neet.com: could not connect to host studytale.com: could not connect to host stuff-fibre.co.nz: did not receive HSTS header +stuffiwouldbuy.com: did not receive HSTS header stugb.de: did not receive HSTS header stumeta2018.de: could not connect to host stupidstatetricks.com: could not connect to host +sturbi.de: did not receive HSTS header sturbock.me: did not receive HSTS header sturdio.com.br: could not connect to host sturge.co.uk: did not receive HSTS header +stuttgart-gablenberg.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +stuudium.cloud: could not connect to host stuudium.life: could not connect to host stylenda.com: could not connect to host stylle.me: could not connect to host -stytt.com: did not receive HSTS header +stytt.com: could not connect to host suaraangin.com: could not connect to host suareforma.com: could not connect to host suave.io: did not receive HSTS header @@ -14796,12 +16061,12 @@ subzerotech.co.uk: could not connect to host successwithflora.com: could not connect to host succubus.network: could not connect to host succubus.xxx: could not connect to host -suche.org: could not connect to host suchprogrammer.net: did not receive HSTS header sudo.im: could not connect to host +sudoschool.com: could not connect to host sudosu.fr: could not connect to host suempresa.cloud: could not connect to host -suffts.de: did not receive HSTS header +suffts.de: could not connect to host sugarcitycon.com: could not connect to host sugarsweetorsour.com: did not receive HSTS header sugartownfarm.com: could not connect to host @@ -14811,9 +16076,11 @@ suitocracy.com: could not connect to host summer.ga: 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: did not receive HSTS header +sun-leo.co.jp: did not receive HSTS header sun-wellness-online.com.vn: did not receive HSTS header -sun.re: could not connect to host +sun.re: did not receive HSTS header suncountrymarine.com: did not receive HSTS header sundaycooks.com: max-age too low: 2592000 suneilpatel.com: could not connect to host @@ -14846,9 +16113,7 @@ superiorfloridavacation.com: could not connect to host superklima.ro: did not receive HSTS header superlandnetwork.de: could not connect to host superlentes.com.br: could not connect to host -supermarx.nl: could not connect to host supernovabrasil.com.br: did not receive HSTS header -supernt.lt: could not connect to host superpase.com: could not connect to host supersahnetorten.de: could not connect to host supersalescontest.nl: did not receive HSTS header @@ -14862,20 +16127,22 @@ supperclub.es: could not connect to host support4server.de: could not connect to host supportfan.gov: could not connect to host suprlink.net: could not connect to host -supweb.ovh: could not connect to host +supweb.ovh: did not receive HSTS header surasak.xyz: could not connect to host suraya.online: could not connect to host surfeasy.com: did not receive HSTS header surfone-leucate.com: did not receive HSTS header surgiclinic.gr: did not receive HSTS header surkatty.org: did not receive HSTS header +suruifu.tk: could not connect to host survivebox.fr: did not receive HSTS header +susanvelez.com: did not receive HSTS header susastudentenjobs.de: could not connect to host susconam.org: could not connect to host suseasky.com: did not receive HSTS header -sushi.roma.it: did not receive HSTS header sushifrick.de: could not connect to host sushiwereld.be: did not receive HSTS header +susoccm.org: did not receive HSTS header suspiciousdarknet.xyz: could not connect to host sussexwebdesigns.com: could not connect to host sussexwebsites.info: could not connect to host @@ -14890,7 +16157,7 @@ svarovani.tk: could not connect to host svatba-frantovi.cz: could not connect to host sve-hosting.nl: could not connect to host svenbacia.me: could not connect to host -svenskacasino.com: did not receive HSTS header +svenskacasino.com: could not connect to host svenskaservern.se: could not connect to host svetdrzaku.cz: did not receive HSTS header svetjakonadlani.cz: did not receive HSTS header @@ -14900,15 +16167,16 @@ svj-stochovska.cz: could not connect to host svjvn.cz: could not connect to host swacp.com: could not connect to host swaggerdile.com: could not connect to host -swagsocial.net: could not connect to host swaleacademiestrust.org.uk: max-age too low: 2592000 swallsoft.co.uk: could not connect to host swallsoft.com: could not connect to host swanseapartyhire.co.uk: could not connect to host +swarlys-server.de: could not connect to host swarmation.com: did not receive HSTS header sway.com: did not receive HSTS header swdatlantico.pt: could not connect to host sweep.cards: did not receive HSTS header +sweet-spatula.com: could not connect to host sweetlegs.jp: could not connect to host sweetstreats.ca: could not connect to host sweetvanilla.jp: could not connect to host @@ -14919,9 +16187,10 @@ swiftcrypto.com: could not connect to host swiftpk.net: could not connect to host swiggy.com: did not receive HSTS header swimming.ca: did not receive HSTS header +swimmingpoolaccidentattorney.net: could not connect to host swingular.com: could not connect to host swissentreprises.ch: could not connect to host -swisstechassociation.ch: did not receive HSTS header +swissfreshaircan.com: could not connect to host swisstranslate.ch: did not receive HSTS header swisstranslate.fr: did not receive HSTS header swisswebhelp.ch: could not connect to host @@ -14933,24 +16202,22 @@ swu.party: could not connect to host sx3.no: could not connect to host sxbk.pw: could not connect to host syam.cc: could not connect to host -sychov.pro: could not connect to host +syamuwatching.xyz: could not connect to host sydgrabber.tk: could not connect to host sykl.us: could not connect to host sylvaincombe.net: could not connect to host sylvangarden.org: could not connect to host -sylvanorder.com: could not connect to host -symetria.io: max-age too low: 2592000 +sylvanorder.com: did not receive HSTS header synackr.com: could not connect to host synapticconsulting.co.uk: could not connect to host syncaddict.net: could not connect to host syncappate.com: could not connect to host syncclinicalstudy.com: could not connect to host syncer.jp: did not receive HSTS header -synchrocube.com: could not connect to host synchtu.be: could not connect to host syncmylife.net: could not connect to host syncserve.net: did not receive HSTS header -syneic.com: did not receive HSTS header +syneic.com: could not connect to host synergisticsoccer.com: could not connect to host syno.gq: could not connect to host syntaxoff.com: could not connect to host @@ -14969,9 +16236,11 @@ syss.de: did not receive HSTS header systea.net: could not connect to host system-online.cz: did not receive HSTS header systemd.me: could not connect to host -sytk.me: did not receive HSTS header +sytk.me: could not connect to host syy.hk: did not receive HSTS header +szagun.net: did not receive HSTS header szaszm.tk: could not connect to host +szczot3k.pl: did not receive HSTS header szerbnyelvkonyv.hu: could not connect to host szlovaknyelv.hu: could not connect to host szlovennyelv.hu: could not connect to host @@ -14982,7 +16251,8 @@ t-ken.xyz: could not connect to host t-point.eu: did not receive HSTS header t-tz.com: could not connect to host t0dd.eu: could not connect to host -t3rror.net: could not connect to host +t2000headphones.com: could not connect to host +t2000laserpointers.com: could not connect to host t4c-rebirth.com: could not connect to host t4x.org: could not connect to host taabe.xyz: could not connect to host @@ -14990,7 +16260,6 @@ taartenfeesies.nl: did not receive HSTS header tab.watch: did not receive HSTS header taberu-fujitsubo.com: did not receive HSTS header tabhui.com: could not connect to host -tabino.top: did not receive HSTS header tabitatsu.jp: did not receive HSTS header tabla-periodica.com: could not connect to host tachyonapp.com: could not connect to host @@ -15005,6 +16274,8 @@ tagesmutter-in-bilm.de: did not receive HSTS header tagesmutter-zwitscherlinge.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] tahakomat.cz: could not connect to host tahf.net: could not connect to host +tai-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +tai-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] taichi-jade.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] taidu.news: could not connect to host tailandfur.com: did not receive HSTS header @@ -15029,17 +16300,17 @@ talklifestyle.nl: could not connect to host talktwincities.com: could not connect to host tallr.se: could not connect to host tallshoe.com: could not connect to host +talroo.com: could not connect to host talsi.eu: could not connect to host -tam7t.com: could not connect to host -tamersunion.org: did not receive HSTS header +tam7t.com: did not receive HSTS header tamex.xyz: could not connect to host -tamriel-rebuilt.org: could not connect to host +tanak3n.xyz: could not connect to host tandarts-haarlem.nl: did not receive HSTS header tandblekningidag.com: could not connect to host -tandem-trade.ru: could not connect to host -tangerine.ga: could not connect to host +tangerine.ga: did not receive HSTS header tangibilizing.com: could not connect to host tangiblesecurity.com: did not receive HSTS header +tango-cats.de: could not connect to host tangsisi.com: could not connect to host tangyue.date: could not connect to host tangzhao.net: could not connect to host @@ -15056,17 +16327,21 @@ tapestries.tk: could not connect to host tapfinder.ca: could not connect to host tapka.cz: did not receive HSTS header tappublisher.com: did not receive HSTS header +taqun.club: could not connect to host +taranis.re: could not connect to host +tarantul.org.ua: could not connect to host taravancil.com: did not receive HSTS header tarek.link: could not connect to host targaryen.house: could not connect to host -tarhauskielto.fi: could not connect to host +tarhauskielto.fi: did not receive HSTS header +tarots-et-oracles.com: did not receive HSTS header tarsashaz-biztositas.hu: did not receive HSTS header tartaros.fi: could not connect to host taskstats.com: could not connect to host tasmansecurity.com: could not connect to host tassup.com: could not connect to host -tasta.ro: did not receive HSTS header -tasticfilm.com: did not receive HSTS header +tasta.ro: could not connect to host +tasticfilm.com: could not connect to host tastyyy.co: could not connect to host tasyacherry-anal.com: could not connect to host tatilbus.com: could not connect to host @@ -15077,6 +16352,7 @@ tauchkater.de: could not connect to host tavoittaja.fi: did not receive HSTS header tavopica.lt: did not receive HSTS header taxbench.com: could not connect to host +taxi-24std.de: could not connect to host taxiindenbosch.nl: did not receive HSTS header taxmadras.com: could not connect to host taxsnaps.co.nz: did not receive HSTS header @@ -15090,10 +16366,13 @@ tbrss.com: did not receive HSTS header tbtech.cz: did not receive HSTS header tbys.us: could not connect to host tc-bonito.de: did not receive HSTS header +tcacademy.co.uk: could not connect to host tcao.info: could not connect to host tcby45.xyz: could not connect to host +tchaka.top: could not connect to host tcl.ath.cx: did not receive HSTS header tcp.expert: did not receive HSTS header +tcptun.com: could not connect to host tcwebvn.com: could not connect to host tdelmas.eu: could not connect to host tdelmas.ovh: could not connect to host @@ -15107,7 +16386,7 @@ tdsbhack.ga: could not connect to host tdsbhack.gq: could not connect to host tdsbhack.ml: could not connect to host tdsbhack.tk: could not connect to host -teacherph.net: could not connect to host +teacherph.net: did not receive HSTS header teachforcanada.ca: did not receive HSTS header tealdrones.com: did not receive HSTS header team-teasers.com: could not connect to host @@ -15128,19 +16407,19 @@ tearoy.faith: did not receive HSTS header teasenetwork.com: could not connect to host tebieer.com: could not connect to host tech-blog.fr: did not receive HSTS header -tech-clips.com: did not receive HSTS header tech-finder.fr: could not connect to host tech55i.com: could not connect to host techandtux.de: could not connect to host techask.it: could not connect to host techassist.io: did not receive HSTS header -techcavern.ml: did not receive HSTS header +techbrawl.org: could not connect to host +techcavern.ml: could not connect to host +techcentric.com: did not receive HSTS header techday.co.nz: did not receive HSTS header techday.com: did not receive HSTS header techday.com.au: did not receive HSTS header techday.eu: did not receive HSTS header techelements.co: did not receive HSTS header -techendeavors.com: could not connect to host techfactslive.com: did not receive HSTS header techhipster.net: could not connect to host techhub.ml: could not connect to host @@ -15151,14 +16430,12 @@ techmasters.andover.edu: could not connect to host techmatehq.com: could not connect to host technicalforensic.com: could not connect to host technicalpenguins.com: did not receive HSTS header -techniclab.net: could not connect to host -techniclab.org: could not connect to host -techniclab.ru: could not connect to host -technikrom.org: did not receive HSTS header technogroup.cz: did not receive HSTS header +technologyand.me: did not receive HSTS header technosavvyport.com: did not receive HSTS header technosuport.com: did not receive HSTS header technoswag.ca: could not connect to host +technotonic.co.uk: could not connect to host technotonic.com.au: did not receive HSTS header techpointed.com: could not connect to host techpro.net.br: did not receive HSTS header @@ -15169,32 +16446,35 @@ techtrackerpro.com: could not connect to host techtraveller.com.au: did not receive HSTS header techtuts.info: could not connect to host techunit.org: could not connect to host +techvalue.gr: did not receive HSTS header tecit.ch: could not connect to host -tecnidev.com: could not connect to host tecnimotos.com: did not receive HSTS header tecnogaming.com: did not receive HSTS header +tecnologino.com: could not connect to host tecture.de: did not receive HSTS header tedovo.com: could not connect to host tedxkmitl.com: could not connect to host tee-idf.net: could not connect to host -teedb.de: could not connect to host teehaus-shila.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] teenerotic.net: could not connect to host teeplelaw.com: did not receive HSTS header -teesypeesy.com: did not receive HSTS header +teesypeesy.com: max-age too low: 2592000 tefl.io: did not receive HSTS header tegelsensanitaironline.nl: did not receive HSTS header +tehcrayz.com: could not connect to host tehotuotanto.net: did not receive HSTS header tehplace.club: could not connect to host -tehranperfume.com: did not receive HSTS header +tehrankey.ir: did not receive HSTS header tekiro.com: did not receive HSTS header teknogeek.id: could not connect to host -teknologi.or.id: 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 teksuperior.com: could not connect to host tektoria.de: did not receive HSTS header +tektuts.com: could not connect to host tel-dithmarschen.de: did not receive HSTS header +tele-assistance.ch: could not connect to host teleallarme.ch: could not connect to host telecharger-itunes.com: could not connect to host telecharger-open-office.com: could not connect to host @@ -15205,15 +16485,13 @@ telefonogratuito.com: did not receive HSTS header telefonsinyalguclendirici.com: did not receive HSTS header telefoonnummerinfo.nl: could not connect to host telekollektiv.org: could not connect to host +telepons.com: could not connect to host telescam.com: could not connect to host -teleshop.be: could not connect to host -teletechnology.in: did not receive HSTS header +teleshop.be: did not receive HSTS header teletra.ru: could not connect to host telfordwhitehouse.co.uk: did not receive HSTS header -tellingua.com: could not connect to host teltonica.com: did not receive HSTS header telugu4u.net: could not connect to host -temasa.net: did not receive HSTS header temehu.com: did not receive HSTS header tempcraft.net: could not connect to host tempflix.com: could not connect to host @@ -15222,7 +16500,6 @@ tempodecolheita.com.br: could not connect to host tempus-aquilae.de: could not connect to host ten-cafe.com: could not connect to host tendertool.nl: could not connect to host -tendoryu-aikido.org: did not receive HSTS header tenerife-villas.com: max-age too low: 2592000 tengu.cloud: could not connect to host tenispopular.com: could not connect to host @@ -15233,47 +16510,54 @@ tennispensacola.com: could not connect to host tensei-slime.com: did not receive HSTS header tensionup.com: could not connect to host tent.io: could not connect to host +tentabrowser.com: could not connect to host tentins.com: could not connect to host teodio.cl: did not receive HSTS header -teoleonie.com: did not receive HSTS header teos.online: could not connect to host teoskanta.fi: could not connect to host teranga.ch: did not receive HSTS header tercerapuertoaysen.cl: could not connect to host +termax.me: could not connect to host +terminalvelocity.co.nz: could not connect to host terra-x.net: could not connect to host terra.by: did not receive HSTS header +terrace.co.jp: did not receive HSTS header terrax.berlin: could not connect to host terrax.info: did not receive HSTS header +terrax.net: could not connect to host terrazoo.de: did not receive HSTS header teru.com.br: could not connect to host +test-aankoop.be: did not receive HSTS header +test-achats.be: did not receive HSTS header test-dns.eu: could not connect to host test02.dk: did not receive HSTS header +testadren.com: could not connect to host testadron.com: could not connect to host testandroid.xyz: could not connect to host -testbawks.com: could not connect to host +testbawks.com: did not receive HSTS header testbirds.cz: could not connect to host testbirds.sk: could not connect to host testdomain.ovh: could not connect to host -testi.info: did not receive HSTS header +testi.info: max-age too low: 10518975 testnode.xyz: could not connect to host testosterone-complex.com: could not connect to host testovaci.ml: could not connect to host testpornsite.com: could not connect to host -tetrafinancial-commercial-business-equipment-financing.com: did not receive HSTS header -tetrafinancial-energy-mining-equipment-financing.com: did not receive HSTS header -tetrafinancial-healthcare-medical-equipment-financing.com: did not receive HSTS header -tetrafinancial-manufacturing-industrial-equipment-financing.com: did not receive HSTS header -tetrafinancial-news.com: did not receive HSTS header -tetrafinancial-technology-equipment-software-financing.com: did not receive HSTS header +tetrafinancial-commercial-business-equipment-financing.com: could not connect to host +tetrafinancial-energy-mining-equipment-financing.com: could not connect to host +tetrafinancial-healthcare-medical-equipment-financing.com: could not connect to host +tetrafinancial-manufacturing-industrial-equipment-financing.com: could not connect to host +tetrafinancial-news.com: could not connect to host +tetrafinancial-technology-equipment-software-financing.com: could not connect to host tetramax.eu: did not receive HSTS header tetsai.com: could not connect to host teufelsystem.de: could not connect to host -teulon.eu: could not connect to host teuniz.nl: did not receive HSTS header texte-zur-taufe.de: did not receive HSTS header textoplano.xyz: could not connect to host textracer.dk: could not connect to host tezcam.tk: could not connect to host +tf-network.de: did not receive HSTS header tf2stadium.com: did not receive HSTS header tfcoms-sp-tracker-client.azurewebsites.net: could not connect to host tffans.com: could not connect to host @@ -15285,7 +16569,6 @@ th-bl.de: did not receive HSTS header th3nd.com: could not connect to host thackert.myfirewall.org: could not connect to host thagki9.com: did not receive HSTS header -thai.land: could not connect to host thaianthro.com: max-age too low: 0 thaigirls.xyz: could not connect to host thaihostcool.com: did not receive HSTS header @@ -15295,22 +16578,23 @@ thalskarth.com: did not receive HSTS header thatgudstuff.com: could not connect to host thatpodcast.io: did not receive HSTS header thatvizsla.life: did not receive HSTS header +thcpbees.co.uk: did not receive HSTS header the-construct.com: could not connect to host the-delta.net.eu.org: could not connect to host the-digitale.com: did not receive HSTS header the-earth-yui.net: could not connect to host the-finance-blog.com: could not connect to host the-gist.io: could not connect to host -the-paddies.de: could not connect to host +the-paddies.de: did not receive HSTS header the-sky-of-valkyries.com: could not connect to host the.ie: max-age too low: 0 the420vape.org: could not connect to host theamateurs.net: did not receive HSTS header -theamp.com: could not connect to host +theamp.com: did not receive HSTS header +thearcheryguide.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 -thebarrens.nu: could not connect to host thebasementguys.com: could not connect to host thebeautifulmusic.net: did not receive HSTS header thebeginningisnye.com: could not connect to host @@ -15336,12 +16620,12 @@ thecoffeepod.co.uk: did not receive HSTS header thecozycastle.com: did not receive HSTS header thecskr.in: did not receive HSTS header thecsw.com: did not receive HSTS header -thecuriousdev.com: did not receive HSTS header +thecuriouscat.net: could not connect to host thedailyupvote.com: could not connect to host thedarkartsandcrafts.com: could not connect to host thedebug.life: did not receive HSTS header thedevilwearswibra.nl: did not receive HSTS header -thediamondcenter.com: did not receive HSTS header +thediaryofadam.com: did not receive HSTS header thedominatorsclan.com: did not receive HSTS header thedrinks.co: did not receive HSTS header thedrop.pw: did not receive HSTS header @@ -15349,13 +16633,15 @@ thedrunkencabbage.com: could not connect to host thedystance.com: could not connect to host theel0ja.info: did not receive HSTS header theelitebuzz.com: could not connect to host -theendofzion.com: did not receive HSTS header +theendofzion.com: could not connect to host theepankar.com: could not connect to host theescapistswiki.com: could not connect to host theevergreen.me: could not connect to host theexpatriate.de: could not connect to host theeyeopener.com: did not receive HSTS header thefarbeyond.com: could not connect to host +thefasterweb.com: did not receive HSTS header +thefilmcolor.com: max-age too low: 0 thefootballanalyst.com: did not receive HSTS header thefox.co: did not receive HSTS header thefox.com.fr: could not connect to host @@ -15370,10 +16656,14 @@ thegoldregister.co.uk: could not connect to host thegraciousgourmet.com: did not receive HSTS header thegreens.us: could not connect to host thegreenvpn.com: could not connect to host +thegym.org: did not receive HSTS header thehiddenbay.cc: could not connect to host -thehiddenbay.eu: max-age too low: 0 -thehiddenbay.me: max-age too low: 0 +thehiddenbay.eu: could not connect to host +thehiddenbay.fi: did not receive HSTS header +thehiddenbay.info: did not receive HSTS header +thehiddenbay.me: could not connect to host thehiddenbay.net: could not connect to host +thehiddenbay.ws: did not receive HSTS header thehighersideclothing.com: did not receive HSTS header thehistory.me: could not connect to host thehoopsarchive.com: could not connect to host @@ -15398,7 +16688,6 @@ themenzentrisch.de: could not connect to host themerchandiser.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] themesurgeons.net: could not connect to host themicrocapital.com: could not connect to host -themilanlife.com: could not connect to host themoderate.xyz: could not connect to host thenextstep.events: could not connect to host thenichecast.com: could not connect to host @@ -15407,7 +16696,7 @@ thenrdhrd.nl: could not connect to host theodorejones.info: could not connect to host theojones.name: could not connect to host theokonst.tk: did not receive HSTS header -theosblog.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +theosblog.de: did not receive HSTS header theosophie-afrique.org: could not connect to host theoverfly.co: could not connect to host thepartywarehouse.co.uk: did not receive HSTS header @@ -15416,19 +16705,22 @@ thepiratebay.al: could not connect to host thepiratebay.poker: could not connect to host thepiratebay.tech: could not connect to host theposhfudgecompany.co.uk: could not connect to host +thepostoffice.ro: did not receive HSTS header theprincegame.com: could not connect to host theprivacysolution.com: could not connect to host +thepurem.com: could not connect to host thequillmagazine.org: could not connect to host therewill.be: could not connect to host therise.ca: max-age too low: 300 thermique.ch: could not connect to host theroamingnotary.com: did not receive HSTS header -therockawaysny.com: did not receive HSTS header +therockawaysny.com: could not connect to host thesassynut.com: did not receive HSTS header thesearchnerds.co.uk: did not receive HSTS header thesecurityteam.net: could not connect to host thesehighsandlows.com: could not connect to host theserver201.tk: could not connect to host +theserviceyouneed.com: did not receive HSTS header theshadestore.com: max-age too low: 10368000 thesled.net: could not connect to host thesplit.is: could not connect to host @@ -15442,25 +16734,28 @@ thetapirsmouth.com: could not connect to host thethirdroad.com: did not receive HSTS header thetradinghall.com: could not connect to host thetruthhurvitz.com: could not connect to host +theunitedstates.io: did not receive HSTS header theurbanyoga.com: did not receive HSTS header theuucc.org: did not receive HSTS header thevintagenews.com: did not receive HSTS header thevoid.one: could not connect to host thewallset.com: could not connect to host thewaxhouse.shop: did not receive HSTS header +thewebdexter.com: could not connect to host thewebfellas.com: did not receive HSTS header thewego.com: could not connect to host theweilai.com: could not connect to host thewhiterabbit.space: could not connect to host thewindow.com: could not connect to host theworkingeye.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -thewp.pro: could not connect to host +thewp.pro: max-age too low: 0 +theyachtteam.com: could not connect to host thezonders.com: did not receive HSTS header thgros.fr: could not connect to host thibautcharles.net: did not receive HSTS header thienteakee.com: did not receive HSTS header thierfreund.de: did not receive HSTS header -thingies.site: could not connect to host +thierryhayoz.ch: could not connect to host thinkcash.nl: could not connect to host thinkcoding.de: could not connect to host thinkcoding.org: could not connect to host @@ -15468,6 +16763,7 @@ thinkdo.jp: could not connect to host thinklikeanentrepreneur.com: did not receive HSTS header thinkswap.com: did not receive HSTS header thinlyveiledcontempt.com: could not connect to host +thirdbearsolutions.com: could not connect to host thirdpartytrade.com: did not receive HSTS header thirdworld.moe: could not connect to host thirty5.net: did not receive HSTS header @@ -15489,12 +16785,11 @@ thomasnet.fr: could not connect to host thomasscholz.com: max-age too low: 2592000 thomasschweizer.net: could not connect to host thomasvt.xyz: max-age too low: 2592000 -thomspooren.nl: could not connect to host thorbis.com: could not connect to host thorbiswebsitedesign.com: could not connect to host thorgames.nl: did not receive HSTS header thorncreek.net: did not receive HSTS header -thot.space: could not connect to host +thot.space: did not receive HSTS header thoughtlessleaders.online: could not connect to host threatcentral.io: could not connect to host threebrothersbrewing.com: could not connect to host @@ -15505,6 +16800,7 @@ throughthelookingglasslens.co.uk: could not connect to host thrx.net: did not receive HSTS header thumbtack.com: did not receive HSTS header thundercampaign.com: could not connect to host +thuviensoft.com: could not connect to host thuviensoft.net: could not connect to host thyrex.fr: could not connect to host ti-js.com: could not connect to host @@ -15517,6 +16813,9 @@ tianxing.pro: did not receive HSTS header tianxingvpn.pro: could not connect to host tibbitshall.ca: could not connect to host tibovanheule.site: could not connect to host +ticfleet.com: could not connect to host +tichieru.pw: could not connect to host +ticketmates.com.au: did not receive HSTS header ticketoplichting.nl: did not receive HSTS header tickopa.co.uk: could not connect to host tickreport.com: did not receive HSTS header @@ -15525,26 +16824,28 @@ tictactux.de: could not connect to host tidmore.us: could not connect to host tie-online.org: could not connect to host tiendafetichista.com: could not connect to host +tiendavertigo.com: did not receive HSTS header tiendschuurstraat.nl: could not connect to host tiensnet.com: could not connect to host tierarztpraxis-illerwinkel.de: did not receive HSTS header tiernanx.com: could not connect to host +tierraprohibida.net: did not receive HSTS header tierrarp.com: could not connect to host -tiffanytravels.com: did not receive HSTS header +tiggi.pw: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] tightlineproductions.com: did not receive HSTS header tigit.co.nz: could not connect to host -tiki-god.co.uk: could not connect to host tikutiku.pl: could not connect to host tildebot.com: could not connect to host +tiledailyshop.com: did not receive HSTS header tilient.eu: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] tilkah.com.au: could not connect to host tillcraft.com: could not connect to host timbeilby.com: could not connect to host timbuktutimber.com: did not receive HSTS header timcamara.com: could not connect to host +timchanhxe.com: did not receive HSTS header timdebruijn.nl: did not receive HSTS header time-river.xyz: could not connect to host -time.gov: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] timeatlas.com: did not receive HSTS header timer.fit: could not connect to host timersuite.com: could not connect to host @@ -15560,10 +16861,10 @@ timetab.org: could not connect to host timhieubenh.net: could not connect to host timhjalpen.se: could not connect to host timklefisch.de: did not receive HSTS header +timmy.im: could not connect to host timmy.ws: could not connect to host timotrans.de: did not receive HSTS header timotrans.eu: did not receive HSTS header -timowi.de: could not connect to host timowi.net: could not connect to host timroes.de: did not receive HSTS header timschubert.net: max-age too low: 172800 @@ -15573,8 +16874,8 @@ timwittenberg.com: could not connect to host tinchbear.xyz: could not connect to host tindewen.net: could not connect to host tink.network: could not connect to host +tinkerboard.org: could not connect to host tinkerers-trunk.co.za: did not receive HSTS header -tioat.net: could not connect to host tipiakers.club: could not connect to host tipps-fuer-den-haushalt.de: could not connect to host tippspiel.cc: could not connect to host @@ -15596,17 +16897,16 @@ tjs.me: could not connect to host tju.me: could not connect to host tkappertjedemetamorfose.nl: could not connect to host tkarstens.de: did not receive HSTS header +tkeycoin.com: did not receive HSTS header tkhw.tk: could not connect to host -tkjg.fi: could not connect to host +tkirch.de: could not connect to host tkn.tokyo: could not connect to host tkonstantopoulos.tk: could not connect to host tkts.cl: could not connect to host -tlach.cz: 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 -tloxygen.com: 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 @@ -15614,9 +16914,9 @@ tm-solutions.eu: could not connect to host tm.id.au: did not receive HSTS header tmaward.net: could not connect to host tmconnects.com: could not connect to host -tmdc.ddns.net: could not connect to host tmhlive.com: could not connect to host tmhr.moe: could not connect to host +tmi.news: did not receive HSTS header tmin.cf: could not connect to host tmitchell.io: could not connect to host tmprod.com: did not receive HSTS header @@ -15626,9 +16926,9 @@ tncnanet.com.br: could not connect to host tno.io: could not connect to host to2mbn.org: could not connect to host tobaby.com.br: could not connect to host +tobacco.gov: could not connect to host tobaccore.eu: could not connect to host tobaccore.sk: could not connect to host -tobedo.net: could not connect to host tobias-bielefeld.de: did not receive HSTS header tobiasbergius.se: could not connect to host tobiasmathes.com: could not connect to host @@ -15637,6 +16937,7 @@ tobiasofficial.at: could not connect to host tobiassachs.cf: could not connect to host tobiassachs.tk: could not connect to host tobis-webservice.de: did not receive HSTS header +tobyx.eu: could not connect to host tobyx.is: could not connect to host todesschaf.org: could not connect to host todo.is: could not connect to host @@ -15649,12 +16950,13 @@ tofa-koeln.de: could not connect to host tofilmhub.com: could not connect to host tofu.im: could not connect to host togelonlinecommunity.com: did not receive HSTS header -tohokufd.com: could not connect to host tojeto.eu: did not receive HSTS header toka.sg: could not connect to host tokage.me: could not connect to host tokenloan.com: could not connect to host tokfun.com: could not connect to host +tokintu.com: did not receive HSTS header +tokky.eu: could not connect to host tokobungaasryflorist.com: did not receive HSTS header tokobungadijambi.com: did not receive HSTS header tokobungadilampung.com: could not connect to host @@ -15664,12 +16966,14 @@ tokoone.com: did not receive HSTS header tokotamz.net: could not connect to host tokotimbangandigitalmurah.web.id: did not receive HSTS header tokoyo.biz: could not connect to host +toldositajuba.com: could not connect to host tollmanz.com: did not receive HSTS header tollsjekk.no: could not connect to host tolud.com: could not connect to host tom-maxwell.com: did not receive HSTS header tom.run: did not receive HSTS header tomandshirley.com: could not connect to host +tomaspialek.cz: did not receive HSTS header tomberek.info: did not receive HSTS header tomcort.com: could not connect to host tomdudfield.com: did not receive HSTS header @@ -15681,18 +16985,19 @@ tomlankhorst.nl: did not receive HSTS header tomli.me: could not connect to host tommounsey.com: did not receive HSTS header tommsy.com: did not receive HSTS header -tommy-bordas.fr: did not receive HSTS header tommyads.com: could not connect to host tommyweber.de: did not receive HSTS header -tomoyaf.com: did not receive HSTS header +tomoyaf.com: could not connect to host tomphill.co.uk: could not connect to host +tomudding.com: did not receive HSTS header tomy.icu: could not connect to host -tonburi.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +tonburi.jp: could not connect to host tongmu.me: could not connect to host tonguetechnology.com: could not connect to host toniharant.de: could not connect to host toomanypillows.com: could not connect to host -top-solar-info.de: could not connect to host +toomy.ddns.net: could not connect to host +top-esb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] top-stage.net: could not connect to host top10mountainbikes.info: could not connect to host topanlage.de: could not connect to host @@ -15702,16 +17007,18 @@ topbilan.com: did not receive HSTS header topdeskdev.net: could not connect to host topdetoxcleanse.com: could not connect to host topdevbox.net: could not connect to host +topesb.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] topmarine.se: did not receive HSTS header topnewstoday.org: could not connect to host topnotchendings.com: could not connect to host topnovini.com: did not receive HSTS header toppik.com.br: could not connect to host +toppointrea.com: could not connect to host topservercccam.com: did not receive HSTS header topshelfguild.com: could not connect to host -topshoptools.com: could not connect to host toptenthebest.com: did not receive HSTS header toptranslation.com: did not receive HSTS header +topvertimai.lt: could not connect to host topwin.la: could not connect to host topyx.com: did not receive HSTS header tor2web.org: could not connect to host @@ -15722,16 +17029,20 @@ toretfaction.net: could not connect to host torlock.download: could not connect to host torproject.org.uk: could not connect to host torproject.ovh: could not connect to host -torrentdownloads.bid: max-age too low: 0 +torrentdownloads.bid: could not connect to host torrentgamesps2.info: could not connect to host torrenttop100.net: could not connect to host torrentz.website: could not connect to host torrentz2.eu: did not receive HSTS header +tortocan.com: could not connect to host tortugalife.de: could not connect to host torv.rocks: did not receive HSTS header tosecure.link: could not connect to host toshnix.com: could not connect to host toshub.com: could not connect to host +toskana-appartement.de: did not receive HSTS header +totalbeauty.co.uk: could not connect to host +totaldragonshop.com.br: could not connect to host totalle.com.br: could not connect to host totallynotaserver.com: could not connect to host totalsystemcare.com: could not connect to host @@ -15740,7 +17051,7 @@ totalworkout.fitness: did not receive HSTS header totch.de: could not connect to host totem-eshop.cz: could not connect to host totoro.pub: could not connect to host -totot.net: did not receive HSTS header +totot.net: could not connect to host toucedo.de: could not connect to host touch-up-net.com: could not connect to host touchbasemail.com: did not receive HSTS header @@ -15748,37 +17059,40 @@ touchinformatica.com: did not receive HSTS header touchpointidg.us: could not connect to host touchscreen-handy.de: did not receive HSTS header touchstonefms.co.uk: did not receive HSTS header -touchtable.nl: did not receive HSTS header tougetu.com: could not connect to host +touhou.cc: did not receive HSTS header touray-enterprise.ch: could not connect to host -tournaire.fr: max-age too low: 0 tourpeer.com: did not receive HSTS header toursandtransfers.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] tousproducteurs.fr: did not receive HSTS header +tout-art.ch: could not connect to host +toutart.ch: could not connect to host towaway.ru: could not connect to host tox.im: did not receive HSTS header toxicboot.com: could not connect to host toxicip.com: could not connect to host -toxme.se: did not receive HSTS header +toxme.se: could not connect to host toymania.de: could not connect to host toyotamotala.se: could not connect to host tpbcdn.com: could not connect to host -tpblist.xyz: max-age too low: 0 +tpblist.xyz: could not connect to host tpbunblocked.org: 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 trabajarenperu.com: did not receive HSTS header tracalada.cl: did not receive HSTS header +traces.ml: could not connect to host tracetracker.com: did not receive HSTS header -tracetracker.no: did not receive HSTS header tracewind.top: could not connect to host track.plus: could not connect to host trackdays4fun.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] tracker-gps.ch: could not connect to host +trackfeed.tokyo: could not connect to host trackmeet.io: did not receive HSTS header tracktivity.com.au: did not receive HSTS header trade-smart.ru: could not connect to host +tradedesk.co.za: could not connect to host tradernet.com: could not connect to host tradietrove.com.au: did not receive HSTS header trading-analytics.com: could not connect to host @@ -15789,45 +17103,52 @@ tradingrooms.com: did not receive HSTS header traditional-knowledge.tk: did not receive HSTS header traeningsprojekt.dk: did not receive HSTS header trafficquality.org: could not connect to host -traffictigers.com: could not connect to host +traffictigers.com: did not receive HSTS header traforet.win: could not connect to host train-track.co.uk: did not receive HSTS header traindb.nl: did not receive HSTS header +trainhorns.us: did not receive HSTS header training4girls.ru: could not connect to host traininglist.org: could not connect to host trainingproviderresults.gov: could not connect to host +trainings-handschuhe-test.de: could not connect to host trainline.dk: could not connect to host trainline.io: could not connect to host trainline.se: could not connect to host trainut.com: could not connect to host trakfusion.com: could not connect to host +trancendances.fr: could not connect to host +trangell.com: did not receive HSTS header tranos.de: did not receive HSTS header transbike.es: did not receive HSTS header transcendmotor.sg: could not connect to host transcricentro.pt: could not connect to host transcriptionwave.com: did not receive HSTS header transdirect.com.au: did not receive HSTS header -transfile.fr: could not connect to host +transferio.nl: did not receive HSTS header transformify.org: did not receive HSTS header transgendernetwerk.nl: did not receive HSTS header -transitmoe.io: could not connect to host transl8.eu: did not receive HSTS header translate.googleapis.com: did not receive HSTS header (error ignored - included regardless) translateblender.ru: could not connect to host +translatoruk.co.uk: did not receive HSTS header transmithe.net: could not connect to host +transport.eu: did not receive HSTS header transportal.sk: did not receive HSTS header transsexualpantyhose.com: could not connect to host tratamentoparacelulite.biz: could not connect to host trauertexte.info: could not connect to host traumhuetten.de: did not receive HSTS header travality.ru: could not connect to host -travel-dealz.de: did not receive HSTS header travel-kuban.ru: did not receive HSTS header travel1x1.com: did not receive HSTS header traveling-thailand.info: could not connect to host travelinsightswriter.com: could not connect to host travelling.expert: could not connect to host +travellsell.com: did not receive HSTS header +travelmyth.ie: did not receive HSTS header travelpricecheck.com: max-age too low: 0 +travisfranck.com: could not connect to host travotion.com: could not connect to host trazosdearte.com: did not receive HSTS header treasuredinheritanceministry.com: did not receive HSTS header @@ -15839,6 +17160,7 @@ treeremovaljohannesburg.co.za: could not connect to host treino.blog.br: could not connect to host treker.us: could not connect to host trell.co.in: did not receive HSTS header +tremlor.com: max-age too low: 300 tremolosoftware.com: did not receive HSTS header tremoureux.fr: could not connect to host trendberry.ru: could not connect to host @@ -15846,17 +17168,24 @@ trendingpulse.com: could not connect to host trendisland.de: did not receive HSTS header trendydips.com: could not connect to host trentmaydew.com: could not connect to host -trevsanders.co.uk: did not receive HSTS header +tretkowski.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] trewe.eu: could not connect to host triadwars.com: did not receive HSTS header triageo.com.au: could not connect to host trialmock.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] trianon.xyz: could not connect to host +tributh.ga: could not connect to host +tributh.gq: could not connect to host +tributh.ml: could not connect to host +tributh.tk: could not connect to host trickedguys.com: could not connect to host +tricks.clothing: did not receive HSTS header triddi.com: could not connect to host +tridentflood.com: could not connect to host tridimage.com: did not receive HSTS header trigular.de: could not connect to host trileg.net: could not connect to host +trimarchimanuele.it: did not receive HSTS header trinity.fr.eu.org: could not connect to host trinityaffirmations.com: max-age too low: 0 trinitycore.org: max-age too low: 2592000 @@ -15864,6 +17193,7 @@ trinitytechdev.com: did not receive HSTS header tripcombi.com: did not receive HSTS header tripdelta.com: did not receive HSTS header tripinsider.club: did not receive HSTS header +triple-mmm.de: max-age too low: 0 trisportas.lt: did not receive HSTS header tristanfarkas.one: could not connect to host trixati.org.ua: did not receive HSTS header @@ -15873,12 +17203,16 @@ trizone.com.au: did not receive HSTS header troisdorf-gestalten.de: did not receive HSTS header trollme.me: could not connect to host trollscave.xyz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +trondelan.no: could not connect to host tronflix.com: did not receive HSTS header troo.ly: could not connect to host trouter.io: could not connect to host trouver-son-chemin.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +troykelly.com: did not receive HSTS header trpg.wiki: could not connect to host +truckgpsreviews.com: did not receive HSTS header true.ink: did not receive HSTS header +trueblueessentials.com: could not connect to host truebred-labradors.com: did not receive HSTS header trueessayhelp.co.uk: did not receive HSTS header truejob.com: did not receive HSTS header @@ -15887,6 +17221,7 @@ trumeet.top: did not receive HSTS header trunkjunk.co: could not connect to host trush.in: could not connect to host trustedinnovators.com: could not connect to host +trustednewssites.com: did not receive HSTS header trusteecar.com: did not receive HSTS header trustmeimfancy.com: could not connect to host trustocean.com: did not receive HSTS header @@ -15897,8 +17232,11 @@ tryfm.net: did not receive HSTS header trynowrinkleseyeserum.com: could not connect to host tryoneday.co: did not receive HSTS header tryti.me: could not connect to host +ts-publishers.com: could not connect to host ts2.se: could not connect to host -ts3-dns.me: did not receive HSTS header +ts3-dns.com: could not connect to host +ts3-dns.me: could not connect to host +ts3-dns.net: could not connect to host ts3.consulting: could not connect to host tsaro.io: could not connect to host tscqmalawi.info: did not receive HSTS header @@ -15915,18 +17253,18 @@ tsumegumi.net: could not connect to host tsumi.moe: could not connect to host tsura.org: could not connect to host tsurezurematome.ga: could not connect to host -tsurimap.com: could not connect to host ttackmedical.com.br: could not connect to host +ttrade.ga: did not receive HSTS header tts.co.nz: did not receive HSTS header ttspttsp.com: could not connect to host -ttwt.com: could not connect to host tty.space: could not connect to host ttz.im: could not connect to host tuamoronline.com: could not connect to host +tuang-tuang.com: could not connect to host tubbutec.de: did not receive HSTS header tubeju.com: could not connect to host -tubetoon.com: did not receive HSTS header -tubetooncartoons.com: did not receive HSTS header +tubetoon.com: could not connect to host +tubetooncartoons.com: could not connect to host tubex.ga: could not connect to host tucidi.net: could not connect to host tucker.wales: could not connect to host @@ -15935,15 +17273,14 @@ tudorapido.com.br: did not receive HSTS header tueche.com.ar: did not receive HSTS header tufilo.com: could not connect to host tugers.com: did not receive HSTS header -tuja.hu: could not connect to host tulenceria.es: could not connect to host tulsameetingroom.com: could not connect to host tunca.it: did not receive HSTS header tunebitfm.de: could not connect to host tungstenroyce.com: did not receive HSTS header tunity.be: did not receive HSTS header +tuou.xyz: could not connect to host tupizm.com: could not connect to host -turdnagel.com: could not connect to host turismo.cl: could not connect to host turkiet.guide: could not connect to host turkrock.com: did not receive HSTS header @@ -15951,9 +17288,10 @@ turn-sticks.com: could not connect to host turnik-67.ru: could not connect to host turniker.ru: could not connect to host turnsticks.com: could not connect to host +turtle.ai: did not receive HSTS header turtlementors.com: could not connect to host turtles.ga: could not connect to host -tusb.ml: did not receive HSTS header +tusb.ml: could not connect to host tussengelegenwoningverkopen.nl: could not connect to host tuthowto.com: could not connect to host tutiendaroja.com: did not receive HSTS header @@ -15963,15 +17301,18 @@ tutu.ro: could not connect to host tuturulianda.com: did not receive HSTS header tuvalie.com: did not receive HSTS header tuxhound.org: could not connect to host +tuxrtfm.com: could not connect to host tv.search.yahoo.com: could not connect to host tvc.red: could not connect to host tverdohleb.com: could not connect to host tvoru.com.ua: did not receive HSTS header +tvqc.com: did not receive HSTS header tvs-virtual.cz: did not receive HSTS header tvtubeflix.com: did not receive HSTS header tvz-materijali.com: could not connect to host tw2-tools.ga: could not connect to host twarog.cc: could not connect to host +tweakersbadge.nl: could not connect to host twee-onder-een-kap-woning-in-alphen-aan-den-rijn-kopen.nl: could not connect to host twee-onder-een-kap-woning-in-brielle-kopen.nl: could not connect to host twee-onder-een-kap-woning-in-de-friese-meren-kopen.nl: could not connect to host @@ -16002,9 +17343,9 @@ twinkseason.xyz: could not connect to host twiri.net: could not connect to host twist.party: could not connect to host twistapp.com: did not receive HSTS header -twisted-brains.org: could not connect to host twittelzie.nl: could not connect to host twitter.ax: could not connect to host +twocornertiming.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] twogo.com: did not receive HSTS header twojfaktum.pl: could not connect to host twolanedesign.com: did not receive HSTS header @@ -16020,25 +17361,27 @@ txcp02.com: could not connect to host txf.pw: could not connect to host ty2u.com: did not receive HSTS header tycjt.vip: did not receive HSTS header +tyil.nl: could not connect to host tykoon.com: could not connect to host +tyl.io: did not receive HSTS header tyler.coach: could not connect to host -tyler.rs: could not connect to host tylercoach.com: could not connect to host +tylerharcourt.ca: max-age too low: 86400 tylerharcourt.com: could not connect to host tylerharcourt.org: did not receive HSTS header tylerharcourt.xyz: could not connect to host tylerjharcourt.com: could not connect to host -tyleromeara.com: could not connect to host tylian.net: max-age too low: 0 type1joe.com: could not connect to host type1joe.net: could not connect to host type1joe.org: could not connect to host typehub.net: could not connect to host typeofweb.com: did not receive HSTS header +typeonejoe.com: could not connect to host typeonejoe.net: could not connect to host typeonejoe.org: could not connect to host typingrevolution.com: did not receive HSTS header -tyreis.com: did not receive HSTS header +tyreis.com: could not connect to host tyrelius.com: could not connect to host tyroproducts.eu: did not receive HSTS header tyskland.guide: could not connect to host @@ -16046,6 +17389,7 @@ tz56789.com: did not receive HSTS header tzappa.net: could not connect to host tzwe.com: could not connect to host u-master.net: did not receive HSTS header +u-metals.com: did not receive HSTS header u175.com: could not connect to host uadp.pw: could not connect to host uahs.org.uk: did not receive HSTS header @@ -16053,33 +17397,38 @@ ubalert.com: could not connect to host uber.com.au: did not receive HSTS header ubercalculator.com: did not receive HSTS header uberfunction.com: did not receive HSTS header -ubertt.org: could not connect to host +ubermail.me: could not connect to host ubicloud.de: could not connect to host ubicv.com: could not connect to host ublox.com: did not receive HSTS header ubtce.com: could not connect to host +ubun.net: could not connect to host ubuntuhot.com: did not receive HSTS header uc.ac.id: did not receive HSTS header +uchiha.ml: could not connect to host uclanmasterplan.co.uk: did not receive HSTS header udbhav.me: could not connect to host -uefeng.com: did not receive HSTS header uega.net: did not receive HSTS header uerdingen.info: did not receive HSTS header uesociedadlimitada.com: could not connect to host ueu.me: could not connect to host ufgaming.com: did not receive HSTS header uflixit.com: did not receive HSTS header -ufo.moe: did not receive HSTS header +ufo.moe: could not connect to host ufotable.uk: could not connect to host ugcdn.com: could not connect to host -uggedal.com: could not connect to host ugisgutless.com: could not connect to host ugo.ninja: could not connect to host ugosadventures.com: could not connect to host +uhappy69.com: could not connect to host +uhappy70.com: could not connect to host +uhappy72.com: could not connect to host +uhappy80.com: could not connect to host +uhappy81.com: could not connect to host uhasseltctf.ga: could not connect to host -uhm.io: could not connect to host +uhasseltodin.be: did not receive HSTS header +uhm.io: did not receive HSTS header uhuru-market.com: did not receive HSTS header -uicchy.com: could not connect to host uitslagensoftware.nl: did not receive HSTS header ukas.com: could not connect to host ukdropshipment.co.uk: did not receive HSTS header @@ -16107,6 +17456,7 @@ umbriel.fr: did not receive HSTS header umgardi.ca: could not connect to host umidev.com: could not connect to host umie.cc: did not receive HSTS header +umkmjogja.com: did not receive HSTS header ump45.moe: could not connect to host umsolugar.com.br: did not receive HSTS header unart.info: could not connect to host @@ -16126,7 +17476,7 @@ unblocked.win: could not connect to host unblocked.works: could not connect to host unblocked.world: could not connect to host unblockedall.site: could not connect to host -unblockedbay.info: max-age too low: 0 +unblockedbay.info: could not connect to host unblockerproxy.site: did not receive HSTS header unblockerproxy.top: did not receive HSTS header unblockmy.party: could not connect to host @@ -16137,12 +17487,13 @@ unblockthe.site: could not connect to host unblockthe.top: could not connect to host unccdesign.club: could not connect to host unclegen.xyz: could not connect to host -undecidable.de: could not connect to host under30stravelinsurance.com.au: did not receive HSTS header undercovercondoms.com: could not connect to host underkin.com: could not connect to host +undone.me: could not connect to host unefuite.ch: could not connect to host unfiltered.nyc: could not connect to host +unfuddle.cn: could not connect to host ungern.guide: could not connect to host unhu.fr: could not connect to host uni-games.com: could not connect to host @@ -16161,10 +17512,12 @@ uniformehumboldt.com.br: did not receive HSTS header uniformespousoalegre.com.br: did not receive HSTS header unikitty-on-tour.com: could not connect to host unikrn.com: could not connect to host +uninet.cf: could not connect to host +uniojeda.ml: did not receive HSTS header unionstationapp.com: could not connect to host unirenter.ru: did not receive HSTS header unison.com: did not receive HSTS header -unisyssecurity.com: did not receive HSTS header +unisyssecurity.com: could not connect to host unitedcyberdevelopment.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] unitlabs.net: could not connect to host unitrade-425.co.za: did not receive HSTS header @@ -16172,51 +17525,52 @@ university4industry.com: did not receive HSTS header universogay.com: could not connect to host univstore.win: could not connect to host univz.com: could not connect to host -unix.se: did not receive HSTS header unixtime.pro: could not connect to host unknownbreakup.com: max-age too low: 2592000 unknownphenomena.net: could not connect to host unleash.pw: could not connect to host unlogis.ch: could not connect to host unmanaged.space: could not connect to host -unmarkdocs.co: could not connect to host -uno.fi: did not receive HSTS header unplugg3r.dk: could not connect to host +unpossible.xyz: could not connect to host unravel.ie: could not connect to host unripple.com: could not connect to host +unruh.fr: did not receive HSTS header unschoolrules.com: did not receive HSTS header -unstablewormhole.ltd: did not receive HSTS header unstockd.org: could not connect to host unsupervised.ca: did not receive HSTS header unsystem.net: could not connect to host unterkunft.guru: did not receive HSTS header -unterschicht.tv: could not connect to host untoldstory.eu: did not receive HSTS header -unveiledgnosis.com: could not connect to host +unveiledgnosis.com: 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 +unworthy.ml: could not connect to host +unyq.me: could not connect to host uonstaffhub.com: could not connect to host uow.ninja: could not connect to host up1.ca: could not connect to host upaknship.com: did not receive HSTS header upandclear.org: max-age too low: 0 -upay.ru: could not connect to host upboard.jp: could not connect to host upldr.pw: could not connect to host uploadbro.com: could not connect to host upmchealthsecurity.us: could not connect to host uporoops.com: could not connect to host +upr-info.org: did not receive HSTS header uprotect.it: could not connect to host upstats.eu: could not connect to host uptakedigital.com.au: max-age too low: 2592000 -uptic.net: could not connect to host +uptic.net: did not receive HSTS header uptogood.org: could not connect to host upupming.site: did not receive HSTS header +upwardtraining.co.uk: could not connect to host ur-lauber.de: did not receive HSTS header urban-garden.lt: could not connect to host urban-garden.lv: could not connect to host +urban-karuizawa.co.jp: max-age too low: 0 urbanmic.com: could not connect to host +urbanstylestaging.com: could not connect to host urbpic.com: could not connect to host urcentral.org: could not connect to host url.cab: could not connect to host @@ -16226,7 +17580,7 @@ urlchomp.com: did not receive HSTS header urology.wiki: did not receive HSTS header urphp.com: did not receive HSTS header us-immigration.com: did not receive HSTS header -usaab.org: did not receive HSTS header +usaab.org: could not connect to host usafuelservice.com: did not receive HSTS header usatomotori.com: did not receive HSTS header usbirthcertificate.com: could not connect to host @@ -16244,6 +17598,7 @@ user-new.com: did not receive HSTS header usercare.com: could not connect to host useresponse.com: did not receive HSTS header userify.com: did not receive HSTS header +uskaria.com: could not connect to host uslab.io: could not connect to host usleep.net: could not connect to host usparklodging.com: did not receive HSTS header @@ -16267,8 +17622,9 @@ uttnetgroup.fr: could not connect to host utube.tw: could not connect to host utumno.ch: could not connect to host utvbloggen.se: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -uvarov.pw: did not receive HSTS header +uvarov.pw: could not connect to host uvolejniku.cz: did not receive HSTS header +uwekoetter.com: did not receive HSTS header uwesander.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] uwfreelanceopticien.nl: could not connect to host uwimonacs.org.jm: did not receive HSTS header @@ -16285,36 +17641,35 @@ v0tti.com: did not receive HSTS header v12.co.uk: did not receive HSTS header v1sit0r.ru: could not connect to host v2.pw: did not receive HSTS header -v2bv.win: could not connect to host v2ex.us: could not connect to host -v4s.ro: did not receive HSTS header v4veedu.com: could not connect to host v5wz.com: did not receive HSTS header -v5xp.com: could not connect to host +v5xp.com: did not receive HSTS header v7.cl: could not connect to host v789xl.com: did not receive HSTS header vaaddress.co: could not connect to host -vaalmarketplace.co.za: could not connect to host +vaalmarketplace.co.za: did not receive HSTS header vacationality.com: could not connect to host vacationfund.co: could not connect to host vacationscostarica.com: did not receive HSTS header vackerbetong.se: could not connect to host -vaclavambroz.cz: could not connect to host +vaclavambroz.cz: did not receive HSTS header vaclavambroz.eu: could not connect to host vacuumreviewcenter.com: did not receive HSTS header vaddder.com: could not connect to host vadennissanofhinesvilleparts.com: could not connect to host vadik.me: could not connect to host vadodesign.nl: did not receive HSTS header -vagaerg.com: did not receive HSTS header -vagaerg.net: did not receive HSTS header vaibhavchatarkar.com: could not connect to host val-sec.com: could not connect to host valaeris.de: did not receive HSTS header +valbonne-consulting.com: did not receive HSTS header valecnatechnika.cz: could not connect to host valenhub.com: could not connect to host valenhub.es: could not connect to host valenscaelum.com: could not connect to host +valentin-ochs.de: could not connect to host +valentin.ml: could not connect to host valesdev.com: max-age too low: 0 valethound.com: could not connect to host valhallacostarica.com: could not connect to host @@ -16322,9 +17677,11 @@ valhallamovement.com: did not receive HSTS header valitron.se: did not receive HSTS header valkyrja.xyz: could not connect to host valleyridgepta.org: could not connect to host +valleyshop.ca: could not connect to host vallis.net: could not connect to host valmagus.com: could not connect to host valopv.be: could not connect to host +valshamar.is: could not connect to host vamoaeturismo.com.br: could not connect to host vamosfalardesaude.pt: could not connect to host vampirism.eu: could not connect to host @@ -16341,9 +17698,12 @@ vanitas.xyz: could not connect to host vanitynailworkz.com: could not connect to host vanlaanen.com: did not receive HSTS header vansieleghem.com: could not connect to host +vantaio.com: did not receive HSTS header +vapecom-shop.com: could not connect to host vapecraftinc.com: did not receive HSTS header vapemania.eu: could not connect to host vapeshopsupply.com: max-age too low: 7889238 +vaporpunk.space: did not receive HSTS header varela-electricite.fr: could not connect to host variablyconstant.com: could not connect to host varta.io: could not connect to host @@ -16359,7 +17719,9 @@ vavai.net: did not receive HSTS header vavouchers.com: could not connect to host vawltstorage.com: did not receive HSTS header vayaport.com: could not connect to host +vb-oa.co.uk: did not receive HSTS header vbest.net: could not connect to host +vbestreviews.com: did not receive HSTS header vbhelp.org: did not receive HSTS header vbulletin-russia.com: could not connect to host vbulletinrussia.com: could not connect to host @@ -16379,7 +17741,7 @@ vedatkamer.com: did not receive HSTS header vega-motor.com.ua: did not receive HSTS header vega-rumia.com.pl: max-age too low: 2592000 vega.dyndns.info: could not connect to host -vegalayer.com: did not receive HSTS header +vegalayer.com: could not connect to host vegalengd.com: did not receive HSTS header vegane-proteine.com: could not connect to host vegangaymer.blog: could not connect to host @@ -16388,7 +17750,7 @@ vegasdocs.com: did not receive HSTS header veggiefasting.com: could not connect to host veggiesbourg.fr: did not receive HSTS header vegis.ro: did not receive HSTS header -veglog.com: did not receive HSTS header +veglog.com: could not connect to host vehent.org: did not receive HSTS header vehicleuplift.co.uk: did not receive HSTS header vekenz.com: could not connect to host @@ -16396,6 +17758,7 @@ velasense.com: could not connect to host velonustraduction.com: could not connect to host velotyretz.fr: did not receive HSTS header vemokin.net: could not connect to host +venenum.org: could not connect to host venicecomputerrepair.com: could not connect to host venicefloridawebsitedesign.com: could not connect to host venicerealdeal.com: could not connect to host @@ -16406,11 +17769,13 @@ venmos.com: could not connect to host venninvestorplatform.com: did not receive HSTS header venoom.eu: did not receive HSTS header vensl.org: could not connect to host +venturedisplay.co.uk: did not receive HSTS header venturepro.com: did not receive HSTS header venzocrm.com: did not receive HSTS header ver-ooginoog.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] veraandsteve.date: could not connect to host verdeandco.co.uk: could not connect to host +vergeaccessories.com: could not connect to host verifiedinvesting.com: could not connect to host verifikatorindonesia.com: could not connect to host veriomed.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -16419,12 +17784,13 @@ verliefde-jongens.nl: could not connect to host vermogeninkaart.nl: could not connect to host vermontcareergateway.org: could not connect to host vernonfishandgame.ca: did not receive HSTS header +vernonhouseofhope.com: did not receive HSTS header versbeton.nl: max-age too low: 864000 versfin.net: could not connect to host versia.ru: did not receive HSTS header -versolslapeyre.fr: did not receive HSTS header veryhax.de: could not connect to host veryyounglesbians.com: could not connect to host +verzick.com: could not connect to host ves.vn.ua: could not connect to host vestacp.top: could not connect to host vetdnacenter.com: did not receive HSTS header @@ -16439,22 +17805,26 @@ vglimg.com: could not connect to host vhost.co.id: could not connect to host viabemestar.com.br: could not connect to host viadeux.com: did not receive HSTS header +viagraonlinebestellen.org: max-age too low: 3600 vialibido.com.br: could not connect to host viato.fr: could not connect to host vibrashop.com.br: did not receive HSTS header vicenage.com: could not connect to host viceversa.xyz: did not receive HSTS header -vician.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -vicianovi.cz: could not connect to host +vicianovi.cz: did not receive HSTS header +viciousflora.com: could not connect to host viciousviscosity.xyz: could not connect to host +vickshomes.com: could not connect to host victorenxovais.com.br: could not connect to host victoriapemberton.com: did not receive HSTS header victoriaville.ca: did not receive HSTS header vid.me: did not receive HSTS header vidb.me: could not connect to host vidbuchanan.co.uk: did not receive HSTS header -viddiaz.com: could not connect to host +vidcloud.xyz: did not receive HSTS header +viddiaz.com: did not receive HSTS header videnskabsklubben.dk: did not receive HSTS header +videobola.win: could not connect to host videoload.co: could not connect to host videomuz.com: could not connect to host videorullen.se: could not connect to host @@ -16462,20 +17832,19 @@ videosxgays.com: could not connect to host videotogel.net: could not connect to host videoueberwachung-set.de: did not receive HSTS header vider.ga: could not connect to host -vidid.net: could not connect to host +vidid.net: did not receive HSTS header vidiproject.com: did not receive HSTS header -vidister.de: could not connect to host viditut.com: could not connect to host vidkovaomara.si: could not connect to host vidlyoficial.com: could not connect to host vidz.ga: could not connect to host vieaw.com: could not connect to host -viennan.net: could not connect to host +viennan.net: did not receive HSTS header vietnam-lifer.com: could not connect to host vietnamchevrolet.net: did not receive HSTS header vietnamphotographytours.com: did not receive HSTS header -vieux.pro: could not connect to host viewsea.com: max-age too low: 0 +viga.me: could not connect to host vigilo.cf: could not connect to host vigilo.ga: could not connect to host viikko.eu: could not connect to host @@ -16483,8 +17852,8 @@ vijos.org: did not receive HSTS header vikasbabyworld.de: could not connect to host viktor-machnik.de: could not connect to host viktorsvantesson.net: did not receive HSTS header +vilabiamodas.com.br: could not connect to host viladochurrasco.com.br: could not connect to host -vilaydin.com: did not receive HSTS header vilight.com.br: could not connect to host villa-anna-cilento.de: could not connect to host villa-bellarte.de: did not receive HSTS header @@ -16506,19 +17875,26 @@ vinbet666.com: could not connect to host vinbet888.com: could not connect to host vincentkooijman.at: did not receive HSTS header vincentkooijman.nl: did not receive HSTS header +vineright.com: did not receive HSTS header vinesauce.info: could not connect to host vinetalk.net: could not connect to host vinicius.sl: could not connect to host viniferawineclub.com: did not receive HSTS header vinihk.com: did not receive HSTS header vinogradovka.com: did not receive HSTS header +vintock.com: could not connect to host vio.no: did not receive HSTS header violenceinterrupted.org: did not receive HSTS header violet-letter.delivery: could not connect to host violetraven.co.uk: could not connect to host viosey.com: could not connect to host vioye.com: could not connect to host +vip-9649.com: did not receive HSTS header +vip9649.com: did not receive HSTS header viperdns.com: could not connect to host +vipesball.cc: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +vipesball.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +vipesball.me: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] vipesball.net: could not connect to host viphospitality.se: could not connect to host viplentes.com.br: did not receive HSTS header @@ -16554,7 +17930,7 @@ vitalita.cz: did not receive HSTS header vitalorange.com: did not receive HSTS header vitalthings.de: could not connect to host vitamaxxi.com.br: could not connect to host -vitapingu.de: could not connect to host +vitamineproteine.com: did not receive HSTS header vitta.me: did not receive HSTS header vitzro.kr: could not connect to host viva-french.com: did not receive HSTS header @@ -16566,35 +17942,40 @@ vivoseg.com: could not connect to host vivremoinscher.fr: could not connect to host viza.io: could not connect to host vizeat.com: did not receive HSTS header -vkirichenko.name: could not connect to host vkulagin.ru: could not connect to host vladimiroff.org: did not receive HSTS header vldkn.net: could not connect to host vleij.family: could not connect to host vlogge.com: did not receive HSTS header -vlsk.eu: could not connect to host +vlsk.eu: did not receive HSTS header vlzbazar.ru: could not connect to host vmrdev.com: could not connect to host vmstan.com: did not receive HSTS header vndb.org: could not connect to host vocab.guru: could not connect to host +vocalik.com: did not receive HSTS header vocalsynth.space: could not connect to host voceinveste.com: did not receive HSTS header +vodpay.com: could not connect to host +vodpay.net: could not connect to host +vodpay.org: could not connect to host vogt.tech: could not connect to host voicesuk.co.uk: did not receive HSTS header void-it.nl: did not receive HSTS header voidark.com: could not connect to host voidi.ca: could not connect to host +voidpay.net: could not connect to host +voidpay.org: could not connect to host voids.org: could not connect to host voidserv.net: could not connect to host voidshift.com: could not connect to host +voidzehn.com: did not receive HSTS header voilo.club: could not connect to host voilodaisuki.club: could not connect to host voipkb.com: did not receive HSTS header voiro.club: could not connect to host voirodaisuki.club: could not connect to host vokalsystem.com: did not receive HSTS header -vokativy.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] volatimer.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] volbyzive.cz: did not receive HSTS header volcain.io: could not connect to host @@ -16606,17 +17987,20 @@ voltimax.com: did not receive HSTS header voltotc.com: did not receive HSTS header voluptueuse.com: did not receive HSTS header volvipress.gr: did not receive HSTS header +von-lien-aluprofile.de: did not receive HSTS header +von-lien-dachrinnen.de: did not receive HSTS header +von-lien-lichtplatten.de: did not receive HSTS header +von-lien-profilbleche.de: did not receive HSTS header vonavy-cukor.sk: could not connect to host vonavycukor.sk: could not connect to host vonedelmann.de: did not receive HSTS header vongerlach.at: did not receive HSTS header -vonterra.us: did not receive HSTS header vooreenveiligthuis.nl: did not receive HSTS header voorjou.com: did not receive HSTS header vorangerie.com: could not connect to host vorderklier.de: could not connect to host vorkbaard.nl: did not receive HSTS header -vorm2.com: did not receive HSTS header +vorte.ga: could not connect to host vortexhobbies.com: did not receive HSTS header vosjesweb.nl: could not connect to host votercircle.com: did not receive HSTS header @@ -16624,8 +18008,7 @@ voterstartingpoint.uk: did not receive HSTS header votewa.gov: could not connect to host votresiteweb.ch: could not connect to host vow.vn: could not connect to host -vowsy.club: did not receive HSTS header -vox.vg: did not receive HSTS header +voyageofyume.com: could not connect to host vozami.com: could not connect to host vpip.net: could not connect to host vpl.me: did not receive HSTS header @@ -16635,6 +18018,7 @@ 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 +vpsvz.cloud: could not connect to host vqporn.com: could not connect to host vranjske.co.rs: could not connect to host vratny.space: could not connect to host @@ -16654,7 +18038,6 @@ vrijstaandhuisverkopen.nl: could not connect to host vrlaid.com: could not connect to host vrobert.fr: could not connect to host vrsgames.com.mx: did not receive HSTS header -vrtak-cz.net: could not connect to host vrtouring.org: could not connect to host vrzl.pro: could not connect to host vsamsonov.com: could not connect to host @@ -16664,12 +18047,12 @@ vucdn.com: could not connect to host vulnerabilities.io: could not connect to host vuosaarenmontessoritalo.fi: did not receive HSTS header vvl.me: did not receive HSTS header -vvzero.cf: could not connect to host vw-touranclub.cz: could not connect to host vwoforangeparts.com: could not connect to host vwt-event.nl: could not connect to host vxapps.com: could not connect to host vxml.club: could not connect to host +vxst.org: max-age too low: 2592000 vxz.me: could not connect to host vykup-car.ru: could not connect to host vynedmusic.com: could not connect to host @@ -16685,17 +18068,29 @@ w4a.fr: could not connect to host w4b.in: could not connect to host w4xzr.top: could not connect to host w4xzr.xyz: could not connect to host +w84.it: could not connect to host w9rld.com: did not receive HSTS header wabifoggynuts.com: could not connect to host +wachter.biz: did not receive HSTS header wachtwoordencheck.nl: could not connect to host wadvisor.com: could not connect to host waelti.xxx: could not connect to host wafa4hw.com: could not connect to host wafairhaven.com.au: did not receive HSTS header wafni.com: could not connect to host +wahhoi.net: could not connect to host wai-in.com: could not connect to host +wai-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +waidu.de: did not receive HSTS header +wail.net: could not connect to host +wait.jp: could not connect to host wait.moe: could not connect to host waixingrenfuli7.vip: could not connect to host +waka-mono.com: could not connect to host +waka168.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +waka168.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +waka88.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +waka88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] wakapp.de: could not connect to host wakened.net: did not receive HSTS header waldkinder-ilmenau.de: did not receive HSTS header @@ -16705,9 +18100,9 @@ wallabag.it: did not receive HSTS header wallabag.org: did not receive HSTS header wallacequinn.co.uk: did not receive HSTS header wallet.google.com: did not receive HSTS header (error ignored - included regardless) +wallingford.cc: could not connect to host wallsblog.dk: could not connect to host walnutgaming.co.uk: could not connect to host -walter.lc: could not connect to host walterlynnmosley.com: did not receive HSTS header wanashi.com: could not connect to host wanban.io: could not connect to host @@ -16719,13 +18114,17 @@ wanda97.com: could not connect to host wanda98.com: could not connect to host wandercue.com: did not receive HSTS header wangjiatun.com.tw: could not connect to host +wangjun.me: did not receive HSTS header wangkezun.com: could not connect to host +wangler-internet.de: did not receive HSTS header +wangqiliang.org: could not connect to host wangqiliang.xn--fiqs8s: could not connect to host wangql.cn: could not connect to host wanquanojbk.com: did not receive HSTS header wantshow.com.br: did not receive HSTS header wanvi.net: did not receive HSTS header -wanybug.cn: could not connect to host +wanybug.cn: did not receive HSTS header +wanybug.com: could not connect to host wapgu.cc: could not connect to host wapjt.cn: could not connect to host wapking.live: could not connect to host @@ -16733,7 +18132,7 @@ wapt.fr: did not receive HSTS header warandpeace.xyz: could not connect to host warcraftjournal.org: could not connect to host wardsegers.be: did not receive HSTS header -warehost.de: could not connect to host +warehost.de: did not receive HSTS header warekon.com: could not connect to host warekon.dk: could not connect to host warezaddict.com: could not connect to host @@ -16741,6 +18140,9 @@ warhistoryonline.com: did not receive HSTS header warlions.info: could not connect to host warmestwishes.ca: could not connect to host warnings.xyz: could not connect to host +warp-radio.com: could not connect to host +warp-radio.net: could not connect to host +warp-radio.tv: could not connect to host warped.com: did not receive HSTS header warren.sh: could not connect to host warrencreative.com: did not receive HSTS header @@ -16748,34 +18150,36 @@ warsentech.com: did not receive HSTS header warumsuchen.at: did not receive HSTS header wasatchconstables.com: did not receive HSTS header wasatchcrest.com: did not receive HSTS header -wasserburg.dk: did not receive HSTS header +washandfun.com: could not connect to host wassim.is: did not receive HSTS header watashi.bid: could not connect to host watchium.com: did not receive HSTS header -watchtv-online.pw: max-age too low: 0 +watchtv-online.pw: could not connect to host watchweasel.com: could not connect to host waterforlife.net.au: did not receive HSTS header waterpoint.com.br: could not connect to host watersportmarkt.net: did not receive HSTS header watsonhall.uk: could not connect to host wattechweb.com: did not receive HSTS header +wave-ola.es: did not receive HSTS header wavefloatrooms.com: did not receive HSTS header wavefrontsystemstech.com: could not connect to host +wavesoftime.com: could not connect to host waxlrs.com: could not connect to host waylaydesign.com: did not receive HSTS header waylee.net: did not receive HSTS header wbit.co.il: did not receive HSTS header wbut.ml: could not connect to host -wcwcg.net: could not connect to host +wd627.com: could not connect to host +wd976.com: could not connect to host wdesk.com: did not receive HSTS header -wdmg.com.ua: max-age too low: 604800 wdrl.info: did not receive HSTS header wdt.io: could not connect to host we.serveftp.net: could not connect to host wealthcentral.com.au: did not receive HSTS header wealthformyhealth.com: did not receive HSTS header wear2work.nl: could not connect to host -wearedisneyland.com: could not connect to host +wearedisneyland.com: did not receive HSTS header weareincognito.org: could not connect to host wearewithyou.org: could not connect to host weather-and-climate.com: did not receive HSTS header @@ -16783,7 +18187,6 @@ weaverhairextensions.nl: could not connect to host web-adminy.co.uk: could not connect to host web-advisor.co.uk: could not connect to host web-demarche.com: could not connect to host -web-dl.cc: could not connect to host web-industry.fr: could not connect to host web-insider.net: did not receive HSTS header web-vision.de: did not receive HSTS header @@ -16795,14 +18198,17 @@ webapky.cz: could not connect to host webapps.directory: could not connect to host webart-factory.de: could not connect to host webassadors.com: could not connect to host +webauthority.co.uk: did not receive HSTS header webbuzz.com.au: did not receive HSTS header webbx.se: did not receive HSTS header webchat.domains: did not receive HSTS header -webcreation.rocks: did not receive HSTS header +webcreation.rocks: could not connect to host +webdeflect.com: did not receive HSTS header webdesign-kronberg.de: did not receive HSTS header webdesignssussex.co.uk: could not connect to host webdev-quiz.de: did not receive HSTS header webdev.mobi: could not connect to host +webdollarvpn.io: could not connect to host webdosh.com: did not receive HSTS header webeconomia.it: did not receive HSTS header webelement.sk: did not receive HSTS header @@ -16810,13 +18216,14 @@ weberjulia.com: could not connect to host webfronten.dk: did not receive HSTS header webgaff.com: could not connect to host webgap.me: did not receive HSTS header -webgreat.de: max-age too low: 3600 +webgreat.de: did not receive HSTS header webhackspro.com: could not connect to host webhelyesarcu.hu: did not receive HSTS header webhosting4.net: did not receive HSTS header webhostingpros.ml: could not connect to host -webies.ro: did not receive HSTS header +webhostingshop.ca: could not connect to host webless.com: could not connect to host +weblogic.pl: did not receive HSTS header webm.to: could not connect to host webmail.mayfirst.org: did not receive HSTS header webmaniabr.com: did not receive HSTS header @@ -16833,20 +18240,20 @@ webneuch.swiss: did not receive HSTS header webninja.work: could not connect to host webnoob.net: could not connect to host webnosql.com: could not connect to host +webogram.org: could not connect to host webperformance.ru: could not connect to host webproshosting.tk: could not connect to host +webproxy.pw: could not connect to host webpublica.pt: could not connect to host -webreslist.com: could not connect to host +webreslist.com: did not receive HSTS header websandbox.uk: could not connect to host websectools.com: could not connect to host webseo.de: did not receive HSTS header -websiteadvice.com.au: did not receive HSTS header websitedesign.bg: did not receive HSTS header +websiterent.ca: could not connect to host websitesabq.com: did not receive HSTS header -websouthdesign.com: could not connect to host webspotter.nl: could not connect to host webstationservice.fr: could not connect to host -webstellung.com: could not connect to host webstory.xyz: could not connect to host webswitch.io: did not receive HSTS header webtar.info: could not connect to host @@ -16855,27 +18262,26 @@ webtechgadgetry.com: could not connect to host webtek.nu: could not connect to host webthings.com.br: could not connect to host webtiles.co.uk: could not connect to host -webtobesocial.de: could not connect to host webukhost.com: could not connect to host webuni.hu: did not receive HSTS header webveloper.com: did not receive HSTS header -webwolf.co.za: could not connect to host +webwolf.co.za: did not receive HSTS header webwork.pw: did not receive HSTS header webypass.xyz: could not connect to host webzanem.com: could not connect to host wecanfindit.co.za: could not connect to host wecanvisit.com: could not connect to host wedding-m.jp: did not receive HSTS header -weddingalbumsdesign.com: did not receive HSTS header +weddingalbumsdesign.com: max-age too low: 2592000 weddingenvelopes.co.uk: did not receive HSTS header +weddingfantasy.ru: could not connect to host weddingibiza.nl: could not connect to host -wedotrains.club: did not receive HSTS header +wedotrains.club: could not connect to host weebsr.us: could not connect to host weed.ren: could not connect to host weedcircles.com: did not receive HSTS header weedlandia.org: could not connect to host weekly.fyi: could not connect to host -weeknummers.be: could not connect to host wegenaer.nl: could not connect to host wegner.no: could not connect to host weicn.org: did not receive HSTS header @@ -16885,13 +18291,13 @@ weiler.xyz: could not connect to host weimaraner.com.br: could not connect to host weinhandel-preissler.de: could not connect to host weirdserver.com: could not connect to host -weiyuz.com: max-age too low: 6585555 +weixiaojun.org: could not connect to host weizenke.im: could not connect to host wejumall.com: could not connect to host wekibe.de: could not connect to host -welby.cat: did not receive HSTS header +welby.cat: could not connect to host welches-kinderfahrrad.de: could not connect to host -welcomescuba.com: did not receive HSTS header +welcomehelp.de: could not connect to host welkers.org: could not connect to host wellastore.ru: could not connect to host wellcomp.com.br: did not receive HSTS header @@ -16906,12 +18312,18 @@ welovejobs.com: did not receive HSTS header welovemail.com: could not connect to host welpo.me: could not connect to host welpy.com: could not connect to host +welsh.com.br: 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 +weme.eu: did not receive HSTS header +wen-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +wen-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +wenchieh.com: could not connect to host wendalyncheng.com: did not receive HSTS header +wendu.me: could not connect to host wengebowuguan.com: could not connect to host wenode.net: did not receive HSTS header +wenta-computerservice.net: could not connect to host wentu.ml: could not connect to host wenz.io: did not receive HSTS header wer.sh: could not connect to host @@ -16919,19 +18331,20 @@ werdeeintimo.de: could not connect to host wereldplanner.nl: could not connect to host werhatunsverraten.eu: could not connect to host werken-bij-inwork.nl: could not connect to host -werkenbijkfc.nl: did not receive HSTS header +werkenbijkfc.nl: could not connect to host werkplaatsoost.nl: did not receive HSTS header werkruimtebottendaal.nl: could not connect to host -werner-schaeffer.de: did not receive HSTS header -wernerschaeffer.de: did not receive HSTS header +werkz.io: could not connect to host wes-dev.com: did not receive HSTS header wesayyesprogram.com: could not connect to host wesleyharris.ca: did not receive HSTS header wespeakgeek.co.za: could not connect to host +wessner.co: could not connect to host westcoastaggregate.com: could not connect to host westendzone.com: could not connect to host westerhoud.nl: did not receive HSTS header westhighlandwhiteterrier.com.br: could not connect to host +westlaketire.pt: did not receive HSTS header westlinwinds.com: could not connect to host westsussexconnecttosupport.org: could not connect to host westtulsa.com: could not connect to host @@ -16940,7 +18353,6 @@ wetherbyweather.org.uk: did not receive HSTS header wetoxic.com: could not connect to host wettbonus.info: max-age too low: 0 wettbuero.de: did not receive HSTS header -wetten.eu: did not receive HSTS header wettertoertchen.com: could not connect to host wetthost.com: could not connect to host wetttipps.com: could not connect to host @@ -16952,14 +18364,16 @@ wewillgo.com: could not connect to host wewillgo.org: did not receive HSTS header wewlad.me: could not connect to host weyland.tech: did not receive HSTS header -wezl.net: did not receive HSTS header +weynaphotography.com: did not receive HSTS header wf-training-master.appspot.com: did not receive HSTS header (error ignored - included regardless) wftda.com: did not receive HSTS header wg-tools.de: could not connect to host whanau.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +whatanime.ga: could not connect to host whatisl.ovh: could not connect to host whats.io: could not connect to host whatsstalk.me: could not connect to host +whatsupdeco.com: did not receive HSTS header whatsyouroffer.co.uk: did not receive HSTS header wheelwright.org: did not receive HSTS header when-release.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] @@ -16969,8 +18383,8 @@ whereismyorigin.cf: could not connect to host wherephoto.com: did not receive HSTS header wheresben.today: could not connect to host whilsttraveling.com: could not connect to host +whimtrip.fr: did not receive HSTS header whisker.network: could not connect to host -whiskyglazen.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] whistler-transfers.com: did not receive HSTS header whitehat.id: could not connect to host whiterabbit.org: did not receive HSTS header @@ -16978,20 +18392,21 @@ whiterabbitcakery.com: could not connect to host whiteready.it: did not receive HSTS header whiteroom.agency: did not receive HSTS header whitestagforge.com: did not receive HSTS header -whitewinterwolf.com: could not connect to host +whoasome.com: could not connect to host whoclicks.net: could not connect to host -whoisamitsingh.com: did not receive HSTS header +whoisamitsingh.com: could not connect to host whoisapi.online: could not connect to host whoiscuter.ml: could not connect to host whoiscutest.ml: could not connect to host wholebites.com: max-age too low: 7889238 wholelotofbounce.co.uk: did not receive HSTS header -wholikes.us: could not connect to host +wholikes.us: did not receive HSTS header whoneedstobeprimaried.today: could not connect to host whoownsmyavailability.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] whoshotya.de: did not receive HSTS header whysuck.com: could not connect to host wiapply.com: could not connect to host +wiberg.nu: could not connect to host wibruje.pl: did not receive HSTS header wibuw.com: could not connect to host widdleguy.com: did not receive HSTS header @@ -17001,6 +18416,7 @@ wienerwichtelchallenge.at: did not receive HSTS header wieninternational.at: did not receive HSTS header wificafehosting.com: did not receive HSTS header wifimapa.cz: could not connect to host +wifimask.com: did not receive HSTS header wiiaam.com: could not connect to host wiiforum.no: did not receive HSTS header wiire.me: could not connect to host @@ -17012,7 +18428,6 @@ wildbee.org: could not connect to host wildbirds.dk: did not receive HSTS header wildcard.hu: could not connect to host wilddog.com: did not receive HSTS header -wildewood.ca: could not connect to host wilf1rst.com: could not connect to host wilfrid-calixte.fr: could not connect to host wilhelm-nathan.de: could not connect to host @@ -17020,13 +18435,16 @@ willcipriano.com: could not connect to host willeminfo.ch: did not receive HSTS header willemsjort.be: did not receive HSTS header william.gg: did not receive HSTS header -william.si: did not receive HSTS header +william.si: could not connect to host williamboundsltd.com: could not connect to host williamsapiens.com: could not connect to host +williamsflintlocks.com: did not receive HSTS header +williamsroom.com: did not receive HSTS header williamtm.design: could not connect to host -willkommen-fuerstenberg.de: could not connect to host +willkommen-fuerstenberg.de: did not receive HSTS header willosagiede.com: did not receive HSTS header wilsonovi.com: could not connect to host +wilsonvilleoregon.gov: could not connect to host winaes.com: did not receive HSTS header winclient.cn: could not connect to host windholz.us: could not connect to host @@ -17038,21 +18456,19 @@ windrunner.se: could not connect to host winds.cf: could not connect to host windwoodmedia.com: could not connect to host windwoodweb.com: could not connect to host -wine-importer.ru: did not receive HSTS header +wine-importer.ru: could not connect to host winebid.com: could not connect to host winecodeavocado.com: could not connect to host wineonthewall.com: max-age too low: 300 -winepress.org: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] wineworksonline.com: could not connect to host -winfield.me.uk: could not connect to host -winfieldchen.me: did not receive HSTS header +winfield.me.uk: did not receive HSTS header winged.io: did not receive HSTS header wingos.net: could not connect to host wingumd.net: could not connect to host winnersports.co: could not connect to host winpack.cf: could not connect to host winpack.eu.org: could not connect to host -winportal.cz: did not receive HSTS header +winportal.cz: could not connect to host winsec.nl: could not connect to host winshiplending.com: could not connect to host winsufi.biz: could not connect to host @@ -17061,13 +18477,13 @@ wipc.net: did not receive HSTS header wipply.com: could not connect to host wirbatz.org: did not receive HSTS header wirc.gr: could not connect to host -wiredcut.com: did not receive HSTS header -wireframesoftware.com: could not connect to host +wiredcut.com: could not connect to host wireless-emergency-stop.com: did not receive HSTS header wirelesswatch.com.au: could not connect to host -wiretrip.io: did not receive HSTS header +wiretrip.io: could not connect to host wirkaufendeinau.to: could not connect to host wisak.eu: could not connect to host +wisal.org: did not receive HSTS header wisdomize.me: could not connect to host wiseflat.com: did not receive HSTS header wiseloan.com: did not receive HSTS header @@ -17078,7 +18494,7 @@ witae.com: could not connect to host withgoogle.com: did not receive HSTS header (error ignored - included regardless) withlocals.com: did not receive HSTS header withmy.beer: could not connect to host -withoutacrystalball.com: did not receive HSTS header +withoutacrystalball.com: could not connect to host withustrading.com: did not receive HSTS header withyoutube.com: did not receive HSTS header (error ignored - included regardless) wittcher.com: could not connect to host @@ -17096,7 +18512,7 @@ wmawri.com: did not receive HSTS header wmcuk.net: did not receive HSTS header wmfinanz.com: could not connect to host wmoda.com.br: could not connect to host -wnmed.com.au: did not receive HSTS header +wnmed.com.au: could not connect to host wnmm.nl: could not connect to host wnnc.co.uk: could not connect to host woaiuhd.com: could not connect to host @@ -17104,8 +18520,10 @@ wobblylang.org: could not connect to host wochenentwicklung.com: did not receive HSTS header wochennummern.de: could not connect to host wod-stavby.cz: could not connect to host +wodboss.com: could not connect to host wodice.com: could not connect to host wohnungsbau-ludwigsburg.de: did not receive HSTS header +woi.vision: could not connect to host woima.fi: max-age too low: 604800 wokeai.net: could not connect to host woktoss.com: could not connect to host @@ -17113,7 +18531,6 @@ wolfemg.com: could not connect to host wolfenland.net: did not receive HSTS header wolfesden.com: could not connect to host wolfram.io: could not connect to host -wolfsden.cz: could not connect to host wolkenspeicher.org: could not connect to host wollekorb.de: could not connect to host womf.org: did not receive HSTS header @@ -17125,9 +18542,10 @@ wondershift.biz: did not receive HSTS header wondy.com: could not connect to host woodlandschurch.net: max-age too low: 43200 woodmafia.com.au: could not connect to host -woodworkertip.com: did not receive HSTS header -woomai.net: did not receive HSTS header +woodworkertip.com: could not connect to host +woomai.net: could not connect to host woomu.me: could not connect to host +wooplagaming.com: could not connect to host woording.com: could not connect to host wootton95.com: could not connect to host wooviet.com: could not connect to host @@ -17138,31 +18556,31 @@ wordplay.one: could not connect to host wordpress-test.site: could not connect to host wordpresspro.cl: could not connect to host wordsofamaster.com: could not connect to host -worf.in: could not connect to host work-and-jockel.de: did not receive HSTS header workemy.com: could not connect to host workfone.io: could not connect to host workissime.com: did not receive HSTS header workpermit.com.vn: could not connect to host +workplaces.online: did not receive HSTS header worksofwyoming.org: did not receive HSTS header workwithgo.com: could not connect to host world-education-association.org: could not connect to host worldchess.london: could not connect to host worldfree4.org: did not receive HSTS header worldlist.org: could not connect to host +worldofterra.net: 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 wormdisk.net: could not connect to host wormholevpn.net: could not connect to host worshapp.com: did not receive HSTS header -woshiluo.site: could not connect to host -wow-foederation.de: could not connect to host wow-travel.eu: could not connect to host wow202y5.com: did not receive HSTS header wowapi.org: could not connect to host wowhelp.it: could not connect to host wowinvasion.com: did not receive HSTS header +wp-bullet.com: did not receive HSTS header wp-fastsearch.de: could not connect to host wp-rescue.com.au: could not connect to host wp-stack.pro: could not connect to host @@ -17171,7 +18589,8 @@ wpblog.com.tw: could not connect to host wpcarer.pro: could not connect to host wpcheck.io: could not connect to host wpcontrol.se: could not connect to host -wpenhance.com: could not connect to host +wpdesigner.ir: did not receive HSTS header +wpdublin.com: could not connect to host wpfast.net: could not connect to host wpfortify.com: could not connect to host wpg-inc.com: did not receive HSTS header @@ -17190,6 +18609,7 @@ wpzhiku.com: did not receive HSTS header wql.zj.cn: did not receive HSTS header wrapit.hu: could not connect to host wrapitup.co.uk: did not receive HSTS header +wrara.org: could not connect to host wrbunderwriting.com: did not receive HSTS header wrfu.co.nz: did not receive HSTS header wriedts.de: did not receive HSTS header @@ -17209,24 +18629,32 @@ wsor.group: did not receive HSTS header wss.com.ve: could not connect to host wsscompany.com.ve: could not connect to host wssv.ch: could not connect to host -wstudio.ch: could not connect to host wsup.social: could not connect to host wtwk.com: did not receive HSTS header wubify.com: did not receive HSTS header -wubocong.com: could not connect to host +wubocong.com: did not receive HSTS header wubthecaptain.eu: could not connect to host wuchipc.com: could not connect to host wufupay.com: could not connect to host wuhengmin.com: could not connect to host wulpi.it: did not receive HSTS header wumai.cloud: could not connect to host +wumbo.cf: could not connect to host +wumbo.ga: could not connect to host +wumbo.gq: could not connect to host wumbo.kiwi: could not connect to host +wumbo.ml: could not connect to host +wumbo.tk: could not connect to host wundtherapie-schulung.de: could not connect to host wurzelzwerg.net: could not connect to host wusx.club: could not connect to host -wutianxian.com: did not receive HSTS header +wutianxian.com: could not connect to host wvr-law.de: did not receive HSTS header +wvv-8522.com: could not connect to host wvw698.com: max-age too low: 2592000 +wwbsb.xyz: could not connect to host +wwjd.dynu.net: could not connect to host +wwv-8522.com: could not connect to host www-001133.com: could not connect to host www-0385.com: could not connect to host www-1116.com: could not connect to host @@ -17234,28 +18662,19 @@ www-1117.com: could not connect to host www-38978.com: could not connect to host www-39988.com: did not receive HSTS header www-507.net: could not connect to host -www-62755.com: did not receive HSTS header +www-62755.com: could not connect to host www-66136.com: did not receive HSTS header -www-68277.com: could not connect to host www-746.com: could not connect to host +www-7570.com: did not receive HSTS header www-771122.com: did not receive HSTS header www-8003.com: did not receive HSTS header www-88599.com: did not receive HSTS header www-8887999.com: could not connect to host +www-9649.com: did not receive HSTS header www-9995.com: could not connect to host www-djbet.com: could not connect to host www-jinshavip.com: could not connect to host -www.amazon.ca: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.co.jp: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.co.uk: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.com.au: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.com.br: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.com.mx: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.fr: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.it: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] -www.amazon.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +www.captaintrain.com: did not receive HSTS header www.cueup.com: could not connect to host www.cyveillance.com: did not receive HSTS header www.developer.mydigipass.com: could not connect to host @@ -17280,16 +18699,18 @@ www.zenpayroll.com: did not receive HSTS header www3.info: could not connect to host www68277.com: could not connect to host wwww.is: could not connect to host +wwww.me.uk: did not receive HSTS header wxrlab.com: could not connect to host wxukang.cn: could not connect to host wxyz.buzz: could not connect to host -wxzm.sx: could not connect to host wy6.org: did not receive HSTS header wybmabiity.com: could not connect to host wygluszanie.eu: could not connect to host wyu.cc: could not connect to host wyzphoto.nl: did not receive HSTS header wyzwaniemilosci.com: could not connect to host +wzfetish.com.br: could not connect to host +wzrd.in: did not receive HSTS header x-pertservice.com: did not receive HSTS header x-power-detox.com: could not connect to host x-ripped-hd.com: could not connect to host @@ -17302,7 +18723,6 @@ x509.pub: could not connect to host x509.pw: could not connect to host x69.biz: could not connect to host x69x.net: could not connect to host -xanadu-golf.cz: did not receive HSTS header xanderweaver.com: did not receive HSTS header xandocs.com: could not connect to host xat.re: did not receive HSTS header @@ -17310,17 +18730,15 @@ xavier.is: could not connect to host xavierbarroso.com: did not receive HSTS header xbc.nz: could not connect to host xbind.io: could not connect to host -xboxdownloadthat.com: could not connect to host xchangeinfo.com: could not connect to host xchating.com: could not connect to host +xcler8.com: could not connect to host xcompany.one: could not connect to host xcoop.me: did not receive HSTS header xd.fi: did not receive HSTS header xd.gov: did not receive HSTS header xdd.io: could not connect to host xdty.org: could not connect to host -xecure.zone: could not connect to host -xecureit.com: could not connect to host xehoivn.vn: could not connect to host xellos.ga: could not connect to host xellos.ml: could not connect to host @@ -17328,12 +18746,12 @@ xenesisziarovky.sk: could not connect to host xenosphere.tk: could not connect to host xeonlab.com: could not connect to host xeonlab.de: could not connect to host -xerownia.eu: could not connect to host -xett.com: could not connect to host +xett.com: did not receive HSTS header xfive.de: could not connect to host xfrag-networks.com: did not receive HSTS header xg3n1us.de: did not receive HSTS header xgusto.com: did not receive HSTS header +xhadius.de: could not connect to host xia100.xyz: could not connect to host xiangqiushi.com: did not receive HSTS header xianguocy.com: could not connect to host @@ -17348,29 +18766,33 @@ xice.cf: could not connect to host xilegames.com: could not connect to host ximage.me: could not connect to host ximens.me: could not connect to host +xin-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +xin-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] xinbiji.cn: could not connect to host -xinex.cz: could not connect to host +xinex.cz: did not receive HSTS header +xing-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] xing.ml: could not connect to host xinghuokeji.xin: could not connect to host xingiahanvisa.net: did not receive HSTS header xinnixwebshop.be: did not receive HSTS header xiongx.cn: did not receive HSTS header xiqi.us: did not receive HSTS header -xirion.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +xirion.net: could not connect to host xisa.it: could not connect to host xivpn.com: could not connect to host xiyu.it: did not receive HSTS header xiyu.moe: did not receive HSTS header +xj8876.com: max-age too low: 2592000 xjoi.net: did not receive HSTS header -xlaff.com: could not connect to host +xlaff.com: did not receive HSTS header xlboo.com: could not connect to host xlfblog.com: did not receive HSTS header xlinar.com: could not connect to host xmerak.com: did not receive HSTS header xmiui.com: could not connect to host +xmlogin288.com: could not connect to host xmonk.org: did not receive HSTS header xmr.my: could not connect to host -xmv.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] xn-----8kcgbo2bmdgkdacthvjf.xn--p1ai: could not connect to host xn----7sbmucgqdbgwwc5e9b.xn--p1ai: could not connect to host xn--3lqp21gwna.cn: could not connect to host @@ -17394,6 +18816,7 @@ xn--80ablh1c.online: could not connect to host xn--80ac0aqlt.xn--p1ai: could not connect to host xn--80aocgsfei.xn--p1ai: could not connect to host xn--88j2fy28hbxmnnf9zlw5buzd.com: did not receive HSTS header +xn--8dry00a7se89ay98epsgxxq.com: did not receive HSTS header xn--8mr166hf6s.xn--fiqs8s: could not connect to host xn--98jm6m.jp: could not connect to host xn--9pr52k0p5a.com: did not receive HSTS header @@ -17403,12 +18826,16 @@ xn--cckvb1cwa0c5br5e2d2711k.net: could not connect to host xn--datenrettung-mnchen-jbc.com: did not receive HSTS header xn--dckya4a0bya6x.com: could not connect to host xn--dckya4a0bya6x.jp: could not connect to host +xn--die-zahnrzte-ncb.de: did not receive HSTS header xn--dk8haaa.ws: could not connect to host +xn--dmontaa-9za.com: could not connect to host xn--e--0g4aiy1b8rmfg3o.jp: could not connect to host xn--e--4h4axau6ld4lna0g.com: could not connect to host xn--e--ig4a4c3f6bvc5et632i.com: could not connect to host xn--e--k83a5h244w54gttk.xyz: could not connect to host +xn--ehq13kgw4e.ml: could not connect to host xn--ekr87w7se89ay98ezcs.biz: did not receive HSTS header +xn--elsignificadodesoar-c4b.com: did not receive HSTS header xn--gfrrli-yxa.ch: could not connect to host xn--gmq92k.nagoya: could not connect to host xn--grnderlehrstuhl-0vb.de: could not connect to host @@ -17417,6 +18844,7 @@ xn--hwt895j.xn--kpry57d: could not connect to host xn--internetlnen-1cb.com: could not connect to host xn--jp-6l5cs1yf3ivjsglphyv.net: could not connect to host xn--jywq5uqwqxhd2onsij.jp: did not receive HSTS header +xn--keditr-0xa.biz: 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 @@ -17433,6 +18861,7 @@ xn--mhsv04avtt1xi.com: could not connect to host 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--nf1a578axkh.xn--fiqs8s: did not receive HSTS header xn--o77hka.ga: could not connect to host xn--p8jskj.jp: could not connect to host xn--pck4e3a2ex597b4ml.xyz: did not receive HSTS header @@ -17440,12 +18869,14 @@ xn--pckqk6xk43lunk.net: could not connect to host xn--qckqc0nxbyc4cdb4527err7c.biz: did not receive HSTS header xn--qckyd1cu698a35zarib.xyz: could not connect to host xn--r77hya.ga: could not connect to host +xn--rlcus7b3d.xn--xkc2dl3a5ee0h: could not connect to host xn--rt-cja.eu: could not connect to host -xn--sdkwa9azd389v01ya.com: did not receive HSTS header +xn--sdkwa9azd389v01ya.com: 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--trdler-xxa.xyz: could not connect to host xn--u9jy16ncfao19mo8i.nagoya: could not connect to host xn--uist1idrju3i.jp: did not receive HSTS header xn--uort9oqoaj00bv04d.biz: did not receive HSTS header @@ -17454,18 +18885,18 @@ xn--vck8crc010pu14e.biz: could not connect to host xn--vck8crc655y34ioha.net: could not connect to host xn--vck8crcu789ajtaj92eura.xyz: could not connect to host xn--w22a.jp: could not connect to host -xn--werner-schffer-fib.de: did not receive HSTS header -xn--wmq.jp: could not connect to host +xn--werner-schffer-fib.de: could not connect to host +xn--wmq.jp: did not receive HSTS header xn--xdtx3pfzbiw3ar8e7yedqrhui.com: could not connect to host xn--xz1a.jp: could not connect to host xn--y8j2eb5631a4qf5n0h.com: could not connect to host xn--y8j5gq14rbdd.net: did not receive HSTS header +xn--y8ja6lb.xn--q9jyb4c: could not connect to host xn--yj8h0m.ws: could not connect to host xn--ykrp42k.com: could not connect to host xn--yoamomisuasbcn-ynb.com: could not connect to host xn--zck9a4b352yuua.jp: did not receive HSTS header xng.io: did not receive HSTS header -xnu.kr: could not connect to host xobox.me: could not connect to host xoda.pw: could not connect to host xoffy.com: did not receive HSTS header @@ -17473,6 +18904,7 @@ xom.party: could not connect to host xombra.com: could not connect to host xor-a.net: could not connect to host xotika.tv: could not connect to host +xpbytes.com: did not receive HSTS header xpenology-fr.net: could not connect to host xperiacodes.com: could not connect to host xpi.fr: could not connect to host @@ -17481,28 +18913,28 @@ xpj.sx: could not connect to host xpjcunkuan.com: could not connect to host xpressprint.com.br: max-age too low: 90 xpwn.cz: did not receive HSTS header +xq55.com: did not receive HSTS header xqin.net: could not connect to host xroot.org: did not receive HSTS header xrp.pw: could not connect to host xscancun.com: could not connect to host xscapers.com: did not receive HSTS header -xserownia.com.pl: could not connect to host -xserownia.eu: could not connect to host -xserownia.pl: could not connect to host xsstime.nl: could not connect to host xsyds.cn: did not receive HSTS header xt.om: did not receive HSTS header xtenz.xyz: could not connect to host xtom.email: could not connect to host -xtream-hosting.com: could not connect to host +xtom.io: could not connect to host +xtream-hosting.com: did not receive HSTS header xtream-hosting.de: could not connect to host xtream-hosting.eu: could not connect to host xtreamhosting.eu: could not connect to host xtremegaming.it: could not connect to host xtrim.ru: did not receive HSTS header xtzone.be: could not connect to host +xuan-li88.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +xuan-li88.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] xuanmeishe.top: could not connect to host -xuc.me: did not receive HSTS header xuexb.com: did not receive HSTS header xujan.com: could not connect to host xuntaosms.com: could not connect to host @@ -17520,6 +18952,7 @@ xy7272.com: could not connect to host xy7373.com: could not connect to host xyndrac.net: max-age too low: 2592000 xynex.us: could not connect to host +xyngular-health.com: did not receive HSTS header xynta.ch: could not connect to host xyyp.mn: could not connect to host xzoneadventure.com: did not receive HSTS header @@ -17539,23 +18972,30 @@ yamamo10.com: could not connect to host yameveo.com: did not receive HSTS header yannikhenke.de: could not connect to host yanwh.xyz: did not receive HSTS header +yao-in.com: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +yao-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] yaoidreams.com: could not connect to host yaporn.tv: could not connect to host -yarchives.jp: max-age too low: 0 +yarchives.jp: could not connect to host yard-fu.com: could not connect to host yardbird.us: could not connect to host yarnhookup.com: did not receive HSTS header +yarogneva.ru: could not connect to host yasinaydin.net: did not receive HSTS header yasutomonodokoiko.com: did not receive HSTS header yaucy.win: could not connect to host yawen.tw: did not receive HSTS header +yawnbox.com: did not receive HSTS header +yayart.club: could not connect to host ybscareers.co.uk: did not receive HSTS header ycaaz.com: did not receive HSTS header ycc.wtf: could not connect to host +ycherbonnel.fr: could not connect to host ycm2.wtf: could not connect to host ydy.jp: could not connect to host yello.website: could not connect to host yellowcar.website: could not connect to host +yellowfly.co.uk: did not receive HSTS header yemalu.com: could not connect to host yemekbaz.az: could not connect to host yennhi.co: could not connect to host @@ -17567,16 +19007,21 @@ yenniferallulli.nl: could not connect to host yepbitcoin.com: could not connect to host yesdevnull.net: did not receive HSTS header yesfone.com.br: could not connect to host +yeshu.org: could not connect to host yestees.com: did not receive HSTS header yetcore.io: could not connect to host yetishirt.com: could not connect to host yffengshi.ml: could not connect to host ygcdyf.com: did not receive HSTS header yggdar.ga: could not connect to host -yh35.net: max-age too low: 86400 +yh35.net: could not connect to host yhori.xyz: could not connect to host +yhwj.top: could not connect to host yibaoweilong.top: could not connect to host yibin0831.com: could not connect to host +yicknam.my: could not connect to host +yiffy.tips: did not receive HSTS header +yiffy.zone: did not receive HSTS header yikzu.cn: could not connect to host yimgo.fr: could not connect to host yin.roma.it: did not receive HSTS header @@ -17587,23 +19032,27 @@ yinga.ga: did not receive HSTS header yingsuo.ltd: could not connect to host yingyj.com: could not connect to host yinhe12.net: did not receive HSTS header +yipingguo.com: could not connect to host yippie.nl: could not connect to host yizhu.com: could not connect to host -yjsoft.me: could not connect to host +yjsw.sh.cn: could not connect to host +ykhut.com: could not connect to host +ylde.de: could not connect to host ylilauta.org: could not connect to host ylk.io: could not connect to host +ylwz.cc: did not receive HSTS header ynode.co: did not receive HSTS header ynsn.nl: could not connect to host yntongji.com: could not connect to host yob.vn: could not connect to host yobst.tk: could not connect to host +yocchan1513.net: did not receive HSTS header yoga-prive.de: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] yoga.is-an-engineer.com: could not connect to host yogatrainingrishikesh.com: could not connect to host yogeshbeniwal.com: did not receive HSTS header yogoeasy.com: did not receive HSTS header yohanesmario.com: did not receive HSTS header -yoimise.net: did not receive HSTS header yoiyado.info: did not receive HSTS header yokeepo.com: could not connect to host yolo-csgo.com: could not connect to host @@ -17616,23 +19065,28 @@ yopers.com: did not receive HSTS header yorkshireterrier.com.br: could not connect to host yorname.ml: did not receive HSTS header yoru.me: could not connect to host +yosheenetwork.fr: could not connect to host +yotilab.com: could not connect to host yotilabs.com: could not connect to host youcaitian.com: did not receive HSTS header youcancraft.de: could not connect to host -youcanfuckoff.xyz: could not connect to host +youcanmakeit.at: could not connect to host youcontrol.ru: could not connect to host youdowell.com: did not receive HSTS header youfencun.com: did not receive HSTS header +yougot.pw: could not connect to host youjizz.bz: could not connect to host youlend.com: did not receive HSTS header youlog.net: could not connect to host -youmiracle.com: could not connect to host youmonit.me: could not connect to host youngandunited.nl: did not receive HSTS header younl.net: could not connect to host youon.tokyo: did not receive HSTS header yourbapp.ch: could not connect to host +yourfriendlytech.com: could not connect to host +yourgadget.ro: could not connect to host yourgame.co.il: did not receive HSTS header +yourhair.net: max-age too low: 0 youri.me: could not connect to host yourlovesong.com.mx: could not connect to host yourname.xyz: could not connect to host @@ -17644,7 +19098,7 @@ yourtrainingsolutions.com: did not receive HSTS header youruseragent.info: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] yourznc.com: could not connect to host yousite.by: could not connect to host -youth2009.org: did not receive HSTS header +youth2009.org: max-age too low: 2592000 youtube: could not connect to host youtubeviews.ml: could not connect to host youwatchporn.com: could not connect to host @@ -17652,6 +19106,7 @@ youyoulemon.com: could not connect to host ypcs.fi: did not receive HSTS header ypiresia.fr: could not connect to host yryz.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +yspeo.biz: did not receive HSTS header yspeo.com: max-age too low: 2592000 ysx.me.uk: did not receive HSTS header ytb.zone: did not receive HSTS header @@ -17659,14 +19114,16 @@ ytbmp3.com: did not receive HSTS header ytbmp4.com: did not receive HSTS header ytcuber.xyz: could not connect to host ythyth.com: max-age too low: 2592000 -ytpak.com: could not connect to host +ytpak.com: did not receive HSTS header ytvwld.de: did not receive HSTS header yu7.jp: did not receive HSTS header yuanbenlian.com: did not receive HSTS header yudan.com.br: could not connect to host yude.ml: could not connect to host +yue2.net: could not connect to host yuema.net.cn: could not connect to host yufan.me: did not receive HSTS header +yugasun.com: could not connect to host yugege.cf: could not connect to host yuhen.ru: did not receive HSTS header yui.cat: did not receive HSTS header @@ -17691,7 +19148,8 @@ yuntama.xyz: could not connect to host yunzhan.io: could not connect to host yunzhu.org: could not connect to host yuppi.tv: max-age too low: 43200 -yuqi.me: could not connect to host +yuqi.me: did not receive HSTS header +yurimoens.be: could not connect to host yurinet.org: could not connect to host yuriykuzmin.com: did not receive HSTS header yutabon.com: could not connect to host @@ -17701,24 +19159,28 @@ yux.fr: could not connect to host yux.io: did not receive HSTS header yuxingxin.com: did not receive HSTS header yuzu.tk: did not receive HSTS header +yvetteerasmus.com: max-age too low: 0 ywei.org: could not connect to host ywyz.tech: could not connect to host yya.bid: could not connect to host yya.men: could not connect to host yyrss.com: could not connect to host z-coder.com: could not connect to host +z-to-a.com: did not receive HSTS header z0rro.net: could not connect to host z33.ch: did not receive HSTS header z33.co: could not connect to host z3liff.com: could not connect to host z3liff.net: could not connect to host -zabszk.net: could not connect to host +zaalleatherwear.nl: did not receive HSTS header +zabavno.mk: max-age too low: 0 zacharopoulos.me: could not connect to host zachbolinger.com: could not connect to host zachpeters.org: did not receive HSTS header zadieheimlich.com: did not receive HSTS header zadroweb.com: did not receive HSTS header zaem.tv: could not connect to host +zagluszaczgps.pl: could not connect to host zahnrechner-staging.azurewebsites.net: could not connect to host zahyantechnologies.com: did not receive HSTS header zaidan.de: did not receive HSTS header @@ -17737,20 +19199,26 @@ zaoext.com: could not connect to host zaoshanghao-dajia.rhcloud.com: could not connect to host zap.yt: could not connect to host zapatoshechoamano.pe: did not receive HSTS header -zapmaster14.com: could not connect to host +zappos.com: did not receive HSTS header +zaptan.net: could not connect to host +zaptan.org: could not connect to host +zaptan.us: could not connect to host zargaripour.com: did not receive HSTS header zarooba.com: could not connect to host zavca.com: did not receive HSTS header zbasenem.pl: did not receive HSTS header zbchen.com: could not connect to host +zberger.com: could not connect to host +zbetcheck.in: could not connect to host zbigniewgalucki.eu: did not receive HSTS header zbp.at: did not receive HSTS header zby.io: could not connect to host +zdravesteny.cz: could not connect to host zdravotnickasluzba.eu: could not connect to host -zdrowiepaleo.pl: did not receive HSTS header +zdrowiepaleo.pl: could not connect to host zdx.ch: max-age too low: 0 zeb.fun: could not connect to host -zebibyte.cn: did not receive HSTS header +zebibyte.cn: could not connect to host zebrababy.cn: could not connect to host zebry.nl: did not receive HSTS header zecrypto.com: could not connect to host @@ -17759,6 +19227,7 @@ zefiris.org: did not receive HSTS header zefu.ca: could not connect to host zehdenick-bleibt-bunt.de: could not connect to host zehntner.ch: max-age too low: 3600 +zeitoununiversity.org: could not connect to host zeitzer-turngala.de: could not connect to host zelfmoord.ga: could not connect to host zelfstandigemakelaars.net: could not connect to host @@ -17766,6 +19235,7 @@ zellari.ru: did not receive HSTS header zeloz.xyz: could not connect to host zenfusion.fr: could not connect to host zenhaiku.com: could not connect to host +zenics.co.uk: did not receive HSTS header zeno-system.com: did not receive HSTS header zenpayroll.com: did not receive HSTS header zentience.dk: did not receive HSTS header @@ -17777,6 +19247,7 @@ zentralwolke.de: did not receive HSTS header zenvite.com: could not connect to host zenwears.com: could not connect to host zenycosta.com: could not connect to host +zeparadox.com: could not connect to host zepect.com: did not receive HSTS header zera.com.au: could not connect to host zerekin.net: max-age too low: 86400 @@ -17788,6 +19259,7 @@ zerofox.gq: could not connect to host zeroling.com: could not connect to host zeroml.ml: could not connect to host zerosource.net: could not connect to host +zerowastesavvy.com: could not connect to host zerowastesonoma.gov: could not connect to host zerudi.com: did not receive HSTS header zetadisseny.es: did not receive HSTS header @@ -17803,21 +19275,20 @@ zh1.li: could not connect to host zhang.wtf: could not connect to host zhangcheng.org: did not receive HSTS header zhangruilin.com: did not receive HSTS header -zhangsir.net: did not receive HSTS header +zhangsir.net: could not connect to host zhaochen.xyz: could not connect to host zhaojin97.cn: could not connect to host zhendingresources.com: did not receive HSTS header zhengouwu.com: could not connect to host zhenmeish.com: could not connect to host +zhenyan.org: could not connect to host zhh.in: could not connect to host zhihua-lai.com: did not receive HSTS header zhiin.net: could not connect to host zhikin.com: could not connect to host zhimajk.com: could not connect to host zhiwei.me: did not receive HSTS header -zhome.info: could not connect to host zhoujiashu.com: could not connect to host -zhuji.com: could not connect to host zhuji.com.cn: could not connect to host zhuji5.com: could not connect to host zhujicaihong.com: could not connect to host @@ -17826,28 +19297,30 @@ zi0r.com: did not receive HSTS header zian.online: could not connect to host zicklam.com: could not connect to host zigcore.com.br: could not connect to host -zii.bz: could not connect to host zikirakhirzaman.com: could not connect to host zinc-x.com: did not receive HSTS header zinenapse.info: could not connect to host -zinniamay.com: could not connect to host zippy-download.com: could not connect to host zippy-download.de: could not connect to host zirtue.io: could not connect to host zitrone44.de: did not receive HSTS header zivagold.com: did not receive HSTS header zivy-ruzenec.cz: could not connect to host -zivyruzenec.cz: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] zixo.sk: could not connect to host ziyuanabc.xyz: could not connect to host ziz.exchange: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] zizoo.com: did not receive HSTS header +zju.tv: could not connect to host zjubtv.com: could not connect to host zjutv.com: could not connect to host +zjyifa.cn: could not connect to host zkillboard.com: did not receive HSTS header zking.ga: could not connect to host +zl0iu.com: did not receive HSTS header +zl8862.com: could not connect to host zlc1994.com: did not receive HSTS header zlcp.com: could not connect to host +zmala.com: did not receive HSTS header zmsastro.co.za: could not connect to host zmscable.com: did not receive HSTS header zmy.im: could not connect to host @@ -17860,6 +19333,7 @@ zohar.link: could not connect to host zohar.shop: could not connect to host zoi.jp: could not connect to host zokster.net: could not connect to host +zolokar.xyz: could not connect to host zolotoy-standart.com.ua: did not receive HSTS header zombiesecured.com: could not connect to host zomiac.pp.ua: could not connect to host @@ -17877,7 +19351,6 @@ zoomingin.net: max-age too low: 5184000 zoommailing.com: did not receive HSTS header zoorigin.com: did not receive HSTS header zooxdata.com: could not connect to host -zorig.ch: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] zorki.nl: did not receive HSTS header zortium.report: could not connect to host zorz.info: could not connect to host @@ -17886,7 +19359,7 @@ zpy.fun: could not connect to host zq789.com: could not connect to host zqhong.com: could not connect to host zqjs.tk: could not connect to host -zqwqz.com: could not connect to host +zqstudio.top: could not connect to host zrhdwz.cn: could not connect to host zrkr.de: could not connect to host zrn.in: did not receive HSTS header @@ -17894,12 +19367,14 @@ ztan.tk: could not connect to host ztcaoll222.cn: could not connect to host ztytian.com: could not connect to host zuan-in.com: could not connect to host -zubro.net: could not connect to host +zuan-in.net: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] +zubora.co: could not connect to host zuckerfloh.de: did not receive HSTS header zudomc.me: could not connect to host zuehlcke.de: could not connect to host zukix.com: could not connect to host zulu7.com: did not receive HSTS header +zunda.cafe: could not connect to host zunftmarke.de: did not receive HSTS header zurickrelogios.com.br: did not receive HSTS header zutsu-raku.com: did not receive HSTS header @@ -17907,20 +19382,22 @@ zuviel.space: could not connect to host zvejonys.lt: did not receive HSTS header zvncloud.com: did not receive HSTS header zvz.im: could not connect to host +zwalcz-cellulit.com: did not receive HSTS header zwembadheeten.nl: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] zx1168.com: could not connect to host zx2268.com: could not connect to host zxavier.com: did not receive HSTS header -zxc.science: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsISiteSecurityService.processHeader]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /home/trava90/REPO/UXP/security/manager/tools/getHSTSPreloadList.js :: processStsHeader :: line 131" data: no] zxity.co.uk: could not connect to host zxity.ltd: could not connect to host zxity.uk: could not connect to host zyf.pw: could not connect to host +zyger.co.za: did not receive HSTS header zymbit.com: did not receive HSTS header zync.ca: did not receive HSTS header zypgr.com: could not connect to host zypr.pw: could not connect to host zyso.org: could not connect to host +zz295.com: did not receive HSTS header zzb510.com: could not connect to host zzb6688.com: could not connect to host zzb8899.com: could not connect to host diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index c18b16599..209beded5 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include <stdint.h> -const PRTime gPreloadListExpirationTime = INT64_C(1550274566598000); +const PRTime gPreloadListExpirationTime = INT64_C(1554207118864000); class nsSTSPreload { @@ -18,22 +18,8 @@ class nsSTSPreload }; static const nsSTSPreload kSTSPreloadList[] = { - { "00100010.net", true }, { "0010100.net", true }, - { "00120012.net", true }, - { "00130013.net", true }, - { "00140014.net", true }, - { "00150015.net", true }, - { "00160016.net", true }, - { "00180018.net", true }, - { "00190019.net", true }, - { "00330033.net", true }, - { "00440044.net", true }, - { "00550055.net", true }, - { "00660066.net", true }, - { "00770077.net", true }, { "0086286.com", true }, - { "00990099.net", true }, { "00dani.me", true }, { "00f.net", true }, { "0100dev.com", false }, @@ -42,7 +28,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "01110000011100110111001001100111.com", true }, { "01electronica.com.ar", true }, { "01seguridad.com.ar", true }, - { "01smh.com", true }, { "022367.com", true }, { "022379.com", true }, { "022391.com", true }, @@ -57,11 +42,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "02327.net", true }, { "02375.net", true }, { "023sec.com", true }, - { "02607.com", true }, { "026122.com", true }, { "02638.net", true }, - { "02smh.com", true }, - { "03170317.com", true }, { "0391315.com", true }, { "046569.com", true }, { "050.ca", true }, @@ -71,7 +53,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0573wk.com", true }, { "06091994.xyz", true }, { "06se.com", true }, - { "07733.win", true }, { "0788yh.com", true }, { "0792112.com", true }, { "0809yh.com", true }, @@ -103,7 +84,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "083965.com", true }, { "083967.com", true }, { "08detaxe.fr", true }, - { "09115.com", true }, { "0916app.com", true }, { "09892.net", true }, { "0au.de", true }, @@ -124,6 +104,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "0x0.li", true }, { "0x00ff00ff.com", true }, { "0x17.de", true }, + { "0x378.net", true }, { "0x48.pw", true }, { "0x52.net", true }, { "0x7d.com", true }, @@ -144,6 +125,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1000minds.com", true }, { "1000serien.com", true }, { "1001carats.fr", true }, + { "1001firms.com", true }, { "1001kartini.com", true }, { "1001kerstpakketten.com", false }, { "1001mv.com", true }, @@ -167,25 +149,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "10439.net", true }, { "10453.net", true }, { "10495.net", true }, - { "1066.io", true }, { "10774.net", true }, { "10840.net", true }, - { "10gb.io", true }, { "10hz.de", true }, { "10og.de", true }, { "10ppm.com", true }, - { "10xiuxiu.com", true }, - { "110110110.net", true }, - { "112112112.net", true }, { "112app.nl", true }, { "112hz.com", true }, - { "113113113.net", true }, { "114514ss.com", true }, { "1177107.com", true }, - { "118118118.net", true }, { "11dzon.com", true }, { "11loc.de", true }, - { "11scc.com", true }, { "11thstreetcoffee.com", true }, { "11urss.com", true }, { "1212873467.rsc.cdn77.org", true }, @@ -206,21 +180,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "123plons.nl", true }, { "123roulement.be", true }, { "123roulement.com", true }, - { "123test.com", true }, - { "123test.nl", true }, { "123writings.com", true }, { "124133.com", true }, { "124633.com", true }, { "125m125.de", true }, - { "1288366.com", true }, { "1288fc.com", true }, { "12photos.eu", true }, { "12thmanrising.com", true }, + { "12train.com", true }, { "12vpn.net", true }, { "130.ua", true }, { "132kv.ch", true }, { "1359826938.rsc.cdn77.org", true }, - { "1395kj.com", true }, { "13th-dover.uk", true }, { "143533.com", true }, { "143633.com", true }, @@ -234,16 +205,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1464424382.rsc.cdn77.org", true }, { "146533.com", true }, { "146733.com", true }, - { "1481481.com", true }, - { "1481481.net", true }, - { "1481482.com", true }, - { "1481482.net", true }, - { "1481483.com", true }, - { "1481483.net", true }, - { "1481485.com", true }, - { "1481485.net", true }, - { "1481486.com", true }, - { "1481486.net", true }, { "149433.com", true }, { "149733.com", true }, { "14it.de", true }, @@ -251,45 +212,45 @@ static const nsSTSPreload kSTSPreloadList[] = { { "15-10.com", true }, { "1511774230.rsc.cdn77.org", true }, { "152433.com", true }, + { "1527web.com", true }, { "154233.com", true }, { "154633.com", true }, { "154933.com", true }, { "156433.com", true }, { "1590284872.rsc.cdn77.org", true }, + { "159cp.com", true }, { "1600esplanade.com", true }, { "160887.com", true }, { "1644091933.rsc.cdn77.org", true }, { "1661237.com", true }, - { "166166.com", true }, - { "168bo9.com", true }, - { "168bo9.net", true }, - { "16book.org", true }, { "1750studios.com", false }, + { "1768calc.com.au", true }, { "1811559.com", true }, { "1844329061.rsc.cdn77.org", true }, { "1876996.com", true }, { "188da.com", true }, { "188dv.com", true }, { "1895media.com", true }, - { "189dv.com", true }, { "189fc.com", true }, { "18celebration.com", true }, { "18celebration.org", true }, { "18f.gov", true }, { "18f.gsa.gov", false }, + { "1911trust.com", true }, { "192168ll.repair", true }, { "192433.com", true }, { "1972969867.rsc.cdn77.org", true }, { "1981612088.rsc.cdn77.org", true }, + { "19area.cn", true }, { "19hundert84.de", true }, { "1a-diamantscheiben.de", true }, { "1a-vermessung.at", true }, { "1a-werkstattgeraete.de", true }, { "1ab-machinery.com", true }, - { "1aim.com", true }, { "1c-power.ru", true }, { "1cover.co.nz", true }, { "1cover.com.au", true }, + { "1cswd.com", true }, { "1e9.nl", true }, { "1f123.net", true }, { "1fach-digital.de", true }, @@ -301,7 +262,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1kmi.co", true }, { "1ll.uk", true }, { "1lord1faith.com", true }, - { "1m.duckdns.org", true }, { "1montre.fr", true }, { "1morebounce.co.uk", true }, { "1nfr.com", false }, @@ -314,6 +274,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1password.ca", true }, { "1password.com", true }, { "1password.eu", true }, + { "1pw.ca", true }, { "1px.tv", true }, { "1r.is", true }, { "1rs.nl", true }, @@ -327,21 +288,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "1stforfun.co.uk", true }, { "1stpeninsulabouncers.co.uk", true }, { "1volcano.ru", true }, + { "1way.faith", true }, { "1whw.co.uk", true }, { "1wirelog.de", true }, { "1wl.uk", true }, { "2.wtf", true }, { "200.network", true }, { "2012.ovh", true }, - { "2048-spiel.de", true }, + { "20188088.com", true }, { "20at.com", true }, { "20denier.com", true }, { "215dy.net", true }, { "21sthammersmith.org.uk", true }, + { "21stnc.us", true }, { "21x9.org", true }, + { "222001.com", true }, { "2222yh.com", true }, - { "22digital.agency", true }, - { "22scc.com", true }, + { "22vetter.st", true }, { "230beats.com", true }, { "23333.link", true }, { "2333666.xyz", true }, @@ -353,6 +316,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "233hugo.com", true }, { "233ss.net", true }, { "233vps.com", true }, + { "233yes.com", true }, { "24-7.jp", true }, { "245meadowvistaway.com", true }, { "246060.ru", true }, @@ -366,6 +330,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "24hourlocksmithbaltimore.com", true }, { "24hourlocksmithdallastx.com", true }, { "24hourlocksmithdetroit.com", true }, + { "24hourlocksmithshouston.com", true }, { "24hoursanantoniolocksmiths.com", true }, { "24hourscienceprojects.com", true }, { "24ip.com", true }, @@ -374,26 +339,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "24timeravis.dk", true }, { "24zpravy.cz", true }, { "256pages.com", false }, - { "258da.com", true }, { "25reinyan25.net", true }, { "2600edinburgh.org", true }, { "2600hq.com", true }, { "260887.com", true }, { "263.info", true }, + { "2718282.net", true }, { "28-industries.com", true }, { "281180.de", true }, { "2858958.com", true }, - { "288da.com", true }, + { "286.com", true }, { "28peaks.com", true }, { "28spots.net", true }, { "291167.xyz", true }, { "2912.nl", true }, { "2948.ca", true }, { "297computers.com", true }, - { "298da.com", true }, { "2991236.com", true }, { "2au.ru", true }, - { "2bad2c0.de", true }, { "2bas.nl", true }, { "2bcompany.ch", true }, { "2bis10.de", true }, @@ -409,14 +372,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "2chan.jp", true }, { "2cv-fahrer.de", true }, { "2fm.ie", true }, + { "2fm.radio", true }, { "2fraud.pro", true }, { "2g1s.net", true }, + { "2gen.com", true }, { "2h-nagoya.org", true }, { "2heartsbookings.co.uk", true }, { "2hypeenterprises.com", true }, { "2kgwf.fi", true }, { "2krueger.de", true }, - { "2li.ch", true }, { "2manydots.nl", true }, { "2mb.solutions", true }, { "2mir.com", true }, @@ -424,6 +388,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "2nerds1bit.com", true }, { "2nics.net", true }, { "2pay.fr", true }, + { "2programmers.net", true }, { "2rsc.com", true }, { "2rsc.net", true }, { "2stv.net", true }, @@ -476,8 +441,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "33445222.com", true }, { "33445333.com", true }, { "33445444.com", true }, - { "33836.com", true }, - { "33scc.com", true }, + { "33jiasu.com", true }, { "340422.com", true }, { "340622.com", true }, { "340922.com", true }, @@ -571,6 +535,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "3circlefunding.ch", true }, { "3countiescastlehire.co.uk", true }, { "3cs.ch", true }, + { "3d-fotoservice.de", true }, + { "3de5.nl", true }, { "3deeplearner.com", true }, { "3djuegos.com", true }, { "3dmedium.de", true }, @@ -580,9 +546,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "3drenaline.com", true }, { "3haeuserprojekt.org", true }, { "3haueserprojekt.org", true }, - { "3hl0.net", true }, - { "3ik.us", true }, - { "3james.com", true }, { "3logic.ru", true }, { "3lot.ru", true }, { "3n5b.com", true }, @@ -627,15 +590,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "41studio.com", true }, { "41where.com", true }, { "420java.com", true }, + { "42ch.com", true }, + { "42day.info", true }, { "439050.com", true }, { "440887.com", true }, + { "441jj.com", false }, { "442887.com", true }, { "443887.com", true }, { "4444yh.com", true }, { "444887.com", true }, { "445887.com", true }, - { "448da.com", true }, - { "44scc.com", true }, + { "44sec.com", true }, { "451.ooo", true }, { "4553s.com", true }, { "4553vip.com", true }, @@ -645,12 +610,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "4736666.com", true }, { "4756666.com", true }, { "4786666.com", true }, - { "47essays.com", true }, { "491mhz.net", true }, { "49889.com", true }, { "49dollaridahoregisteredagent.com", true }, { "4c-haircare.com", true }, - { "4decor.org", true }, { "4everproxy.com", true }, { "4eyes.ch", true }, { "4fit.ro", true }, @@ -687,7 +650,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "500h500.com", true }, { "500i500.com", true }, { "500j500.com", true }, - { "500k.nl", true }, { "500k500.com", true }, { "500l500.com", true }, { "500m500.com", true }, @@ -709,10 +671,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "504922.com", true }, { "506422.com", true }, { "506pay.com", true }, - { "508088.com", true }, { "50lakeshore.com", true }, { "50north.de", true }, - { "50plusnet.nl", true }, { "514122.com", true }, { "514522.com", true }, { "514622.com", true }, @@ -722,9 +682,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "51877.net", true }, { "519422.com", true }, { "51acg.eu.org", true }, - { "51tiaojiu.com", true }, - { "5214889.com", true }, - { "5214889.net", true }, { "524022.com", true }, { "524622.com", true }, { "524922.com", true }, @@ -733,13 +690,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "52kb365.com", true }, { "52ncp.net", true }, { "52sykb.com", true }, - { "5310899.com", true }, - { "5310899.net", true }, { "531422.com", true }, { "534122.com", true }, { "534622.com", true }, { "534922.com", true }, - { "5364.com", true }, { "536422.com", true }, { "5364b.com", true }, { "5364c.com", true }, @@ -760,23 +714,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "55639.com", true }, { "55797.com", true }, { "558da.com", true }, - { "55scc.com", true }, + { "566380.com", true }, + { "575380.com", true }, { "576422.com", true }, + { "578380.com", true }, { "579422.com", true }, - { "57he.com", true }, { "57wilkie.net", true }, { "583422.com", true }, + { "585380.com", true }, { "585422.com", true }, { "586422.com", true }, { "588da.com", true }, + { "591380.com", true }, { "591422.com", true }, + { "592380.com", true }, { "592422.com", true }, { "5930593.com", true }, + { "593380.com", true }, { "594022.com", true }, { "594622.com", true }, { "595422.com", true }, { "596422.com", true }, - { "598598598.net", true }, + { "598380.com", true }, { "5986fc.com", true }, { "5997891.com", true }, { "5apps.com", true }, @@ -789,8 +748,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "5gb.space", true }, { "5kraceforals.com", true }, { "5percentperweek.com", true }, - { "5starbouncycastlehire.co.uk", true }, - { "5w5.la", true }, + { "5thchichesterscouts.org.uk", true }, { "5y.fi", true }, { "602422.com", true }, { "604122.com", true }, @@ -811,6 +769,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "624322.com", true }, { "624522.com", true }, { "624922.com", true }, + { "626380.com", true }, { "626422.com", true }, { "630422.com", true }, { "631422.com", true }, @@ -855,7 +814,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "649622.com", true }, { "649722.com", true }, { "649822.com", true }, - { "64bitservers.net", false }, { "651422.com", true }, { "652422.com", true }, { "6541166.com", true }, @@ -873,7 +831,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "6548877.com", true }, { "656088.com", true }, { "659422.com", true }, - { "65d88.com", true }, { "66136.com", true }, { "6616fc.com", true }, { "6633445.com", true }, @@ -883,8 +840,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "666668722.com", true }, { "6666yh.com", true }, { "666omg.com", true }, - { "6677.us", true }, - { "668da.com", true }, + { "66b.com", true }, { "66bwf.com", true }, { "670422.com", true }, { "671422.com", true }, @@ -892,7 +848,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "673422.com", true }, { "676422.com", true }, { "679422.com", true }, + { "680226.com", true }, { "680422.com", true }, + { "68277.me", true }, { "686848.com", true }, { "690422.com", true }, { "691422.com", true }, @@ -903,14 +861,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "694922.com", true }, { "6969.us", true }, { "698da.com", true }, + { "69928.com", true }, { "6997896.com", true }, { "69butterfly.com", true }, { "69fps.gg", true }, { "69wasted.net", true }, + { "6ird.com", true }, { "6lo.zgora.pl", true }, { "6pm.com", true }, { "6t-montjoye.org", true }, - { "6w6.la", true }, { "700.az", true }, { "704233.com", true }, { "7045.com", true }, @@ -936,33 +895,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "736433.com", true }, { "738433.com", true }, { "739433.com", true }, - { "73info.com", false }, { "740833.com", true }, { "741833.com", true }, { "742833.com", true }, { "743833.com", true }, { "74th.jp", true }, { "755k3.com", true }, - { "7570.com", true }, { "762.ch", true }, { "7733445.com", true }, { "7777yh.com", true }, { "777coin.com", true }, - { "778da.com", true }, { "783lab.com", true }, { "787k3.com", true }, { "7885765.com", true }, - { "788da.com", true }, { "7891553.com", true }, { "7891997.com", true }, + { "79ch.com", true }, { "7careconnect.com", true }, { "7delights.com", true }, { "7delights.in", true }, { "7geese.com", true }, { "7graus.pt", true }, { "7kicks.com", true }, - { "7kovrikov.ru", true }, - { "7proxies.com", true }, + { "7qly.com", true }, { "7sons.de", true }, { "7thcircledesigns.com", true }, { "7trade8.com", true }, @@ -972,10 +927,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "809422.com", true }, { "80993.net", true }, { "814022.com", true }, + { "81818app.com", true }, { "8189196.com", true }, { "818bwf.com", true }, { "818da.com", true }, { "8349822.com", true }, + { "850226.com", true }, { "8522.com", true }, { "8522club.com", true }, { "8522hk.com", true }, @@ -987,8 +944,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8649955.com", true }, { "8649966.com", true }, { "8649977.com", true }, - { "8688fc.com", true }, - { "86metro.ru", true }, { "8722.am", true }, { "8722am.com", true }, { "8722cn.com", true }, @@ -996,32 +951,55 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8722ph.com", true }, { "8722tw.com", true }, { "8722usa.com", true }, + { "88-line.com", true }, + { "88-line.net", true }, + { "881-line.com", true }, + { "881-line.net", true }, { "8818k3.com", true }, { "8833445.com", true }, { "88522am.com", true }, { "887.ag", true }, + { "8876007.com", true }, + { "8876008.com", true }, + { "8876009.com", true }, { "8876138.com", true }, + { "8876205.com", true }, + { "8876278.com", true }, + { "8876289.com", true }, + { "8876290.com", true }, + { "8876353.com", true }, + { "8876389.com", true }, { "8876520.com", true }, { "8876578.com", true }, { "8876598.com", true }, { "8876655.com", true }, { "8876660.com", true }, { "8876687.com", true }, + { "8876764.com", true }, { "8876770.com", true }, { "8876775.com", true }, { "8876776.com", true }, { "8876779.com", true }, + { "8876808.com", true }, { "8876818.com", true }, { "8876822.com", true }, + { "8876832.com", true }, + { "8876835.com", true }, { "8876838.com", true }, { "8876858.com", true }, + { "8876859.com", true }, { "8876866.com", true }, + { "8876878.com", true }, { "8876879.com", true }, { "8876881.com", true }, { "8876882.com", true }, { "8876883.com", true }, { "8876898.com", true }, { "8876900.com", true }, + { "8876955.com", true }, + { "8876979.com", true }, + { "8876987.com", true }, + { "8876989.com", true }, { "8876991.com", true }, { "8876992.com", true }, { "8876996.com", true }, @@ -1042,7 +1020,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8886860.com", true }, { "888888722.com", true }, { "88889822.com", true }, - { "8888esb.com", true }, { "8888yh.com", true }, { "8889457.com", true }, { "8889458.com", true }, @@ -1061,44 +1038,39 @@ static const nsSTSPreload kSTSPreloadList[] = { { "8889903.com", true }, { "8889910.com", true }, { "888bwf.com", true }, - { "888msc.vip", true }, + { "888funcity.com", true }, + { "888funcity.net", true }, { "88bwf.com", true }, - { "8901178.com", true }, - { "8901178.net", true }, - { "8910899.com", true }, - { "8910899.net", true }, - { "8917168.com", true }, - { "8917168.net", true }, - { "8917818.com", true }, - { "8917818.net", true }, - { "8951889.com", true }, - { "8951889.net", true }, - { "8992088.com", true }, - { "8992088.net", true }, + { "88yule11.com", true }, + { "88yule112.com", true }, + { "88yule113.com", true }, + { "88yule12.com", true }, + { "88yule13.com", true }, + { "88yule15.com", true }, + { "88yule16.com", true }, + { "88yule6.com", true }, + { "88yule7.com", true }, + { "88yule9.com", true }, { "8ack.de", true }, { "8ackprotect.com", true }, { "8da188.com", true }, - { "8da2017.com", true }, { "8da222.com", true }, { "8da88.com", true }, { "8da999.com", true }, { "8dabet.com", true }, { "8hrs.net", true }, { "8maerz.at", true }, - { "8pecxstudios.com", true }, - { "8shequapp.com", true }, - { "8svn.com", true }, { "8t8.eu", true }, { "8tech.com.hk", true }, { "8thportsmouth.org.uk", true }, { "8tuffbeers.com", true }, - { "8xx.bet", true }, - { "8xx888.com", true }, { "8xxbet.net", true }, + { "8y.network", true }, { "9-11commission.gov", true }, { "903422.com", true }, { "905422.com", true }, { "90r.jp", true }, + { "910kj.com", true }, { "9118.com", true }, { "911commission.gov", true }, { "912422.com", true }, @@ -1127,11 +1099,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "949122.com", true }, { "949622.com", true }, { "949722.com", true }, - { "9500years.com", true }, + { "94cs.cn", false }, { "9679693.com", true }, { "9681909.com", true }, - { "9696178.com", true }, - { "9696178.net", true }, { "972422.com", true }, { "9788876.com", true }, { "97bros.com", true }, @@ -1148,14 +1118,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "9918883.com", true }, { "9933445.com", true }, { "99599.fi", true }, - { "99599.net", true }, { "9994553.com", true }, { "9998722.com", true }, { "99998522.com", true }, { "99999822.com", true }, { "999998722.com", true }, { "99rst.org", true }, - { "9bingo.net", true }, + { "99wxt.com", true }, { "9farm.com", true }, { "9fvip.net", true }, { "9jajuice.com", true }, @@ -1164,17 +1133,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "9tolife.be", true }, { "9uelle.jp", true }, { "9vx.org", true }, - { "9won.kr", true }, - { "9y.at", true }, { "9yw.me", true }, { "a-1basements.com", true }, { "a-1indianawaterproofing.com", true }, { "a-allard.be", true }, { "a-classinflatables.co.uk", true }, + { "a-invest.de", true }, { "a-little-linux-box.at", true }, { "a-msystems.com", true }, { "a-oben.org", true }, - { "a-starbouncycastles.co.uk", true }, { "a-wife.net", true }, { "a-ztransmission.com", true }, { "a0print.nl", true }, @@ -1183,32 +1150,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "a1moldsolutions.com", true }, { "a1scuba.com", true }, { "a1scubastore.com", true }, + { "a2a.me", true }, { "a2a.net", true }, { "a2nutrition.com.au", true }, - { "a3.pm", true }, + { "a2os.club", true }, { "a4sound.com", true }, { "a632079.me", true }, - { "a7m2.me", true }, + { "a7la-chat.com", true }, { "aa-tour.ru", true }, { "aa1718.net", true }, - { "aa6688.net", true }, { "aaapl.com", true }, { "aabanet.com.br", true }, { "aaben-bank.dk", true }, { "aabenbank.dk", true }, { "aacfree.com", true }, + { "aaex.cloud", true }, { "aagetransport.no", true }, { "aalalbayt.com", true }, { "aalalbayt.net", true }, { "aalstmotors-usedcars.be", true }, { "aaltocapital.com", true }, { "aamwa.com", true }, - { "aanbieders.ga", true }, { "aandeautobody.com", true }, { "aandkevents.co.uk", true }, { "aanmpc.com", true }, { "aaomidi.com", true }, + { "aapar.nl", true }, { "aapas.org.ar", true }, + { "aarklendoia.com", true }, { "aarkue.eu", true }, { "aaron.cm", true }, { "aaron.xin", true }, @@ -1223,10 +1192,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aavienna.com", true }, { "abaapplianceservice.com", true }, { "abaaustin.com", true }, + { "ababyco.com.hr", true }, { "abacusbouncycastle.co.uk", true }, { "abacustech.co.jp", true }, - { "abacustech.net", true }, - { "abacustech.org", true }, { "abandonedmines.gov", true }, { "abateroad66.it", true }, { "abbadabbabouncycastles.co.uk", true }, @@ -1238,8 +1206,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abbruch-star.de", true }, { "abc-rz.de", true }, { "abc.li", true }, + { "abc8081.net", true }, { "abcbouncycastlessurrey.co.uk", true }, { "abcbouncyfactory.co.uk", true }, + { "abcdef.be", true }, { "abcheck.se", true }, { "abckam.com", true }, { "abcpartyhire.com", true }, @@ -1253,6 +1223,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abeestrada.com", false }, { "abeilles-idapi.fr", true }, { "abenteuer-ahnenforschung.de", true }, + { "abeontech.com", true }, { "aberdeencastles.co.uk", true }, { "aberdeenjudo.co.uk", true }, { "abeus.com", true }, @@ -1268,6 +1239,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abilma.com", true }, { "abilymp06.net", true }, { "abimelec.com", true }, + { "abinferis.com", true }, { "abinyah.com", true }, { "abitidalavoro.roma.it", true }, { "abitur97ag.de", true }, @@ -1310,6 +1282,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aboutict.nl", true }, { "aboutlegal.nl", true }, { "aboutmedia.nl", true }, + { "aboutmyproperty.ca", true }, { "aboutspice.com", true }, { "aboutyou.at", true }, { "aboutyou.be", true }, @@ -1325,6 +1298,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "abristolgeek.co.uk", true }, { "abseits.org", true }, { "absolem.cc", true }, + { "absolutcruceros.com", true }, { "absoluteautobody.com", true }, { "absolutedouble.co.uk", true }, { "absolutehaitian.com", true }, @@ -1332,12 +1306,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "absolutelyinflatables.co.uk", true }, { "absoluterush.net", true }, { "absolutewebdesigns.com", true }, + { "absolutviajes.com", true }, + { "abstractbarista.net", true }, { "abstraction21.com", true }, { "absturztau.be", true }, { "absturztaube.ch", true }, { "absynthe-inquisition.fr", true }, { "abthorpe.org", true }, + { "abublog.com", true }, { "abulanov.com", true }, + { "abundanteconomy.com", true }, { "abundent.com", true }, { "abuse.fi", true }, { "abuse.io", true }, @@ -1349,6 +1327,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ac-town.com", true }, { "ac0g.dyndns.org", true }, { "aca-creative.co.uk", true }, + { "academiadebomberosonline.com", true }, { "academicexperts.us", true }, { "academichealthscience.net", true }, { "academie-de-police.ch", true }, @@ -1361,12 +1340,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acareer.in", true }, { "acat.io", true }, { "acbrussels-used.be", true }, - { "accadoro.it", true }, { "accelaway.com", true }, { "acceleratenetworks.com", true }, { "accelerateyourworld.org", true }, { "accelerator.net", true }, - { "accelsnow.com", true }, { "accentthailand.com", true }, { "accesloges.com", true }, { "accessacab.co.uk", true }, @@ -1382,6 +1359,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "accordiondoor.com", true }, { "accounts.firefox.com", true }, { "accounts.google.com", true }, + { "accpl.co", true }, { "accpodcast.com", true }, { "accredit.ly", true }, { "accudraftpaintbooths.com", true }, @@ -1408,7 +1386,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acevik.de", true }, { "acfo.org", true }, { "acg.social", true }, - { "acg18.us", false }, { "acgtalktw.com", true }, { "achalay.org", true }, { "acheconcursos.com.br", true }, @@ -1428,6 +1405,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ackermann.ch", true }, { "ackis.duckdns.org", false }, { "acklandstainless.com.au", true }, + { "acl.gov", true }, { "aclu.org", false }, { "acluva.org", false }, { "acme.beer", true }, @@ -1446,6 +1424,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acoustics.network", true }, { "acoustics.tech", true }, { "acoustique-tardy.com", true }, + { "acpcoils.com", true }, { "acperu.ch", true }, { "acquisition.gov", true }, { "acquistareviagragenericoitalia.net", true }, @@ -1457,7 +1436,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acriticismlab.org", true }, { "acrolife.cz", true }, { "acroso.me", true }, - { "across.ml", true }, { "acrosstheblvd.com", true }, { "acroyoga-nuernberg.de", true }, { "acrylbilder-acrylmalerei.de", true }, @@ -1465,13 +1443,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "acs-chantal.com", true }, { "acsbbs.org", true }, { "acsc.gov.au", true }, + { "acscbasket.com", true }, { "acsemb.org", true }, { "acsports.ca", true }, { "actc.org.uk", true }, - { "actc81.fr", true }, { "actgruppe.de", true }, + { "actheater.com", true }, { "actiefgeld.nl", true }, { "actioncleaningnd.com", true }, + { "actionfinancialservices.net", true }, { "actionlabs.net", true }, { "actionmadagascar.ch", true }, { "actionsack.com", true }, @@ -1488,16 +1468,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "activiteithardenberg.nl", true }, { "activitesaintnicaise.org", true }, { "activityeventhire.co.uk", true }, + { "actom.cc", true }, { "actonwoodworks.com", true }, { "actors-cafe.net", true }, { "actorsroom.com", true }, { "actserv.co.ke", true }, { "actualadmins.com", true }, + { "actualidadblog.com", true }, { "actualidadecommerce.com", true }, { "actualidadgadget.com", true }, { "actualidadiphone.com", true }, { "actualidadkd.com", true }, + { "actualidadliteratura.com", true }, { "actualidadmotor.com", true }, + { "actualidadviajes.com", true }, + { "actuatemedia.com", true }, { "acuica.co.uk", false }, { "acul.me", true }, { "acupofsalt.tv", true }, @@ -1516,10 +1501,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ad-notam.pt", true }, { "ad-notam.us", true }, { "ada.gov", true }, + { "adaera.com", true }, { "adalis.org", true }, { "adam-ant.co.uk", true }, { "adam-kostecki.de", true }, { "adam-wilson.me", true }, + { "adam.lgbt", true }, { "adamas-magicus.ru", true }, { "adambalogh.net", true }, { "adambyers.com", true }, @@ -1542,6 +1529,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adaptablesecurity.org", true }, { "adapti.de", true }, { "adaptivemechanics.edu.au", true }, + { "adarshthapa.in", true }, { "adawolfa.cz", true }, { "adayinthelifeof.nl", true }, { "adblockextreme.com", true }, @@ -1559,8 +1547,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "addones.net", true }, { "addtoany.com", true }, { "adduono.com", true }, + { "addvalue-renovations.co.uk", true }, + { "addydari.us", true }, { "adelebeals.com", true }, { "adelightfulglow.com", true }, + { "adeline.mobi", true }, { "adentalsolution.com", true }, { "adept.org.pl", true }, { "adesa.co.uk", true }, @@ -1582,6 +1573,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adlerosn.com", true }, { "adlerosn.com.br", true }, { "adlershop.ch", true }, + { "adlignum.se", true }, { "adm-sarov.ru", true }, { "adme.co.il", true }, { "admin-serv.net", true }, @@ -1593,23 +1585,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "administratorserwera.pl", true }, { "adminlinux.pl", true }, { "admino.cz", true }, + { "admins.tech", true }, + { "adminwerk.net", true }, { "adminwiki.fr", true }, { "admirable.one", true }, + { "admirable.pro", true }, { "admody.com", true }, { "admongo.gov", true }, { "adnanoktar.com", true }, { "adnanotoyedekparca.com", true }, { "adnot.am", true }, { "adnseguros.es", true }, + { "adonizer.science", true }, { "adonnante.com", true }, { "adoptionlink.co.uk", true }, - { "adorade.ro", true }, { "adorai.tk", true }, { "adorecricket.com", true }, { "adorewe.com", true }, { "adoriasoft.com", false }, { "adorno-gymnasium.de", true }, { "adoucisseur.shop", true }, + { "adquisitio.co.uk", true }, + { "adquisitio.es", true }, + { "adquisitio.fr", true }, + { "adquisitio.it", true }, { "adr.gov", true }, { "adra.com", true }, { "adrafinil.wiki", true }, @@ -1633,6 +1632,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "advanced-scribes.com", true }, { "advanced.info", true }, { "advanceddieselspokane.com", true }, + { "advanceddisposables.co.uk", true }, { "advancedoneroofing.com", true }, { "advancedprotectionkey.com", true }, { "advancedprotectionsecuritykey.com", true }, @@ -1643,7 +1643,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "advancyte.com", true }, { "advantagehomeexteriors.com", true }, { "advara.com", true }, - { "advelty.cz", true }, { "advenacs.com.au", true }, { "advenapay.com", true }, { "adventaholdings.com", true }, @@ -1657,6 +1656,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "adventurenow.nl", true }, { "adventures.de", true }, { "adventureswithlillie.ca", true }, + { "adventurousway.com", true }, { "advertis.biz", true }, { "advicepro.org.uk", true }, { "advocate-europe.eu", true }, @@ -1668,7 +1668,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "advokat-romanov.com", true }, { "advtran.com", true }, { "adware.pl", true }, - { "adwokatkosterka.pl", true }, { "adwokatzdunek.pl", true }, { "adws.io", true }, { "adxperience.com", true }, @@ -1690,6 +1689,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ae-construction.co.uk", true }, { "aebian.org", true }, { "aecexpert.fr", true }, + { "aedollon.com", true }, { "aefcleaning.com", true }, { "aegee-utrecht.nl", true }, { "aegisalarm.co.uk", true }, @@ -1700,7 +1700,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aegrel.ee", true }, { "aehe.us", true }, { "aei.co.uk", true }, - { "aelisya.ch", true }, { "aeon.co", true }, { "aep-digital.com", true }, { "aeradesign.com", true }, @@ -1730,10 +1729,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aextron.com", true }, { "aextron.de", true }, { "aextron.org", true }, - { "af-internet.nl", true }, + { "aeyoun.com", true }, { "afavre.io", true }, + { "afb24.de", true }, { "afbeelding.im", true }, { "afbeeldinguploaden.nl", true }, + { "afcmrs.org", true }, { "afcompany.it", true }, { "afcurgentcarelyndhurst.com", true }, { "affichagepub3.com", true }, @@ -1745,6 +1746,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "affissioni.roma.it", true }, { "affittacamere.roma.it", true }, { "affittialmare.it", true }, + { "affittisalento.it", true }, { "affloc.com", true }, { "affordableazdivorce.com", true }, { "affordableblindsexpress.com", true }, @@ -1776,12 +1778,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "afrikarl.de", true }, { "afrodigital.uk", true }, { "afs-asso.org", true }, + { "afscheidsportret.nl", true }, { "aftab-alam.de", true }, { "after.digital", true }, { "afterhate.fr", true }, - { "afterskool.eu", true }, { "afuh.de", true }, { "afva.net", true }, + { "afwd.international", true }, { "ag-websolutions.de", true }, { "ag8-game.com", true }, { "agalliasis.ch", true }, @@ -1792,7 +1795,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agechecker.net", true }, { "ageg.ca", true }, { "agemfis.com", true }, - { "agenceklic.com", true }, { "agencewebstreet.com", true }, { "agenciadeempregosdourados.com.br", true }, { "agenciafiscal.pe", true }, @@ -1819,6 +1821,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agilob.net", true }, { "aging.gov", true }, { "agingstats.gov", true }, + { "aginion.net", true }, { "agiserv.fr", true }, { "agliamici.it", true }, { "agnesk.blog", true }, @@ -1842,7 +1845,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agouralighting.com", true }, { "agouraoutdoorlighting.com", true }, { "agr.asia", true }, + { "agracan.com", true }, { "agrajag.nl", true }, + { "agrarking.com", true }, { "agrarking.de", true }, { "agrarshop4u.de", true }, { "agrekov.ru", true }, @@ -1855,14 +1860,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "agrios.de", true }, { "agro-forestry.net", true }, { "agroline.by", true }, - { "agroxxi.ru", true }, + { "agroxxi.ru", false }, + { "agroyard.com.ua", true }, { "agsb.ch", true }, { "agscinemas.com", true }, { "agscinemasapp.com", true }, { "agung-furniture.com", true }, { "agwa.name", true }, { "agy.cl", true }, + { "ahawkesrealtors.com", true }, { "ahd.com", false }, + { "ahegao.ca", true }, + { "aheng.me", true }, { "ahero4all.org", true }, { "ahkubiak.ovh", true }, { "ahlaejaba.com", true }, @@ -1872,6 +1881,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ahmedabadflowermall.com", true }, { "ahmedcharles.com", true }, { "ahmerjamilkhan.org", true }, + { "ahmetozer.org", true }, { "ahosi.com", true }, { "ahoy.travel", true }, { "ahoyconference.com", true }, @@ -1883,6 +1893,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ai.gov", true }, { "ai.je", true }, { "aia.de", true }, + { "aiasesoriainmobiliaria.com", true }, { "aibenzi.com", true }, { "aibiying.com", true }, { "aicial.co.uk", true }, @@ -1890,23 +1901,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aidanmitchell.co.uk", true }, { "aidanmitchell.uk", true }, { "aidanmontare.net", true }, - { "aide-valais.ch", true }, + { "aidanpr.com", true }, + { "aidanpr.net", true }, { "aiden.link", true }, { "aidhan.net", true }, + { "aidi-ahmi.com", true }, { "aids.gov", true }, { "aie.de", true }, + { "aiforsocialmedia.com", true }, { "aifriccampbell.com", true }, { "aigcev.org", true }, { "aigenpul.se", true }, { "aignermunich.com", true }, { "aignermunich.de", true }, { "aignermunich.jp", true }, + { "aiheisi.com", true }, + { "aiho.stream", true }, { "aiicy.org", true }, { "aiida.se", true }, { "aijsk.com", true }, { "aikenpromotions.com", true }, { "aiki.de", true }, { "aiki.do", true }, + { "aiki.tk", true }, { "aikido-club-limburg.de", true }, { "aikido-kiel.de", true }, { "aikido-linz.at", true }, @@ -1915,20 +1932,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ailitonia.xyz", true }, { "aimax.com", true }, { "aimeeandalec.com", true }, + { "aimerworld.com", true }, { "aimgroup.co.tz", true }, { "aimi-salon.com", true }, { "aimotive.com", true }, { "aimstoreglobal.com", true }, { "aintevenmad.ch", true }, + { "ainutrition.co.uk", true }, + { "ainvest.de", true }, { "aiois.com", true }, { "aipbarcelona.com", true }, { "air-craftglass.com", true }, { "air-shots.ch", true }, + { "air-techniques.fr", true }, { "air-we-go.co.uk", true }, - { "airbly.com", true }, { "airbnb.ae", true }, { "airbnb.at", true }, { "airbnb.be", true }, + { "airbnb.biz", true }, { "airbnb.ca", true }, { "airbnb.cat", true }, { "airbnb.ch", true }, @@ -1998,7 +2019,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "airbossofamerica.com", true }, { "airclass.com", true }, { "aircomms.com", true }, - { "airconsalberton.co.za", true }, { "airductclean.com", false }, { "airductcleaning-fresno.com", true }, { "airductcleaninggrandprairie.com", true }, @@ -2013,7 +2033,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "airicy.com", true }, { "airikai.com", true }, { "airlibre-parachutisme.com", true }, - { "airlinesettlement.com", true }, { "airmail.cc", true }, { "airmaxinflatables.com", true }, { "airnow.gov", true }, @@ -2022,15 +2041,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "airplayradio.nl", true }, { "airpurifierproductsonline.com", true }, { "airrestoration.ch", true }, + { "airsnore.com", true }, { "airsoft.ch", true }, { "airswap.io", true }, { "airtimerewards.co.uk", true }, + { "airtoolaccessoryo.com", true }, { "airvpn.org", true }, { "airvuz.com", true }, + { "airware.com", true }, { "airwaystorage.net", true }, { "airweb.top", true }, { "airwegobouncycastles.co.uk", true }, { "airwolfthemes.com", true }, + { "airwrenchei.com", true }, { "ais.fashion", true }, { "aisance-co.com", true }, { "aisi316l.net", true }, @@ -2045,7 +2068,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aiwdirect.com", true }, { "aixvox.com", false }, { "aizxxs.com", true }, - { "aizxxs.net", true }, { "ajapaik.ee", true }, { "ajarope.com", true }, { "ajaxed.net", true }, @@ -2075,22 +2097,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akelius.de", false }, { "akfoundationindia.com", true }, { "akhealthconnection.com", true }, + { "akhomesforyou.com", true }, { "akihito.com", true }, { "akijo.de", true }, { "akilli-devre.com", true }, - { "akita-boutique.com", true }, { "akiym.com", true }, { "akj.io", true }, { "akkbouncycastles.co.uk", true }, - { "akkeylab.com", true }, { "akostecki.de", true }, { "akovana.com", true }, + { "akoww.de", false }, { "akoya.fi", true }, { "akplates.org", true }, { "akpwebdesign.com", true }, { "akr.io", true }, { "akr.services", true }, - { "akritikos.info", true }, { "akronet.cz", false }, { "akropol.cz", false }, { "akropolis-ravensburg.de", true }, @@ -2098,17 +2119,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "akselinurmio.fi", false }, { "akshi.in", true }, { "aktin.cz", true }, + { "aktin.sk", true }, { "aktiv-naturheilmittel.at", true }, { "aktiv-naturheilmittel.ch", true }, { "aktiv-naturheilmittel.de", true }, { "aktivace.eu", true }, { "aktivierungscenter.de", true }, - { "aktuelle-uhrzeit.at", true }, { "akuislam.com", true }, { "akukas.com", true }, { "akustik.tech", true }, { "akutun.cl", true }, { "akvorrat.at", true }, + { "akyildiz.net", true }, { "al3366.tech", true }, { "al3xpro.com", true }, { "alab.space", true }, @@ -2138,36 +2160,36 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alastairs-place.net", true }, { "alaxyjewellers.co.za", true }, { "alb-flirt.de", true }, + { "albanboye.info", true }, { "albanesi.it", true }, { "albbounce.co.uk", true }, { "albersdruck.de", true }, { "albertathome.org", true }, + { "albertbogdanowicz.pl", true }, { "albertcuyp-markt.amsterdam", true }, { "albertinum-goettingen.de", true }, { "albinma.com", true }, { "albion2.org", true }, { "alboweb.nl", true }, - { "albuic.tk", true }, + { "albrocar.com", true }, { "alca31.com", true }, { "alchimic.ch", true }, { "alcnutrition.com", true }, { "alco-united.com", true }, { "alcoholapi.com", true }, + { "alcolecapital.com", true }, { "aldiabcs.com", true }, { "aldien.com.br", true }, { "aldo-vandini.de", true }, { "aldomedia.com", true }, { "aldorr.net", false }, { "aldous-huxley.com", true }, - { "aldred.cloud", true }, { "alecpap.com", true }, { "alecpapierniak.com", true }, { "alecrust.com", true }, - { "aledg.cl", true }, { "alek.in", true }, { "aleksejjocic.tk", true }, { "aleksib.fi", true }, - { "alela.fr", true }, { "alerbon.net", true }, { "alertboxx.com", true }, { "alertonline.nl", true }, @@ -2186,15 +2208,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alexanderzinn.com", true }, { "alexandra-schulze.de", true }, { "alexandrastorm.com", true }, - { "alexandrastylist.com", true }, + { "alexandrastylist.com", false }, { "alexandre-blond.fr", true }, { "alexandros.io", true }, { "alexbaker.org", true }, { "alexberts.ch", true }, + { "alexbogovich.com", true }, { "alexbresnahan.com", true }, { "alexcoman.com", true }, { "alexdaniel.org", true }, - { "alexdaulby.com", true }, + { "alexei.su", false }, { "alexey-shamara.ru", true }, { "alexeykopytko.com", true }, { "alexgaynor.net", true }, @@ -2202,6 +2225,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alexhd.de", true }, { "alexio.ml", true }, { "alexisabarca.com", true }, + { "alexiskoustoulidis.com", true }, { "alexkott.com", true }, { "alexlouden.com", true }, { "alexmerkel.com", true }, @@ -2223,10 +2247,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alexvdveen.nl", true }, { "alexvetter.de", true }, { "alexwardweb.com", true }, + { "alexwilliams.tech", true }, { "alexyang.me", true }, { "alfa-tech.su", true }, { "alfaperfumes.com.br", true }, + { "alfred-figge.de", true }, { "alftrain.com", true }, + { "algbee.com", true }, { "algeriepart.com", true }, { "alghanimcatering.com", true }, { "algoaware.eu", true }, @@ -2240,35 +2267,33 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aliaswp.com", true }, { "alibangash.com", true }, { "alibiloungelv.com", true }, - { "alibip.de", true }, { "alice-noutore.com", true }, { "alice.tw", true }, { "alicemaywebdesign.com.au", true }, { "alicestudio.it", true }, { "alicetone.net", true }, + { "alieke.design", true }, { "alienation.biz", true }, { "alienflight.com", true }, { "alienslab.net", true }, { "alienstat.com", true }, + { "alienvision.com.br", true }, { "alignrs.com", true }, { "aliim.gdn", true }, { "alijammusic.com", true }, { "alikulov.me", true }, { "alinasmusicstudio.com", true }, { "alinbu.net", true }, - { "alinode.com", true }, { "aliorange.com", true }, { "alis-test.tk", true }, { "alisonisrealestate.com", true }, { "alisonlitchfield.com", true }, { "alistairstowing.com", true }, - { "alisync.com", true }, { "alix-board.de", true }, { "alize-theatre.ch", true }, { "aljaspod.com", true }, { "aljaspod.hu", true }, { "aljaspod.net", true }, - { "aljweb.com", true }, { "all-connect.net", false }, { "all-fashion-schools.com", true }, { "all-markup-news.com", true }, @@ -2287,6 +2312,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allbounceandplay.co.uk", true }, { "allbouncesurrey.co.uk", true }, { "allbrandbrand.com", true }, + { "allbursaries.co.za", true }, { "allbusiness.com", true }, { "allcapa.org", true }, { "allcarecorrectionalpharmacy.com", true }, @@ -2297,7 +2323,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alldewall.de", true }, { "alldigitalsolutions.com", true }, { "alle.bg", true }, - { "allemobieleproviders.nl", true }, { "allemoz.com", true }, { "allemoz.fr", true }, { "allenosgood.com", true }, @@ -2308,10 +2333,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allesrocknroll.de", true }, { "allforyou.at", true }, { "allfreelancers.su", false }, + { "allfundsconnect.com", true }, { "allgaragefloors.com", true }, { "allgreenturf.com.au", true }, { "alliance-psychiatry.com", true }, - { "alliances-faq.de", true }, { "alliances-globalsolutions.com", true }, { "alliedfrozenstorage.com", true }, { "alligatorge.de", true }, @@ -2325,7 +2350,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allmend-ru.de", true }, { "allns.fr", true }, { "allo-credit.ch", true }, - { "allo-symo.fr", true }, { "allofthestops.com", true }, { "allontanamentovolatili.it", true }, { "allontanamentovolatili.milano.it", true }, @@ -2351,14 +2375,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "allthecryptonews.com", true }, { "allthethings.co.nz", true }, { "allthings.me", true }, - { "allthingssquared.com", true }, { "allthingswild.co.uk", true }, - { "alltubedownload.net", true }, + { "allurebikerental.com", true }, { "allurescarves.com", true }, { "alluvion.studio", true }, { "allweatherlandscaping.net", true }, { "almaatlantica.com", true }, - { "almavios.com", true }, + { "almavios.com", false }, + { "almayadeen.education", true }, { "almorafestival.com", true }, { "almut-zielonka.de", true }, { "aloesoluciones.com.ar", true }, @@ -2366,7 +2390,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alonetone.com", true }, { "alp.od.ua", true }, { "alpca.org", true }, - { "alpencam.com", true }, { "alpencams.com", true }, { "alpengreis.ch", true }, { "alpenjuice.com", true }, @@ -2390,7 +2413,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alphaman.ooo", true }, { "alphapengu.in", true }, { "alpharotary.com", true }, - { "alphasall.com", true }, + { "alphasall.com", false }, { "alphassl.de", true }, { "alphatrash.de", true }, { "alphavote-avex.com", true }, @@ -2399,6 +2422,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alphie.me", true }, { "alphipneux.fr", true }, { "alpinechaletrental.com", true }, + { "alpinehighlandrealty.com", true }, { "alpineplanet.com", true }, { "alpinepubliclibrary.org", true }, { "alpinestarmassage.com", true }, @@ -2406,7 +2430,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alpiniste.fr", true }, { "alqassam.net", true }, { "alquiaga.com", true }, - { "alrait.com", true }, + { "alquiladoramexico.com", true }, { "alroniks.com", true }, { "als-japan.com", true }, { "alstertouch.com", true }, @@ -2414,23 +2438,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "alstroemeria.org", true }, { "alt-three.com", true }, { "alt.org", true }, - { "altapina.com", true }, + { "altair.fi", true }, + { "altapina.com", false }, { "altaplana.be", true }, { "altedirect.com", true }, { "alter-news.fr", true }, + { "alterbaum.net", true }, { "alternador.com.br", true }, { "alternative.bike", true }, { "alternativebit.fr", true }, { "alternativedev.ca", true }, + { "alternativeinternet.ca", true }, { "alternativet.party", true }, { "alterspalter.de", true }, { "altes-sportamt.de", true }, { "altesses.eu", true }, { "altestore.com", true }, + { "altisdev.com", true }, { "altkremsmuensterer.at", true }, { "altmaestrat.es", true }, { "altoa.cz", true }, - { "altonblom.com", true }, { "altopartners.com", true }, { "altopia.com", true }, { "altphotos.com", true }, @@ -2440,16 +2467,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "altunbas.info", true }, { "alumni-kusa.jp", true }, { "alupferd.de", true }, + { "aluro.info", true }, { "aluroof.eu", true }, { "alvcs.com", true }, { "alviano.com", true }, { "alvicom.hu", true }, - { "alvis-audio.com", true }, { "alvosec.com", true }, { "alwaysdry.com.au", true }, { "alwayslookingyourbest.com", true }, { "alwaysmine.fi", true }, { "alwaysonssl.com", true }, + { "alxpresentes.com.br", true }, { "alyoung.com", true }, { "alza.at", true }, { "alza.co.uk", true }, @@ -2465,7 +2493,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "am3.se", true }, { "ama.ne.jp", true }, { "amadvice.com", true }, - { "amaforro.com", true }, { "amagdic.com", true }, { "amagical.net", false }, { "amaiz.com", true }, @@ -2475,9 +2502,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "amalfipositanoboatrental.com", true }, { "amalfirock.it", true }, { "amalfitabula.it", true }, + { "amanatrustbooks.org.uk", true }, { "amandadamsphotography.com", true }, { "amandasage.ca", true }, { "amani-kinderdorf.de", true }, + { "amardham.org", true }, { "amaresq.com", true }, { "amartinz.at", true }, { "amateurchef.co.uk", true }, @@ -2553,7 +2582,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "amirautos.com", true }, { "amirmahdy.com", true }, { "amisderodin.fr", true }, - { "amisharingstuff.com", true }, { "amitabhsirkiclasses.org.in", true }, { "amitpatra.com", true }, { "amiu.org", true }, @@ -2572,6 +2600,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ampersandnbspsemicolon.com", true }, { "amphetamines.org", true }, { "amphibo.ly", true }, + { "ampol-agd.pl", true }, { "ampproject.com", true }, { "ampproject.org", true }, { "amrcaustin.com", true }, @@ -2590,7 +2619,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anacreon.de", true }, { "anadiyogacentre.com", true }, { "anaethelion.fr", true }, - { "anajianu.ro", true }, { "analbleachingguide.com", true }, { "analgesia.net", true }, { "analisilaica.it", true }, @@ -2613,8 +2641,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anaveragehuman.eu.org", true }, { "ancestramil.fr", true }, { "anchev.net", true }, + { "anchorit.gov", true }, { "anchovy.nz", false }, + { "anciens.org", true }, { "ancientcraft.eu", true }, + { "ancientnorth.com", true }, { "ancientnorth.nl", true }, { "ancolies-andre.com", true }, { "anconaswine.com", true }, @@ -2625,11 +2656,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andarpersassi.it", true }, { "andel.info", false }, { "anders.hamburg", true }, - { "anderskp.dk", true }, + { "anderskp.dk", false }, { "andersonshatch.com", true }, { "andiplusben.com", true }, { "andisadhdspot.com", true }, - { "andiscyber.space", true }, { "anditi.com", true }, { "andoms.fi", true }, { "andre-ballensiefen.de", true }, @@ -2649,12 +2679,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "andreashecht-blog.de", true }, { "andreaskrasa.com", true }, { "andreaslicht.nl", true }, + { "andreasmuelhaupt.de", true }, { "andreasolsson.se", true }, - { "andreasr.com", true }, { "andree.cloud", true }, - { "andrefaber.nl", true }, { "andrehansen.de", true }, { "andrei-nakov.org", true }, + { "andrelauzier.com", true }, { "andreoliveira.io", true }, { "andrespaz.com", true }, { "andreundnina.de", true }, @@ -2698,9 +2728,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anduril.eu", true }, { "andybrett.com", true }, { "andyc.cc", true }, - { "andycloud.dynu.net", true }, { "andycrockett.io", true }, { "andymoore.info", true }, + { "andys-place.co.uk", true }, + { "andysroom.dynu.net", true }, { "andyt.eu", true }, { "andzia.art.pl", true }, { "anedot-sandbox.com", true }, @@ -2709,14 +2740,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anedot.xyz", true }, { "aneebahmed.com", true }, { "anegabawa.com", true }, + { "aneslix.com", false }, { "anetaben.nl", true }, { "anextraordinaryday.net", true }, - { "ange-de-bonheur444.com", true }, { "angehardy.com", true }, { "angel-body.com", true }, + { "angelcojuelo.com", true }, { "angelesydemonios.es", true }, { "angelicare.co.uk", true }, { "angelinahair.com", true }, + { "angeljmadrid.com", true }, { "angeloryndon.com", true }, { "angelremigene.com", true }, { "angelsgirl.eu.org", true }, @@ -2732,16 +2765,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "angristan.xyz", true }, { "angry.im", true }, { "angrysnarl.com", true }, - { "angryteeth.net", false }, + { "angryteeth.net", true }, { "angularjs.org", false }, { "angusmak.com", true }, { "anhaffen.lu", true }, { "ani-man.de", true }, - { "aniaimichal.eu", true }, + { "anicam.fr", true }, { "aniforprez.net", true }, { "animacurse.moe", true }, { "animaemundi.be", true }, { "animal-liberation.com", true }, + { "animal-nature-human.com", true }, { "animal-rights.com", true }, { "animalistic.io", true }, { "animaltesting.fr", true }, @@ -2757,15 +2791,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "animeai.com", true }, { "animefluxxx.com", true }, { "animeinsights.net", true }, + { "animes-portal.info", true }, { "animesharp.com", true }, { "animetriad.com", true }, - { "animojis.es", true }, { "animorphsfanforum.com", true }, { "anipassion.com", false }, { "anitaalbersen.nl", true }, { "anitube.ch", true }, { "aniwhen.com", true }, { "anjoola.com", true }, + { "ankane.org", true }, { "ankarakart.com.tr", true }, { "ankaraprofesyonelwebtasarim.com", true }, { "ankaraseo.name.tr", true }, @@ -2777,7 +2812,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ankiuser.net", true }, { "ankiweb.net", true }, { "ankwanoma.com", true }, - { "ankya9.com", true }, { "anleitung-deutsch-lernen.de", true }, { "anleitung-zum-flechten.de", true }, { "anleitung-zum-haekeln.de", true }, @@ -2792,8 +2826,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "annasvapor.se", true }, { "annawagner.pl", true }, { "annedaniels.co.uk", true }, + { "anneeden.de", true }, { "annejan.com", true }, { "anneliesonline.nl", true }, + { "annema.biz", true }, { "annemakeslovelycandles.co.uk", true }, { "annetta.com", true }, { "annettewindlin.ch", true }, @@ -2801,15 +2837,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anniversary-cruise.com", true }, { "annmariewaltsphotography.com", true }, { "annonasoftware.com", true }, - { "annotate.software", true }, { "annoyingasfuk.com", true }, { "annuaire-jcb.com", true }, { "annuaire-photographe.fr", false }, + { "annunciationbvmchurch.org", true }, { "anohana.org", true }, { "anojan.com", true }, { "anon-next.de", true }, { "anoncom.net", true }, - { "anoneko.com", false }, + { "anoncrypto.org", true }, { "anongoth.pl", true }, { "anons.fr", true }, { "anonym-surfen.de", true }, @@ -2830,7 +2866,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ansgar-sonntag.de", true }, { "ansgarsonntag.de", true }, { "anshar.eu", true }, - { "ansibeast.net", true }, { "ansichtssache.at", true }, { "ansogning-sg.dk", true }, { "anstaskforce.gov", true }, @@ -2842,6 +2877,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antaresmedia.com.py", true }, { "antarespc.com", true }, { "antcas.com", true }, + { "antennista.bari.it", true }, { "antennista.catania.it", true }, { "antennista.milano.it", true }, { "antennista.pavia.it", true }, @@ -2850,8 +2886,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antennisti.milano.it", true }, { "antennisti.roma.it", true }, { "anteprima.info", true }, + { "antfie.com", true }, { "anthedesign.fr", true }, { "anthisis.tv", true }, + { "anthony.codes", true }, { "anthonycarbonaro.com", true }, { "anthonyfontanez.com", true }, { "anthonygaidot.fr", true }, @@ -2886,6 +2924,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "antota.lt", true }, { "antragsgruen.de", true }, { "antroposofica.com.br", true }, + { "anttitenhunen.com", true }, { "antvklik.com", true }, { "antyblokada.pl", true }, { "anulowano.pl", true }, @@ -2898,9 +2937,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "anynode.net", true }, { "anyon.com", true }, { "anypeer.net", true }, - { "anypool.fr", true }, - { "anypool.net", true }, - { "anyprime.net", true }, { "anyquestions.govt.nz", true }, { "anystack.xyz", true }, { "anzeiger.ag", true }, @@ -2909,6 +2945,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aoa.gov", true }, { "aoadatacommunity.us", true }, { "aoaprograms.net", true }, + { "aoeuaoeu.com", true }, { "aofusa.net", true }, { "aoil.gr", true }, { "aoku3d.com", true }, @@ -2931,6 +2968,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apartment-natik.fr", true }, { "apartmentkroatien.at", true }, { "apartmentregister.com.au", true }, + { "apasaja.tech", true }, { "apbox.de", true }, { "apcemporium.co.uk", true }, { "apcube.com", true }, @@ -2961,7 +2999,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apiary.supplies", true }, { "apiary.supply", true }, { "apila.care", true }, - { "apiled.io", true }, + { "apila.us", true }, { "apination.com", true }, { "apio.systems", true }, { "apis.google.com", true }, @@ -2969,14 +3007,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apisyouwonthate.com", true }, { "apk.li", true }, { "apk4fun.com", true }, + { "apkmod.id", true }, { "aplikaceproandroid.cz", true }, { "aplpackaging.co.uk", true }, { "aplu.fr", true }, { "aplus-usa.net", true }, + { "aplusdownload.com", true }, { "apluswaterservices.com", true }, + { "apm.com.tw", true }, { "apn-dz.org", true }, { "apn-einstellungen.de", true }, - { "apo-deutschland.biz", true }, { "apobot.de", true }, { "apogeephoto.com", true }, { "apoil.org", true }, @@ -2986,7 +3026,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aposke.com", true }, { "aposke.net", true }, { "aposke.org", true }, - { "apostilasaprovacao.com", true }, { "apotheke-ch.org", true }, { "apothes.is", true }, { "app-at.work", true }, @@ -3001,9 +3040,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "appartement-evolene.net", true }, { "appartementhaus-badria.de", true }, { "appartementmarsum.nl", true }, - { "appcoins.io", true }, { "appearance-plm.de", true }, { "appel-aide.ch", true }, + { "appelaprojets.fr", true }, { "appelboomdefilm.nl", true }, { "appengine.google.com", true }, { "apperio.com", true }, @@ -3028,6 +3067,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apponline.com", true }, { "apprank.in", true }, { "apprenticeship.gov", true }, + { "apprenticeships.gov", true }, { "approbo.com", true }, { "approvedtreecare.com", true }, { "apps.co", true }, @@ -3037,6 +3077,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apps4inter.net", true }, { "appscloudplus.com", true }, { "appseccalifornia.org", false }, + { "appsforlondon.com", true }, { "appshuttle.com", true }, { "appt.ch", true }, { "apptomics.com", true }, @@ -3046,7 +3087,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "appxcrypto.com", true }, { "appzoojoo.be", true }, { "apratimsaha.com", true }, - { "aprefix.com", true }, { "apretatuercas.es", true }, { "aprikaner.de", true }, { "aprogend.com.br", true }, @@ -3061,13 +3101,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "apu-board.de", true }, { "apv-ollon.ch", true }, { "aqdun.com", true }, - { "aqilacademy.com.au", true }, { "aqsiq.net", true }, { "aqua-fitness-nacht.de", true }, { "aqua-fotowelt.de", true }, { "aquabar.co.il", true }, { "aquabio.ch", true }, { "aquadonis.ch", true }, + { "aquagarden.com.pl", true }, { "aquahomo.com", true }, { "aquainfo.net", true }, { "aqualife.com.gr", true }, @@ -3076,7 +3116,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aquapoint.kiev.ua", true }, { "aquarium-supplement.net", true }, { "aquaron.com", true }, - { "aquaselect.eu", true }, { "aquatechnologygroup.com", true }, { "aquaundine.net", true }, { "aquavitaedayspa.com.au", true }, @@ -3094,14 +3133,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "araleeniken.com", true }, { "aramado.com", true }, { "aramido.de", true }, + { "aranchhomes.com", true }, { "aranycsillag.net", true }, { "araraexpress.com.br", true }, { "araratour.com", true }, { "araro.ch", true }, { "araseifudousan.com", true }, - { "arawaza.biz", true }, { "arawaza.com", false }, - { "arawaza.info", true }, { "araxis.com", true }, { "arbeitsch.eu", true }, { "arbeitskreis-asyl-eningen.de", true }, @@ -3114,10 +3152,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arcaik.net", true }, { "arcbouncycastles.co.uk", true }, { "arcenergy.co.uk", true }, + { "archaeoadventures.com", true }, { "archimedicx.com", true }, { "archined.nl", true }, { "architectryan.com", true }, { "architecture-colleges.com", true }, + { "architectureandgovernance.com", true }, { "archivero.es", true }, { "archivesdelavieordinaire.ch", true }, { "archlinux.de", true }, @@ -3149,7 +3189,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arethsu.se", true }, { "arfad.ch", true }, { "arg.zone", true }, - { "argama-nature.com", false }, + { "argama-nature.com", true }, { "arganaderm.ch", true }, { "argb.de", true }, { "argekultur.at", true }, @@ -3161,20 +3201,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ariana.wtf", true }, { "arias.re", true }, { "ariba.info", true }, + { "ariege-pyrenees.net", true }, { "arieswdd.com", true }, { "arigato-java.download", true }, { "arijitdg.net", true }, { "arikar.eu", true }, { "arima.co.ke", true }, - { "arimarie.com", true }, { "arinde.ee", true }, { "arise19.com", true }, { "arisevendor.net", true }, + { "aristocrates.co", true }, { "aritec-la.com", true }, { "arivo.com.br", true }, - { "arizer.com", true }, { "arizonaautomobileclub.com", true }, { "arizonabondedtitle.com", true }, + { "arizonahomeownerinsurance.com", true }, { "arjandejong.eu", true }, { "arjanvaartjes.net", true }, { "arjunasdaughter.pub", true }, @@ -3182,13 +3223,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arkacrao.org", true }, { "arkadiyt.com", true }, { "arkaic.dyndns.org", true }, - { "arkbyte.com", true }, { "arkulagunak.com", false }, { "arlatools.com", true }, { "arlen.tv", true }, { "arlenarmageddon.com", true }, { "arletalibrary.com", true }, { "arlingtonelectric.com", true }, + { "arm-host.com", true }, { "armadaquadrat.com", true }, { "armandsdiscount.com", true }, { "armanozak.com", true }, @@ -3228,6 +3269,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arogov.com", true }, { "arokha.com", true }, { "aromacos.ch", true }, + { "aromatlas.com", true }, { "aron.host", true }, { "aroonchande.com", true }, { "aros.pl", true }, @@ -3238,10 +3280,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arqueo-ecuatoriana.ec", true }, { "arquitetura.pt", true }, { "arrakis.se", true }, + { "arraudi.be", true }, { "arrazane.com.br", true }, { "arresttracker.com", true }, { "arrive.by", true }, { "arrmaforum.com", true }, + { "arroba.digital", true }, { "arrow-analytics.nl", true }, { "arrow-api.nl", true }, { "arrowfastener.com", true }, @@ -3249,6 +3293,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arrowheadflats.com", true }, { "arrowwebprojects.nl", true }, { "arschkrebs.org", true }, + { "arsplus.ru", false }, { "arswb.men", true }, { "art-auction.jp", true }, { "art-et-culture.ch", true }, @@ -3262,10 +3307,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arteaga.tech", true }, { "arteaga.uk", true }, { "arteaga.xyz", true }, + { "artebel.com.br", true }, { "artecat.ch", true }, { "artedellavetrina.it", true }, { "artedona.com", true }, - { "arteequipamientos.com.uy", true }, { "artefakt.es", true }, { "artefeita.com.br", true }, { "arteinstudio.it", true }, @@ -3274,8 +3319,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arterienundvenen.ch", true }, { "arteshow.ch", true }, { "artetrama.com", false }, + { "artfabrics.com", true }, { "artforum.sk", true }, { "artfullyelegant.com", true }, + { "arthan.me", true }, { "arthermitage.org", true }, { "arthur.cn", true }, { "arthurlaw.ca", true }, @@ -3285,6 +3332,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "artimpact.ch", true }, { "artioml.net", true }, { "artionet.ch", true }, + { "artis-game.net", true }, { "artisan-cheminees-poeles-design.fr", true }, { "artisans-libres.com", true }, { "artisansoftaste.com", true }, @@ -3298,8 +3346,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "artlogo.sk", true }, { "artmanager.dk", true }, { "artmarketingnews.com", true }, - { "artmaxi.eu", true }, { "artmoney.com", true }, + { "artofcode.co.uk", true }, { "artofmonitoring.com", false }, { "artofwhere.com", true }, { "artratio.net", true }, @@ -3322,6 +3370,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "arvindhariharan.me", true }, { "arvutiladu.ee", true }, { "arw.me", true }, + { "arxell.com", true }, + { "aryalaroca.de", true }, { "aryan-nation.com", true }, { "aryasenna.net", true }, { "arzid.com", true }, @@ -3331,6 +3381,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "as44222.net", true }, { "asadatec.de", true }, { "asadzulfahri.com", true }, + { "asafaweb.com", true }, { "asafilm.co", true }, { "asandu.eu", true }, { "asanger.biz", true }, @@ -3349,15 +3400,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "asdyx.de", true }, { "asec01.net", true }, { "asegem.es", true }, - { "aseith.com", true }, { "aseko.gr", true }, { "asenno.com", true }, { "aserver.co", true }, { "asexualitat.cat", true }, { "asgapps.co.za", true }, + { "asge-handel.de", true }, + { "ashastalent.com", true }, { "ashd1.goip.de", true }, { "ashd2.goip.de", true }, { "ashd3.goip.de", true }, + { "ashkan-rechtsanwalt-arbeitsrecht-paderborn.de", true }, { "ashleyedisonuk.com", true }, { "ashlocklawgroup.com", true }, { "ashmportfolio.com", true }, @@ -3373,8 +3426,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "asianspa.co.uk", true }, { "asiba.com.au", true }, { "asiesvenezuela.com", true }, + { "asiinc-tex.com", true }, { "asile-colis.fr", true }, { "asinetasima.com", true }, + { "asisee.photography", true }, + { "ask.fi", true }, { "ask1.org", true }, { "askcaisse.com", true }, { "askcascade.com", true }, @@ -3385,10 +3441,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "askvg.com", true }, { "askwhy.cz", true }, { "askwhy.eu", true }, - { "aslinfinity.com", true }, { "asmbsurvey.com", true }, { "asmdz.com", true }, - { "asmm.cc", true }, { "asmood.net", true }, { "asoul.tw", true }, { "aspargesgaarden.no", true }, @@ -3424,7 +3478,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "assistenzalavatrice.org", true }, { "assistenzamicroonde.org", true }, { "assodigitale.it", true }, - { "asspinter.me", true }, { "assumptionpj.org", true }, { "astal.rs", true }, { "astarbouncycastles.co.uk", true }, @@ -3435,6 +3488,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "astenotarili.online", true }, { "astenretail.com", true }, { "astral-imperium.uk", true }, + { "astral.org.pl", true }, { "astrology42.com", true }, { "astroscopy.ch", true }, { "astrovandalistas.cc", true }, @@ -3444,6 +3498,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "asucrews.com", true }, { "asuka.io", true }, { "asun.co", true }, + { "asurbernardo.com", true }, { "asurepay.cc", false }, { "asustreiber.de", true }, { "asvsa.ch", true }, @@ -3454,6 +3509,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atac.no", true }, { "atacadocervejeiro.com.br", true }, { "atacadodesandalias.com.br", true }, + { "atallo.com", true }, + { "atallo.es", true }, { "ataton.ch", true }, { "atc.io", true }, { "atchleyjazz.com", true }, @@ -3473,14 +3530,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atelierdeloulou.fr", true }, { "atelierdesflammesnoires.fr", true }, { "atelierfantazie.sk", true }, - { "atelierhupsakee.nl", true }, + { "atelierhsn.com", true }, { "ateliernaruby.cz", true }, { "ateliers-veronese-nantes.fr", true }, { "atelierssud.ch", true }, { "atelierssud.swiss", true }, { "atencionbimbo.com", false }, { "atendimentodelta.com.br", true }, - { "atg.soy", true }, + { "aterskapa-data.se", true }, { "atgoetschel.ch", true }, { "atgroup.gr", true }, { "atgseed.co.uk", true }, @@ -3501,6 +3558,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atisoft.net", true }, { "atisoft.net.tr", true }, { "atisoft.web.tr", true }, + { "atisystem.com", true }, { "atitude.com", true }, { "ativapsicologia.com.br", true }, { "atl-paas.net", true }, @@ -3513,6 +3571,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atlantischild.hu", true }, { "atlantishq.de", true }, { "atlantiswaterproofing.com", true }, + { "atlas-heritage.com", true }, + { "atlasbrown.com", true }, { "atlaschiropractic.org", true }, { "atlascultural.com", true }, { "atlasdev.nl", true }, @@ -3529,7 +3589,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atom86.net", true }, { "atombase.org", true }, { "atomic-bounce.com", true }, - { "atomic.red", true }, { "atomicbounce.co.uk", true }, { "atomism.com", true }, { "atorcidabrasileira.com.br", true }, @@ -3537,14 +3596,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atpnutrition.com", true }, { "atraining.ru", true }, { "atraverscugy.ch", true }, + { "atrinik.org", true }, { "atsoftware.de", true }, + { "atspeeds.com", true }, { "attac.us", true }, { "atte.fi", true }, - { "attelage.net", true }, { "attendantdesign.com", true }, { "attendu.cz", true }, { "attention.horse", true }, - { "attilagyorffy.com", true }, { "attilavandervelde.nl", true }, { "attinderdhillon.com", true }, { "attitudes-bureaux.fr", true }, @@ -3554,6 +3613,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atulhost.com", true }, { "atviras.lt", false }, { "atvirtual.at", true }, + { "atvsafety.gov", true }, { "atwar-mod.com", true }, { "atwonline.org", true }, { "atxchirocoverage.com", true }, @@ -3564,7 +3624,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "atypicom.pt", true }, { "atzenchefin.de", true }, { "au-be.net", true }, - { "au2pb.net", true }, { "au2pb.org", true }, { "aubergegilly.ch", true }, { "aubg.org", true }, @@ -3577,7 +3636,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "audiblox.co.za", true }, { "audiense.com", false }, { "audio-detector.com", true }, - { "audiobookstudio.com", true }, + { "audiobookboo.com", true }, { "audiolibri.org", true }, { "audiolot.com", true }, { "audion.cc", true }, @@ -3594,14 +3653,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "auditos.com", true }, { "audits.io", true }, { "auditsquare.com", true }, + { "audreyjudson.com", true }, + { "auenhof-agrar.de", true }, { "auerbach-verlag.de", true }, { "auf-feindgebiet.de", true }, { "augen-seite.de", true }, - { "augiero.it", true }, { "augmentable.de", false }, { "augmented-portal.com", true }, { "august-don.site", true }, - { "august.black", true }, { "augustian-life.cz", true }, { "augustiner-kantorei-erfurt.de", true }, { "augustiner-kantorei.de", true }, @@ -3613,12 +3672,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "auntie-eileens.com.au", true }, { "aupasdecourses.com", true }, { "auplidespages.fr", true }, - { "aur.rocks", true }, + { "aurelieburn.fr", true }, { "aurelienaltarriba.fr", true }, { "aureus.pw", true }, { "auri.ga", true }, { "auricblue.com", true }, { "auriko-games.de", true }, + { "aurnik.com", true }, { "aurora-multimedia.co.uk", true }, { "auroraassociationofrealtors.com", true }, { "aurosa.cz", true }, @@ -3628,7 +3688,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aus-ryugaku.info", true }, { "ausmwoid.de", true }, { "auspicacious.org", true }, - { "ausschreibungen-suedtirol.it", true }, + { "ausrecord.com", true }, { "aussiefunadvisor.com", true }, { "aussiegreenmarks.com.au", true }, { "aussieservicedown.com", true }, @@ -3644,6 +3704,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "austinuniversityhouse.com", true }, { "australian.dating", true }, { "australianarmedforces.org", true }, + { "australianattractions.com.au", true }, { "australianimmigrationadvisors.com.au", true }, { "australien-tipps.info", true }, { "austromorph.space", true }, @@ -3652,8 +3713,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "auszeit.bio", true }, { "auth.adult", true }, { "authenticwoodcraft.com", true }, - { "authinfo-bestellen.de", true }, { "authinity.com", true }, + { "authland.com", false }, { "author24.biz", true }, { "author24.info", true }, { "authoritysolutions.com", true }, @@ -3667,6 +3728,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autoauctionsohio.com", true }, { "autoauctionsvirginia.com", true }, { "autobahnco.com", true }, + { "autobarn.co.nz", true }, { "autobedrijfgarant.nl", true }, { "autobelle.it", true }, { "autobourcier.com", true }, @@ -3683,8 +3745,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autodidacticstudios.org", true }, { "autoentrepreneurinfo.com", true }, { "autoepc.ro", true }, + { "autohaus-snater.de", true }, { "autoinsurancehavasu.com", true }, - { "autokovrik-diskont.ru", true }, + { "autokeyreplacementsanantonio.com", true }, { "autoledky.sk", true }, { "automaan.nl", true }, { "automacity.com", true }, @@ -3694,6 +3757,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "automotivegroup-usedcars.be", true }, { "automotivemechanic.org", true }, { "automoto-tom.net", true }, + { "automy.de", true }, { "autonewssite.com", true }, { "autoosijek.com", true }, { "autopapo.com.br", true }, @@ -3704,6 +3768,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autoprogconsortium.ga", true }, { "autoproshouston.com", true }, { "autorando.com", true }, + { "autorijschoolrichardschut.nl", true }, { "autoschadeschreuder.nl", true }, { "autoscuola.roma.it", true }, { "autosecurityfinance.com", true }, @@ -3718,13 +3783,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "autotechschool.com", true }, { "autoteplo.org", true }, { "autoterminus-used.be", true }, + { "autoto.hr", true }, + { "autotransportquoteservices.com", true }, { "autoverzekeringafsluiten.com", true }, { "autowerkstatt-puchheim.de", true }, { "autozane.com", true }, { "autres-talents.fr", true }, + { "autshir.com", true }, { "auux.com", true }, { "auvernet.org", true }, { "aux-arts-de-la-table.com", true }, + { "auxiliame.com", true }, + { "auxille.com", true }, { "auxquatrevents.ch", true }, { "av-yummy.com", true }, { "av0ndale.de", true }, @@ -3737,7 +3807,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "avalon-island.ru", true }, { "avalon-rpg.com", true }, { "avalon-studios.de", true }, - { "avalyuan.com", true }, { "avanet.ch", true }, { "avanet.com", true }, { "avanovum.de", true }, @@ -3766,16 +3835,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aviationstrategy.aero", true }, { "avid.blue", true }, { "avidmode-dev.com", true }, + { "avidmode-staging.com", true }, { "avidmode.com", true }, { "avidthink.com", true }, { "avietech.com", true }, { "aviv.nyc", true }, { "avlhostel.com", true }, + { "avmrc.nl", true }, { "avnet.ws", true }, { "avocadooo.stream", true }, { "avocatbeziau.com", true }, { "avocode.com", true }, - { "avotoma.com", true }, { "avova.de", true }, { "avpres.net", true }, { "avptp.org", true }, @@ -3785,23 +3855,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "avticket.ru", false }, { "avtoforex.ru", true }, { "avtogara-isperih.com", true }, + { "avtomarket.ru", true }, { "avtovokzaly.ru", true }, { "avv.li", true }, + { "avvaterra.ch", true }, { "avvcorda.com", true }, { "avvocato.bologna.it", true }, { "awardplatform.com", true }, + { "awardsplatform.com", true }, { "awaremi-tai.com", true }, { "awaresec.com", true }, { "awaresec.no", true }, + { "awarify.io", true }, + { "awarify.me", true }, { "awaro.net", true }, { "awbouncycastlehire.com", true }, { "awecademy.org", true }, - { "awen.me", true }, { "awesomebouncycastles.co.uk", true }, { "awesomesit.es", true }, - { "awin.la", true }, { "awk.tw", true }, { "awksolutions.com", true }, + { "awningcanopyus.com", true }, { "awningsaboveus.com", true }, { "awningsatlantaga.com", true }, { "awomaninherprime.com", true }, @@ -3819,14 +3893,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "axiomer.me", true }, { "axiomer.net", true }, { "axiomer.org", true }, - { "axis-stralis.co.uk", true }, { "axisfleetmanagement.co.uk", true }, { "axolotlfarm.org", false }, + { "axon-toumpa.gr", true }, { "axonholdingse.eu", true }, + { "axre.de", true }, { "axrec.de", true }, { "ay-net.jp", true }, { "ayahya.me", true }, - { "ayamchikchik.com", true }, { "ayanomimi.com", true }, { "aycomba.de", true }, { "ayesh.me", true }, @@ -3834,6 +3908,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "aylak.com", true }, { "aylesburycastlehire.co.uk", true }, { "aymerick.fr", true }, + { "aymericlagier.com", true }, { "ayothemes.com", true }, { "ayrohq.com", true }, { "ayrshirebouncycastlehire.co.uk", true }, @@ -3842,6 +3917,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "az-moga.bg", true }, { "az.search.yahoo.com", false }, { "azadliq.info", true }, + { "azane.ga", true }, + { "azarus.ch", true }, { "azazy.net", false }, { "azgfd.com", true }, { "aziende.com.ar", true }, @@ -3861,7 +3938,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "azurecrimson.com", true }, { "azuriasky.com", true }, { "azuriasky.net", true }, - { "azzag.co.uk", true }, { "azzorti.com", true }, { "azzurrapelletterie.it", true }, { "b-b-law.com", true }, @@ -3873,23 +3949,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "b-root-force.de", true }, { "b-services.net", true }, { "b-ticket.ch", true }, - { "b0618.com", true }, - { "b0618.net", true }, - { "b0868.com", true }, - { "b0868.net", true }, { "b0k.org", true }, { "b0rk.com", true }, - { "b1.work", true }, - { "b1758.com", true }, - { "b1758.net", true }, - { "b1768.com", true }, - { "b1768.net", true }, - { "b1788.com", true }, - { "b1788.net", true }, + { "b1788.net", false }, { "b1c1l1.com", true }, { "b1rd.tk", true }, - { "b2486.com", true }, - { "b2486.net", true }, { "b2and.com", false }, { "b2bmuzikbank.com", true }, { "b303.me", true }, @@ -3897,99 +3961,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "b4ckbone.de", true }, { "b4r7.de", true }, { "b4z.eu", true }, - { "b5189.com", true }, - { "b5189.net", true }, - { "b5289.com", true }, - { "b5289.net", true }, - { "b5989.com", true }, - { "b5989.net", true }, { "b64.club", true }, { "b72.com", true }, { "b72.net", true }, - { "b8591.com", true }, - { "b8591.net", true }, - { "b8979.com", true }, - { "b8979.net", true }, - { "b9018.com", true }, - { "b9018.net", true }, - { "b9108.com", true }, - { "b9108.net", true }, - { "b9110.com", true }, - { "b9110.net", true }, - { "b9112.com", true }, - { "b9112.net", true }, - { "b911gt.com", true }, - { "b911gt.net", true }, - { "b9168.com", true }, - { "b91688.com", true }, - { "b91688.info", true }, - { "b91688.net", true }, - { "b91688.org", true }, - { "b9175.com", true }, - { "b9175.net", true }, - { "b9258.com", true }, - { "b9258.net", true }, - { "b9318.com", true }, - { "b9318.net", true }, - { "b9418.com", true }, - { "b9418.net", true }, - { "b9428.com", true }, - { "b9428.net", true }, - { "b9453.com", true }, - { "b9453.net", true }, - { "b9468.com", true }, - { "b9468.net", true }, - { "b9488.com", true }, - { "b9488.net", true }, - { "b9498.com", true }, - { "b9498.net", true }, - { "b9518.com", true }, - { "b9518.info", true }, - { "b9518.net", true }, - { "b9518.org", true }, - { "b9528.com", true }, - { "b9528.net", true }, - { "b9538.com", true }, - { "b9538.net", true }, - { "b9586.net", true }, - { "b9588.net", true }, - { "b95888.net", true }, - { "b9589.net", true }, - { "b9598.com", true }, - { "b9598.net", true }, - { "b9658.com", true }, - { "b9658.net", true }, - { "b9758.com", true }, - { "b9758.net", true }, - { "b9818.com", true }, - { "b9818.net", true }, - { "b9858.com", true }, - { "b9858.net", true }, - { "b9880.com", true }, - { "b9883.net", true }, - { "b9884.net", true }, - { "b9885.net", true }, - { "b9886.net", true }, - { "b9887.net", true }, - { "b9888.net", true }, - { "b9889.net", true }, - { "b9920.com", true }, - { "b9948.com", true }, - { "b9948.net", true }, - { "b9960.com", true }, - { "b9best.cc", true }, - { "b9best.net", true }, - { "b9king.cc", true }, - { "b9king.com", true }, - { "b9king.net", true }, - { "b9winner.cc", true }, - { "b9winner.net", true }, { "baalsworld.de", true }, - { "baas-becking.biology.utah.edu", true }, + { "baazee.de", true }, { "babacasino.net", true }, { "babai.ru", true }, - { "babarkata.com", true }, { "babeleo.com", true }, + { "bablodel.biz", true }, + { "bablodel.com", true }, { "babsbibs.com", true }, { "baby-bath-tub.com", true }, { "baby-digne.com", true }, @@ -4022,9 +4003,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bacoux.com", true }, { "bacsituvansuckhoe.com", true }, { "bacula.jp", true }, + { "bad.horse", true }, { "bad.pet", true }, { "badam.co", true }, { "badanteinfamiglia.it", true }, + { "badaparda.com", true }, { "badblock.fr", true }, { "badboyzclub.de", true }, { "badf00d.de", true }, @@ -4033,6 +4016,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "badges.stg.fedoraproject.org", true }, { "badgesenpatches.nl", true }, { "badhusky.com", true }, + { "badlink.org", true }, { "badmania.fr", true }, { "badmintonbible.com", true }, { "badoo.com", true }, @@ -4056,7 +4040,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baglu.com", true }, { "bagsofbounce.co.uk", true }, { "bagspecialist.nl", true }, - { "bagstage.de", true }, { "bah.im", false }, { "bahaiprayers.io", true }, { "bahnbonus-praemienwelt.de", true }, @@ -4075,6 +4058,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "baitulongbaycruises.com", true }, { "baiyangliu.com", true }, { "bajajfinserv.in", true }, + { "bajic.ch", true }, { "baka-gamer.net", true }, { "baka.network", true }, { "baka.org.cn", true }, @@ -4086,7 +4070,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bakim.li", true }, { "bakingstone.com", true }, { "bakkerinjebuurt.be", true }, - { "bakongcondo.com", true }, { "balade-commune.ch", true }, { "baladecommune.ch", true }, { "balancascia.com.br", true }, @@ -4095,9 +4078,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "balancenaturalhealthclinic.ca", true }, { "balboa.io", true }, { "balcaonet.com.br", true }, + { "balcarek.pl", true }, { "balconnr.com", true }, { "balconsverdun.com", true }, { "baldur.cc", true }, + { "baldwin.com.au", true }, { "balia.de", true }, { "balicekzdravi.cz", true }, { "balidesignshop.com.br", true }, @@ -4106,9 +4091,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "balist.es", true }, { "balivillassanur.com", true }, { "balkonien.org", true }, + { "ball-bizarr.de", true }, { "ball.holdings", true }, { "ball3d.es", true }, { "ballarin.cc", true }, + { "balle.dk", true }, { "ballejaune.com", true }, { "balletcenterofhouston.com", true }, { "ballinarsl.com.au", true }, @@ -4121,6 +4108,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "balmofgilead.org.uk", true }, { "balslev.io", true }, { "balticer.de", true }, + { "balticmed.pl", true }, { "balticnetworks.com", true }, { "bamahammer.com", true }, { "bambooforest.nl", true }, @@ -4145,9 +4133,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bangkok.dating", true }, { "bangkokcity.de", true }, { "bangorfederal.com", false }, + { "bangridho.com", true }, { "bangumi.co", true }, + { "bangyu.wang", true }, { "banham.co.uk", true }, { "banham.com", true }, + { "banjostringiz.com", true }, { "bank.simple.com", false }, { "bankbranchlocator.com", true }, { "bankcardoffer.com", true }, @@ -4155,13 +4146,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bankerbuch.de", true }, { "bankersonline.com", true }, { "banketbesteld.nl", true }, - { "bankfreeoffers.com", true }, { "bankgradesecurity.com", true }, { "bankin.com", true }, { "bankinter.pt", true }, { "bankio.se", true }, { "banknet.gov", true }, { "bankofdenton.com", true }, + { "bankpolicies.com", true }, { "banksiaparkcottages.com.au", true }, { "bankstownapartments.com.au", true }, { "bankvanbreda.be", true }, @@ -4170,8 +4161,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bannsecurity.com", true }, { "banquevanbreda.be", true }, { "banter.city", true }, - { "bao-in.com", true }, - { "bao-in.net", true }, { "baobeiglass.com", true }, { "baofengtech.com", true }, { "baopublishing.it", true }, @@ -4179,13 +4168,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bar-harcourt.com", true }, { "barabrume.fr", true }, { "barans2239.com", true }, + { "baravalle.com", true }, + { "barbarabowersrealty.com", true }, { "barbarafabbri.com", true }, { "barbarafeldman.com", true }, { "barbarians.com", false }, - { "barbaros.info", true }, { "barbate.fr", true }, + { "barberlegalcounsel.com", true }, { "barbershop-harmony.org", true }, { "barbershop-lasvillas.com", true }, + { "barbiere.it", true }, { "barbu.family", true }, { "barburas.com", true }, { "barcamp.koeln", true }, @@ -4197,19 +4189,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bardiharborow.com", true }, { "bardiharborow.tk", true }, { "baresquare.com", true }, - { "barf-alarm.de", true }, { "baripedia.org", true }, { "bariseau-mottrie.be", true }, + { "barisi.me", true }, { "bariskaragoz.nl", true }, { "baristador.com", true }, { "barkerjr.xyz", true }, + { "barlex.pl", true }, { "barlotta.net", true }, { "barnabycolby.io", true }, { "barnel.com", true }, + { "barnfotografistockholm.se", true }, { "barpodsosnami.pl", true }, { "barracuda.com.tr", true }, { "barrera.io", true }, { "barriofut.com", true }, + { "barrydenicola.com", true }, { "barryswebdesign.co.uk", true }, { "bars.kh.ua", true }, { "barsashop.com.br", true }, @@ -4240,7 +4235,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "basementdoctor.com", true }, { "basementdoctornorthwest.com", true }, { "basementfinishingohio.com", true }, - { "basercap.co.ke", true }, + { "basementwaterproofingdesmoines.com", true }, { "baserverz.ga", true }, { "bashing-battlecats.com", true }, { "bashstreetband.co.uk", true }, @@ -4259,15 +4254,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bastelzauberwelt.de", true }, { "bastianstalder.ch", true }, { "bastiv.com", true }, - { "bastivmobile.com", true }, { "bastolino.de", true }, { "basw.eu", true }, { "baswetter.photography", true }, { "basyspro.net", true }, - { "bat909.com", true }, - { "bat909.net", true }, - { "bat9vip.com", true }, - { "bat9vip.net", true }, { "batcave.tech", true }, { "batch.com", true }, { "bati-alu.fr", true }, @@ -4282,8 +4272,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "battle-game.com", true }, { "battleboxx.com", false }, { "battleofthegridiron.com", true }, - { "batvip9.net", true }, - { "bauen-mit-ziegel.de", true }, { "bauer.network", true }, { "bauernmarkt-fernitz.at", true }, { "baugeldspezi.de", true }, @@ -4296,6 +4284,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bautied.de", true }, { "bauunternehmen-herr.de", true }, { "bauwens.cloud", true }, + { "bavartec.de", true }, { "bayareaenergyevents.com", true }, { "baychimo.com", true }, { "bayden.com", true }, @@ -4308,8 +4297,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bayerstefan.eu", true }, { "bayherbalist.com", true }, { "bayilelakiku.com", true }, + { "baykatre.com", true }, { "bayly.eu", true }, { "baymard.com", true }, + { "bayportbotswana.com", true }, + { "bayportfinance.com", true }, + { "bayportghana.com", true }, + { "bayporttanzania.com", true }, + { "bayportuganda.com", true }, + { "bayportzambia.com", true }, { "baytalebaa.com", true }, { "baywatch.io", true }, { "bayz.de", true }, @@ -4327,6 +4323,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bbcastles.com", true }, { "bbgeschenke.ch", true }, { "bbimarketing.com", true }, + { "bbinsure.com", true }, { "bbka.org.uk", true }, { "bbkaforum.co.uk", true }, { "bbkworldwide.jp", true }, @@ -4335,13 +4332,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bblsa.ch", true }, { "bbnbb.de", true }, { "bbnx.net", true }, - { "bbswin9.cc", true }, - { "bbswin9.com", true }, { "bbuio.com", false }, { "bbw.dating", true }, { "bbwcs.co.uk", true }, - { "bbxin9.com", true }, - { "bbxin9.net", true }, { "bc-bd.org", false }, { "bc-diffusion.com", true }, { "bcansw.com.au", true }, @@ -4355,6 +4348,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bck-koethen.de", true }, { "bck-lelystad.nl", true }, { "bck.me", true }, + { "bckaccompressoroz.com", true }, { "bclogandtimberbuilders.com", true }, { "bclrk.us", true }, { "bcmainland.ca", true }, @@ -4369,49 +4363,43 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bda-boulevarddesairs.com", true }, { "bdbxml.net", true }, { "bdd.fi", true }, - { "bdikaros-network.net", true }, { "bdpachicago.tech", true }, { "bdvg.org", true }, { "be-a-password.ninja", true }, { "be-ka-tec.de", true }, + { "be-real.life", false }, { "be-up-developpement.com", true }, { "be-webdesign.com", true }, { "be.search.yahoo.com", false }, { "be2cloud.de", true }, - { "be9418.com", true }, - { "be9418.info", true }, - { "be9418.net", true }, - { "be9418.org", true }, - { "be9458.com", true }, - { "be9458.info", true }, - { "be9458.net", true }, - { "be9458.org", true }, - { "be958.com", true }, - { "be958.info", true }, - { "be958.net", true }, - { "be958.org", true }, { "beacham.online", true }, + { "beachcitycastles.com", true }, { "beachfutbolclub.com", true }, - { "beacinsight.com", true }, { "beadare.com", true }, { "beadare.nl", true }, { "beaglesecurity.com", true }, { "bealpha.pl", true }, { "beamer-discount.de", true }, { "beamstat.com", true }, + { "beanbagaa.com", true }, + { "beanilla.com", true }, { "beanjuice.me", true }, { "beans-one.com", false }, + { "bearcms.com", true }, { "bearcosports.com.br", true }, { "bearded.sexy", true }, { "beardic.cn", true }, { "bearingworks.com", true }, + { "beastiejob.com", true }, { "beastowner.li", true }, { "beatfeld.de", true }, { "beatnikbreaks.com", true }, { "beatrizaebischer.ch", true }, + { "beaumelcosmetiques.fr", true }, { "beaute-eternelle.ch", true }, { "beauty-hippie-schmuck.de", true }, { "beauty-italy.ru", true }, + { "beauty-yan-enterprise.com", true }, { "beauty24.de", true }, { "beautybear.dk", true }, { "beautyby.tv", true }, @@ -4436,8 +4424,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bedandbreakfasthoekvanholland.com", true }, { "bedels.nl", true }, { "bedfordnissanparts.com", true }, - { "bedlingtonterrier.com.br", true }, { "bednar.co", true }, + { "bedrijfsfotoreportages.nl", true }, { "bedrijfsportaal.nl", true }, { "bedrocklinux.org", true }, { "bedste10.dk", true }, @@ -4480,6 +4468,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beersconf.com", true }, { "beerview.ga", true }, { "beeswax-orgone.com", true }, + { "beethoveninlove.com", true }, { "beetman.net", true }, { "beeutifulparties.co.uk", true }, { "beexfit.com", true }, @@ -4488,19 +4477,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "befoodsafe.gov", true }, { "beforeyoueatoc.com", true }, { "beframed.ch", true }, + { "befreewifi.info", true }, { "befundonline.de", true }, { "begabungsfoerderung.info", true }, { "begbie.com", true }, { "beginatzero.com", true }, { "beginner.nl", true }, { "beginwp.top", true }, - { "begoodny.co.il", true }, { "behamepresrdce.sk", true }, { "behamzdarma.cz", true }, { "behindthethrills.com", true }, { "behna24hodin.cz", true }, { "behoerden-online-dienste.de", true }, - { "beholdthehurricane.com", true }, { "behoreal.cz", true }, { "bei18.com", true }, { "beichtgenerator.de", true }, @@ -4509,6 +4497,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "beimchristoph.de", true }, { "beinad.com", true }, { "beinad.ru", true }, + { "beisance.com", true }, { "bejarano.io", true }, { "belacapa.com.br", true }, { "belanglos.de", true }, @@ -4523,6 +4512,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "belastingdienst-in-beeld.nl", false }, { "belastingmiddeling.nl", true }, { "belavis.com", true }, + { "beleggingspanden-financiering.nl", true }, { "belegit.org", true }, { "belfastbounce.co.uk", true }, { "belfastlocks.com", true }, @@ -4536,6 +4526,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "believersweb.org", true }, { "bell.id.au", true }, { "bella.network", true }, + { "bellaklein.de", true }, { "bellamodeling.com", true }, { "bellinghamdetailandglass.com", true }, { "belloy.ch", true }, @@ -4547,10 +4538,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "belmontgoessolar.org", true }, { "belouga.org", true }, { "belt.black", true }, - { "belua.com", true }, { "belvoirbouncycastles.co.uk", true }, { "bely-mishka.by", true }, { "belyvly.com", true }, + { "bemcorp.de", true }, { "bemindly.com", true }, { "bemsoft.pl", true }, { "ben-energy.com", false }, @@ -4566,10 +4557,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "benceskorka.com", true }, { "benchling.com", true }, { "benchmarkmonument.com", true }, + { "benchstoolo.com", true }, { "bencorby.com", true }, { "bendemaree.com", true }, { "bendigoland.com.au", true }, - { "bendingtheending.com", true }, { "bendix.co", true }, { "bendyworks.com", true }, { "beneathvt.com", true }, @@ -4577,6 +4568,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "benepiscinas.com.br", true }, { "beneri.se", true }, { "benevita.bio", true }, + { "benewpro.com", true }, { "bengalurugifts.com", true }, { "bengisureklam.com", true }, { "benhaney.com", true }, @@ -4585,10 +4577,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "benjamin-hering.com", true }, { "benjamin.pe", true }, { "benjaminblack.net", true }, - { "benjamindietrich.com", true }, { "benjamindietrich.de", true }, { "benjaminjurke.com", true }, - { "benjaminjurke.net", true }, { "benjaminkopelke.com", true }, { "benjaminpiquet.fr", true }, { "benjamins.com", true }, @@ -4619,12 +4609,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bentonweatherstone.co.uk", true }, { "bentrask.com", true }, { "benz-hikaku.com", true }, + { "benzi.io", true }, { "beoordelingen.be", true }, + { "bepenak.com", true }, { "bephoenix.org.uk", true }, { "bequiia.com", true }, { "beranovi.com", true }, { "berasavocate.com", true }, - { "berdaguermontes.eu", false }, { "bergenhave.nl", true }, { "berger-chiro.com", true }, { "bergevoet-fa.nl", true }, @@ -4638,6 +4629,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bergfreunde.no", true }, { "bergfreunde.se", true }, { "berglust-pur.de", true }, + { "bergmanbeachproperties.com", true }, { "bergmann-fotografin-berlin.de", true }, { "bergmann-fotografin-dortmund.de", true }, { "bergmann-fotografin-duesseldorf.de", true }, @@ -4650,8 +4642,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bergstoneware.com", true }, { "berichtsheft-vorlage.de", true }, { "berikod.ru", true }, - { "berinhard.pl", true }, - { "berliancom.com", true }, { "berlin-flirt.de", true }, { "berlin.dating", true }, { "bermeitinger.eu", true }, @@ -4662,6 +4652,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bernardez-photo.com", true }, { "bernardfischer.fr", true }, { "bernardgo.com", true }, + { "bernardo.fm", true }, { "bernat.ch", true }, { "bernat.im", true }, { "bernd-leitner-fotodesign.com", true }, @@ -4719,6 +4710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "best-music-colleges.com", true }, { "best-nursing-colleges.com", true }, { "best-pharmacy-schools.com", true }, + { "best-tickets.co.uk", true }, { "best-trucking-schools.com", true }, { "best-wallpaper.net", true }, { "best10websitebuilders.com", true }, @@ -4732,17 +4724,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bestbrakes.com", true }, { "bestbridal.top", true }, { "bestbyte.com.br", true }, - { "bestdating.today", true }, + { "bestcellular.com", false }, + { "bestdating.today", false }, + { "bestdownloadscenter.com", true }, { "bestelectricnd.com", true }, { "bestemailmarketingsoftware.org", true }, - { "bestesb.com", true }, - { "bestesb.net", true }, { "bestessaycheap.com", true }, { "bestessayhelp.com", true }, { "bestfriendsequality.org", true }, { "bestgiftever.ca", true }, { "bestgifts4you.com", true }, { "bestinductioncooktop.us", true }, + { "bestinshowing.com", true }, { "bestinver.es", true }, { "bestjumptrampolines.be", true }, { "bestkenmoredentists.com", true }, @@ -4757,16 +4750,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bestpig.fr", true }, { "bestplumbing.com", true }, { "bestschools.io", true }, + { "bestschools.top", true }, { "bestseries.tv", true }, { "bestshoesmix.com", true }, { "bestwebsite.gallery", true }, - { "bet-99.cc", true }, - { "bet-99.com", true }, - { "bet-99.net", true }, - { "bet168wy.com", true }, - { "bet168wy.net", true }, - { "bet909.com", true }, - { "bet9bet9.net", true }, + { "betaal.my", true }, { "betacavi.com", true }, { "betacloud.io", true }, { "betaclouds.net", true }, @@ -4775,14 +4763,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "betaworx.de", true }, { "betaworx.eu", true }, { "betecnet.de", true }, - { "betgo9.cc", true }, { "bethpage.net", true }, + { "betleakbot.com", true }, { "betobaccofree.gov", true }, { "betonbit.com", true }, { "betpamm.com", true }, { "betrallyarabia.com", true }, { "bets.gg", true }, { "betseybuckheit.com", true }, + { "betsharpangles.com", true }, { "betsyshilling.com", true }, { "bett1.de", true }, { "better-bounce.co.uk", true }, @@ -4800,6 +4789,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "betterscience.org", true }, { "bettertechinterviews.com", true }, { "bettertest.it", true }, + { "bettertime.de", true }, + { "bettertime.jetzt", true }, { "betterweb.fr", true }, { "betterworldinternational.org", true }, { "bettflaschen.ch", true }, @@ -4809,9 +4800,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bettrlifeapp.com", true }, { "betulashop.ch", true }, { "betwalker.com", true }, - { "between.be", true }, - { "betwin9.com", true }, - { "betwin9.net", true }, { "beulen.email", true }, { "beulen.link", true }, { "beulen.pro", true }, @@ -4829,7 +4817,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bexit.nl", true }, { "bexleycastles.co.uk", true }, { "beybiz.com", true }, - { "beylikduzuvaillant.com", true }, + { "beyerautomation.com", true }, { "beyond-infinity.org", false }, { "beyond-rational.com", true }, { "beyondalderaan.net", true }, @@ -4844,6 +4832,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bezemkast.nl", true }, { "bezpecnostsiti.cf", true }, { "bezr.co.uk", true }, + { "bezzia.com", true }, + { "bf7088.com", true }, + { "bf7877.com", true }, { "bfam.tv", true }, { "bfem.gov", true }, { "bfgcdn.com", true }, @@ -4854,7 +4845,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bft-media.com", true }, { "bftbradio.com", true }, { "bfw-online.de", true }, - { "bg-sexologia.com", true }, { "bgbhsf.top", true }, { "bgeo.io", true }, { "bgfoto.info", true }, @@ -4863,8 +4853,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bglsingles.de", true }, { "bgp.space", true }, { "bgr34.cz", true }, + { "bgs-game.com", true }, { "bgtgames.com", true }, { "bgtoyou.com", true }, + { "bguidinger.com", true }, { "bgwfans.com", true }, { "bh-oberland.de", true }, { "bh.sb", true }, @@ -4873,11 +4865,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bhost.net", true }, { "bhtelecom.ba", true }, { "bhuntr.com", true }, + { "bhxch.moe", true }, { "bi.search.yahoo.com", false }, { "biaggeo.com", true }, + { "biancolievito.it", true }, { "biano-ai.com", true }, { "biasmath.es", true }, - { "biathloncup.ru", true }, { "bible-maroc.com", true }, { "bible.ru", true }, { "bibleonline.ru", true }, @@ -4892,10 +4885,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bibuch.com", true }, { "bicecontracting.com", true }, { "bicha.net", true }, + { "bicifanaticos.com", true }, { "bicranial.io", true }, { "bicycle-events.com", true }, + { "bicycleframeiz.com", true }, { "biddl.com", true }, { "biddle.co", true }, + { "bidman.cz", true }, + { "bidman.eu", true }, { "bidu.com.br", true }, { "bie.edu", false }, { "biegal.ski", true }, @@ -4923,22 +4920,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bigbouncebouncycastles.co.uk", true }, { "bigbouncetheory.co.uk", true }, { "bigbounceuk.com", true }, + { "bigbrotherawards.nl", true }, { "bigcakes.dk", true }, { "bigclassaction.com", true }, { "bigdinosaur.org", true }, { "biggreenexchange.com", true }, + { "bigideasnetwork.com", true }, { "bigio.com.br", true }, - { "bigjohn.ru", true }, { "biglou.com", false }, { "bignumworks.com", true }, { "bigorbitgallery.org", true }, + { "bigserp.com", true }, { "bigsisterchannel.com", true }, + { "bigskylifestylerealestate.com", true }, { "bigskymontanalandforsale.com", true }, { "bigwiseguide.com", true }, { "bihub.io", true }, { "biilo.com", true }, { "bijouxcherie.com", true }, - { "bijuteriicualint.ro", true }, + { "biju-neko.jp", true }, { "bike-discount.de", true }, { "bike-kurse.ch", true }, { "bike-shack.com", true }, @@ -4960,10 +4960,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bildschirmflackern.de", true }, { "biletru.net", true }, { "biletyplus.by", true }, + { "biletyplus.com", true }, { "biletyplus.ua", true }, { "bilgo.com", true }, { "bilibili.link", true }, - { "bilibili.red", true }, { "bilimoe.com", true }, { "bilke.org", true }, { "billaud.eu.org", true }, @@ -4980,6 +4980,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "billogram.com", true }, { "billpro.com", false }, { "billrhodesbakery.com", true }, + { "billsqualityautocare.com", true }, { "billy.pictures", true }, { "billyoh.com", true }, { "billysbouncycastlehire.co.uk", true }, @@ -5004,20 +5005,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "binaryappdev.com", true }, { "binarycreations.scot", true }, { "binarydream.fi", true }, - { "binaryevolved.com", true }, { "binaryrebel.net", true }, { "binarystud.io", true }, - { "binbin9.com", true }, - { "binbin9.net", true }, { "binding-problem.com", true }, { "binfind.com", true }, { "bing.com", true }, { "bingobank.org", true }, { "binhex.net", true }, - { "binkanhada.biz", true }, { "binkconsulting.be", true }, { "binnenmeer.de", true }, { "binsp.net", true }, + { "bintangsyurga.com", true }, + { "bintelligence.info", true }, + { "bintelligence.nl", true }, { "binti.com", true }, { "bintooshoots.com", true }, { "bio-disinfestazione.it", true }, @@ -5044,10 +5044,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bioharmony.ca", true }, { "biointelligence-explosion.com", true }, { "bioknowme.com", true }, + { "bioleev.sklep.pl", true }, { "bioligo.ch", true }, { "biologis.ch", true }, { "biology-colleges.com", true }, + { "biomag.it", true }, { "biomasscore.com", true }, + { "biomed-hospital.ch", true }, + { "biomed.ch", true }, { "biometrics.es", true }, { "biomodra.cz", true }, { "biopsychiatry.com", true }, @@ -5056,9 +5060,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biosbits.org", true }, { "bioshine.com.sg", true }, { "biosignalanalytics.com", true }, - { "biospeak.solutions", true }, { "biosphere.cc", true }, + { "biospw.com", true }, { "biotechware.com", true }, + { "biotin.ch", true }, { "bipyo.com", true }, { "birbaumer.li", true }, { "birchbarkfurniture.ch", true }, @@ -5085,14 +5090,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biscoint.io", true }, { "biscuitcute.com.br", true }, { "biser-borisov.eu", true }, - { "bismarck-tb.de", true }, { "biso.ga", true }, { "bison.co", true }, { "bisq.community", true }, { "bissalama.org", true }, { "bisschopssteeg.nl", true }, { "bistrocean.com", true }, - { "bistrodeminas.com", true }, + { "bistroservice.de", true }, { "bistrotdelagare.fr", true }, { "bit-cloud.de", true }, { "bit-rapid.com", true }, @@ -5110,6 +5114,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitburner.de", true }, { "bitcalt.eu.org", true }, { "bitcalt.ga", true }, + { "bitchigo.com", true }, { "bitcoin-india.net", true }, { "bitcoin-india.org", true }, { "bitcoin.asia", true }, @@ -5121,30 +5126,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitcoin.org", true }, { "bitcoin.us", true }, { "bitcoinbitcoin.com", true }, - { "bitcoinclashic.ninja", true }, { "bitcoincore.org", true }, + { "bitcoinfees.net", true }, { "bitcoinindia.com", true }, { "bitcoinkarlsruhe.de", true }, { "bitcoinrealestate.com.au", true }, + { "bitcointhefts.com", true }, { "bitcoinwalletscript.tk", true }, { "bitcoinx.gr", true }, { "bitcoinx.ro", true }, - { "bitenose.com", true }, + { "bitcork.io", true }, + { "bitcqr.io", true }, { "bitex.la", true }, { "bitfasching.de", false }, { "bitfehler.net", true }, { "bitfence.io", true }, { "bitfinder.nl", true }, + { "bitfolio.org", true }, { "bitfuse.net", true }, { "bitgo.com", true }, { "bitgrapes.com", true }, { "bithap.com", true }, { "bithir.co.uk", true }, { "bititrain.com", true }, - { "bitk.co", true }, - { "bitk.co.uk", true }, - { "bitk.eu", true }, - { "bitk.uk", true }, { "bitlish.com", true }, { "bitlo.com", true }, { "bitlo.com.tr", true }, @@ -5158,27 +5162,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bitmidi.com", true }, { "bitminter.com", true }, { "bitmoe.com", true }, + { "bitok.com", true }, { "bitpoll.de", true }, { "bitpoll.org", true }, { "bitpumpe.net", true }, { "bitref.com", true }, { "bitrush.nl", true }, + { "bits-hr.de", true }, { "bitsafe.com.my", true }, { "bitsburg.ru", true }, - { "bitshaker.net", true }, + { "bitski.com", true }, { "bitskins.co", true }, { "bitskrieg.net", true }, + { "bitso.com", true }, { "bitsoffreedom.nl", true }, + { "bitstep.ca", true }, { "bitstorm.nl", true }, { "bitstorm.org", true }, { "bitsum.com", true }, + { "bitsy.com", true }, { "bitsync.nl", true }, - { "bitten.pw", false }, + { "bitten.pw", true }, { "bittersweetcandybowl.com", true }, { "bittylicious.com", true }, { "bitvest.io", true }, + { "bitwarden.com", true }, { "bitwolk.nl", true }, { "bitxel.com.co", true }, + { "biupay.com.br", true }, { "biurokarier.edu.pl", true }, { "bixservice.com", true }, { "biyori.moe", true }, @@ -5193,21 +5204,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "biztera.com", true }, { "biztok.eu", true }, { "biztouch.work", true }, - { "bizzi.tv", true }, { "bjarnerest.de", true }, - { "bjl5689.com", true }, - { "bjl5689.net", true }, + { "bjmgeek.science", true }, { "bjmun.cn", true }, + { "bjolanta.pl", true }, { "bjornhelmersson.se", true }, { "bjornjohansen.no", true }, { "bjs.gov", true }, { "bjsbouncycastles.com", true }, { "bkentertainments.co.uk", true }, - { "bkhayes.com", true }, { "bkhpilates.co.uk", true }, + { "bkkposn.com", true }, { "bklaindia.com", true }, { "bkositspartytime.co.uk", true }, - { "bl00.se", true }, { "bl4ckb0x.biz", true }, { "bl4ckb0x.com", true }, { "bl4ckb0x.de", true }, @@ -5216,7 +5225,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bl4ckb0x.net", true }, { "bl4ckb0x.org", true }, { "blaauwgeers.pro", true }, - { "blaauwgeers.travel", true }, { "blabber.im", true }, { "blablacar.co.uk", true }, { "blablacar.com", true }, @@ -5245,14 +5253,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blackandpony.de", true }, { "blackbag.nl", true }, { "blackbase.de", true }, - { "blackberryforums.be", true }, + { "blackbird-whitebird.com", true }, { "blackcat.ca", true }, { "blackcatinformatics.ca", true }, { "blackcatinformatics.com", true }, { "blackcicada.com", true }, { "blackdotbrewery.com", true }, { "blackdown.de", true }, - { "blackdragoninc.org", true }, { "blackedbyte.com", true }, { "blackevent.be", true }, { "blackfire.io", true }, @@ -5270,8 +5277,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blacklightparty.be", true }, { "blackmonday.gr", true }, { "blacknetwork.eu", true }, + { "blacknova.io", true }, { "blackonion.com", true }, { "blackpapermoon.de", true }, + { "blackpayment.ru", true }, { "blackphoenix.de", true }, { "blackpi.dedyn.io", true }, { "blackroadphotography.de", true }, @@ -5287,13 +5296,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blancodent.com", true }, { "blankersfamily.com", true }, { "blanket.technology", true }, - { "blantr.com", true }, { "blasorchester-runkel.de", true }, { "blastentertainment.com.au", true }, { "blastersklan.com", true }, { "blastzoneentertainments.co.uk", true }, { "blaudev.es", true }, - { "blauerhunger.de", true }, { "blayne.me", true }, { "blayneallan.com", true }, { "blazing.cz", true }, @@ -5319,14 +5326,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blieque.co.uk", true }, { "bliesekow.net", true }, { "blikk.no", true }, - { "blikund.swedbank.se", true }, { "blinder.com.co", true }, { "blindpigandtheacorn.com", true }, { "blinds-unlimited.com", true }, - { "bling9.com", true }, - { "bling999.cc", true }, - { "bling999.com", true }, - { "bling999.net", true }, { "blingsparkleshine.com", true }, { "blink-security.com", true }, { "blinking.link", true }, @@ -5336,14 +5338,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blissjoe.com", true }, { "blissplan.com", true }, { "blitzprog.org", true }, + { "blitzvendor.com", true }, { "blivawesome.dk", true }, { "blivvektor.dk", true }, { "blizhost.com", true }, { "blizhost.com.br", true }, { "blizora.com", true }, - { "blizz.news", true }, { "blkbx.eu", true }, { "blm.gov", true }, + { "blo-melchiorshausen.de", true }, { "blobfolio.com", true }, { "block-this.com", true }, { "block65.com", true }, @@ -5370,9 +5373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blogarts.net", true }, { "blogbooker.com", true }, { "blogconcours.net", true }, - { "blogcuaviet.com", true }, { "blogdelosjuguetes.com", true }, - { "blogdeyugioh.com", true }, { "blogexpert.ca", true }, { "bloggermumofthreeboys.com", true }, { "blogging-life.com", true }, @@ -5387,8 +5388,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blogsdna.com", true }, { "blogthedayaway.com", true }, { "blogtroterzy.pl", true }, + { "blok56.nl", true }, { "blokmy.com", true }, { "blood4pets.tk", true }, + { "bloodhunt.pl", true }, { "bloodsports.org", true }, { "bloom-avenue.com", true }, { "bltc.co.uk", true }, @@ -5404,8 +5407,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blue-leaf81.net", true }, { "blue42.net", true }, { "blueblou.com", true }, - { "bluecardlottery.eu", true }, - { "bluecards.eu", true }, { "bluechilli.com", true }, { "bluecon.ninja", true }, { "bluecrazii.nl", true }, @@ -5416,13 +5417,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bluefrag.com", true }, { "bluefuzz.nl", true }, { "blueimp.net", true }, + { "bluekrypt.com", true }, { "blueliquiddesigns.com.au", true }, { "bluemeda.web.id", true }, { "bluemosh.com", true }, { "bluemtnrentalmanagement.ca", true }, { "bluenote9.com", true }, { "blueoakart.com", true }, - { "bluepearl.tk", true }, + { "blueoceantech.us", true }, { "blueperil.de", true }, { "bluepoint.one", true }, { "bluepostbox.de", true }, @@ -5430,6 +5432,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blues-and-pictures.com", true }, { "blueskycoverage.com", true }, { "bluestardiabetes.com", true }, + { "bluesuncamping.com", true }, { "bluesunhotels.com", true }, { "bluetexservice.com", true }, { "bluewavewebdesign.com", true }, @@ -5439,11 +5442,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bluex.org", true }, { "blueyed.eu", true }, { "blui.ml", true }, - { "bluiandaj.ml", true }, { "bluimedia.com", true }, { "blumenfeldart.com", true }, { "blumiges-fischbachtal.de", false }, - { "blundell.wedding", true }, { "bluntandsnakes.com", true }, { "blupig.net", true }, { "bluproducts.com.es", true }, @@ -5455,6 +5456,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "blzrk.com", true }, { "bm-immo.ch", true }, { "bmhglobal.com.au", true }, + { "bminton.is-a-geek.net", true }, { "bmone.net", true }, { "bmriv.com", true }, { "bmros.com.ar", true }, @@ -5468,16 +5470,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bnjscastles.co.uk", true }, { "bnstree.com", true }, { "bnty.net", true }, - { "bo1689.com", true }, - { "bo1689.net", true }, - { "bo9club.cc", true }, - { "bo9club.com", true }, - { "bo9club.net", true }, - { "bo9fun.com", true }, - { "bo9fun.net", true }, - { "bo9game.com", true }, - { "bo9game.net", true }, - { "bo9king.net", true }, + { "bnzblowermotors.com", true }, + { "bo4tracker.com", true }, { "boardgamegeeks.de", true }, { "boards.ie", true }, { "boat-engines.eu", true }, @@ -5489,7 +5483,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bobaobei.net", true }, { "bobazar.com", true }, { "bobcopeland.com", true }, - { "bobiji.com", false }, { "bobkidbob.com", true }, { "bobkoetsier.nl", true }, { "bobnbouncedublin.ie", true }, @@ -5503,14 +5496,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bocreation.fr", true }, { "bodhi.fedoraproject.org", true }, { "bodis.nl", true }, - { "bodixite.com", true }, { "bodsch.com", true }, { "bodybuildingworld.com", true }, { "bodyconshop.com", true }, { "bodygearguide.com", true }, - { "bodymusclejournal.com", true }, { "bodypainter.pl", true }, { "bodypainting.waw.pl", true }, + { "bodyshopnews.net", true }, { "bodyweb.com.br", true }, { "bodyworkbymichael.com", true }, { "bodyworksautorebuild.com", true }, @@ -5523,6 +5515,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bogner.sh", true }, { "bogobeats.com", true }, { "bogosity.se", true }, + { "bohan.co", true }, { "bohramt.de", true }, { "boimmobilier.ch", true }, { "boincstats.com", true }, @@ -5531,13 +5524,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bokadoktorn-test.net", true }, { "boke112.com", true }, { "bokka.com", true }, + { "bokkeriders.com", true }, { "bokutake.com", true }, { "boldmediagroup.com", true }, { "boldt-metallbau.de", true }, { "bolektro.de", true }, { "bolgarnyelv.hu", true }, - { "bolivarfm.com.ve", true }, - { "bollywood.uno", true }, { "bologna-disinfestazioni.it", true }, { "bolovegna.it", true }, { "bolt.cm", false }, @@ -5560,6 +5552,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bondoer.fr", true }, { "bondskampeerder.nl", true }, { "bonebunny.de", true }, + { "bonesserver.com", true }, { "bonfi.net", true }, { "bongo.cat", true }, { "bonibuty.com", true }, @@ -5583,7 +5576,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bonsaimedia.nl", true }, { "bonsi.net", true }, { "bonux.co", true }, - { "boodaah.com", true }, { "boodmo.com", true }, { "boogaerdtmakelaars.nl", true }, { "boogiebouncecastles.co.uk", true }, @@ -5598,7 +5590,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bookluk.com", true }, { "bookmein.in", true }, { "booksearch.jp", true }, - { "bookshopofindia.com", true }, { "booksinthefridge.at", true }, { "booktracker-org.appspot.com", true }, { "bool.be", true }, @@ -5620,7 +5611,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boosinflatablegames.co.uk", true }, { "boost.fyi", true }, { "boost.ink", true }, - { "booter.pw", true }, { "bootjp.me", false }, { "bopiweb.com", true }, { "bopp.org", true }, @@ -5639,10 +5629,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "borneodictionary.com", true }, { "bornfiber.dk", true }, { "bornhack.dk", true }, - { "borowski.pw", true }, { "borrelpartybus.nl", true }, { "borysek.net", true }, - { "borzoi.com.br", true }, { "bosabosa.org", true }, { "boscoyacht.ch", true }, { "boskeopolis-stories.com", true }, @@ -5651,17 +5639,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bostonadvisors.com", true }, { "bosufitness.cz", true }, { "bosun.io", true }, - { "bosworthdental.co.uk", true }, { "bot-manager.pl", true }, { "botezdepoveste.ro", true }, { "botguard.net", true }, { "bothellwaygarage.net", true }, + { "botoes-primor.pt", true }, { "botserver.de", true }, { "botsindiscord.me", true }, { "botstack.host", true }, { "bottaerisposta.net", true }, { "bottineauneighborhood.org", true }, - { "bottke.berlin", true }, { "bou.lt", true }, { "bouah.net", true }, { "bouchard-mathieux.com", true }, @@ -5677,6 +5664,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bounce-abouts.com", true }, { "bounce-n-go.co.uk", true }, { "bounce-on.co.uk", true }, + { "bounce-r-us.co.uk", true }, { "bounce-xtreme.co.uk", true }, { "bounce4fun.co.uk", true }, { "bounce4fun.ie", true }, @@ -5722,6 +5710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bouncingbuddiesleicester.co.uk", true }, { "bouncinghigher.co.uk", true }, { "bouncingscotland.com", true }, + { "bouncourseplanner.net", true }, { "bouncy-castles-surrey.co.uk", true }, { "bouncy-tots.co.uk", true }, { "bouncybaileys.co.uk", true }, @@ -5757,19 +5746,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bouncycastlesinleeds.co.uk", true }, { "bouncycastlesisleofwight.co.uk", true }, { "bouncycastlesmonaghan.com", true }, - { "bouncycastlesperth.net", true }, { "bouncycastlessheerness.co.uk", true }, { "bouncydays.co.uk", true }, { "bouncyfeet.co.uk", true }, { "bouncygiggles.com.au", true }, { "bouncyhigher.co.uk", true }, { "bouncyhousecastlehire.co.uk", true }, - { "bouncyhouses.co.uk", true }, { "bouncykingdom.co.uk", true }, { "bouncykings.co.uk", true }, { "bouncykingsnortheast.co.uk", true }, { "bouncymacs.co.uk", true }, - { "bouncymadness.com", true }, { "bouncyrainbows.co.uk", true }, { "bouncytime.co.uk", true }, { "bouncytown.co.uk", true }, @@ -5787,6 +5773,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "boutiquefutebol.com.br", true }, { "boutiqueguenaelleverdin.com", true }, { "bouw.live", true }, + { "bouzouada.com", true }, { "bouzouks.net", true }, { "bovenwebdesign.nl", true }, { "bowdens.me", true }, @@ -5826,10 +5813,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "br3in.nl", false }, { "br7.ru", true }, { "braams.nl", true }, + { "braathe.no", true }, { "bracho.xyz", true }, { "brackets-salad.com", true }, - { "bracoitaliano.com.br", true }, { "bradbrockmeyer.com", true }, + { "bradfergusonrealestate.com", true }, { "bradfordhottubhire.co.uk", true }, { "bradfordmascots.co.uk", true }, { "bradkovach.com", true }, @@ -5852,15 +5840,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brainserve.swiss", true }, { "brainsik.net", true }, { "brainster.co", true }, + { "brainvation.de", true }, { "brainvoyagermusic.com", true }, + { "brainwav.es", true }, { "brainwork.space", true }, { "brakemanpro.com", true }, { "brakpanplumber24-7.co.za", true }, + { "brakstad.org", true }, { "bralnik.com", true }, { "brambogaerts.nl", true }, { "bramburek.net", true }, { "bramhallsamusements.com", true }, { "brammingfys.dk", true }, + { "bramsikkens.be", true }, { "bramstaps.nl", true }, { "bramvanaken.be", true }, { "bramygrozy.pl", true }, @@ -5869,9 +5861,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "branchtrack.com", true }, { "brandand.co.uk", true }, { "brandbil.dk", true }, - { "brandbuilderwebsites.com", true }, { "brandcodeconsulting.com", true }, { "brandcodestyle.com", true }, + { "brandingclic.com", true }, + { "brando753.xyz", true }, { "brandongomez.me", true }, { "brandonhubbard.com", true }, { "brandonwalker.me", true }, @@ -5907,14 +5900,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bravebaby.com.au", true }, { "bravehearts.org.au", true }, { "braviskindenjeugd.nl", true }, - { "bravisziekenhuis.nl", true }, + { "bravisziekenhuis.nl", false }, { "brazenfol.io", true }, { "brazilian.dating", true }, { "brazillens.com", true }, { "brck.nl", true }, { "brd.ro", true }, { "breadandlife.org", true }, - { "breadofgod.org", true }, { "breakingtech.it", true }, { "breakpoint.at", true }, { "breaky.de", true }, @@ -5934,7 +5926,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "breeyn.com", true }, { "brefy.com", true }, { "brege.org", true }, - { "bregnedalsystems.dk", true }, { "breitband.bz.it", true }, { "breitbild-beamer.de", true }, { "brejoc.com", true }, @@ -5948,21 +5939,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bretcarmichael.com", true }, { "brettabel.com", true }, { "brettelliff.com", true }, + { "brettlawyer.com", true }, { "brettw.xyz", true }, - { "bretz-hufer.de", true }, { "bretzner.fr", true }, { "brevboxar.se", true }, { "brewsouth.com", true }, { "brewtrackr.com", true }, + { "breznet.com", true }, { "brgins.com", true }, + { "brian-gordon.name", true }, { "brianalaway.com", true }, { "brianalawayconsulting.com", true }, { "briandwells.com", true }, { "brianfoshee.com", true }, - { "briangarcia.ga", true }, { "brianjohnson.co.za", true }, { "brianlanders.us", true }, - { "brianmwaters.net", true }, { "brianroadifer.com", true }, { "briansmith.org", true }, { "briantkatch.com", true }, @@ -5978,13 +5969,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brideandgroomdirect.ie", true }, { "bridgedirectoutreach.com", true }, { "bridgeglobalmarketing.com", true }, + { "bridgehomeloans.com", true }, { "bridgement.com", true }, { "bridgevest.com", true }, { "bridgingdirectory.com", true }, + { "bridltaceng.com", true }, { "brie.tech", true }, { "briefassistant.com", true }, { "briefhansa.de", true }, { "briefvorlagen-papierformat.de", true }, + { "brier.me", true }, { "briffoud.fr", true }, { "briggsleroux.com", true }, { "brighouse-leisure.co.uk", true }, @@ -6016,6 +6010,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "britneyclause.com", true }, { "brittanyferriesnewsroom.com", true }, { "britton-photography.com", true }, + { "brk.st", true }, { "brmsalescommunity.com", true }, { "brn.by", true }, { "brnojebozi.cz", true }, @@ -6038,7 +6033,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bronwynlewis.com", true }, { "broodbesteld.nl", true }, { "brooke-fan.com", true }, - { "brookehatton.com", true }, + { "brookehatton.com", false }, { "brooklynrealestateblog.com", true }, { "brookworth.com", true }, { "brossmanit.com", true }, @@ -6049,21 +6044,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brown-devost.com", true }, { "brownfieldstsc.org", true }, { "brownihc.com", true }, + { "browntowncountryclub.com", true }, { "browsemycity.com", true }, { "browserleaks.com", true }, { "brring.com", true }, + { "brrr.fr", true }, { "bru6.de", true }, { "brucekovner.com", true }, { "brucemartin.net", true }, { "brucemobile.de", false }, { "bruck.me", true }, - { "bruckner.li", true }, + { "brudkista.se", true }, + { "brudkistan.nu", true }, + { "brudkistan.se", true }, { "bruna-cdn.nl", true }, { "brunick.de", false }, { "brunn.email", true }, { "brunner.ninja", true }, { "brunohenc.from.hr", true }, { "brunoproduit.ch", true }, + { "brunoramos.com", true }, + { "brunoramos.org", true }, { "brunosouza.org", true }, { "brush.ninja", true }, { "bruun.co", true }, @@ -6074,9 +6075,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "brycecanyon.net", true }, { "brycecanyonnationalpark.com", true }, { "bryggebladet.dk", true }, + { "brztec.com", true }, { "brzy-svoji.cz", true }, { "bs-network.net", true }, { "bs-security.com", true }, + { "bs.sb", true }, { "bs.to", true }, { "bs12v.ru", true }, { "bsa157.org", true }, @@ -6084,7 +6087,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bsc-rietz.at", true }, { "bscc.support", true }, { "bsd-box.net", true }, - { "bsd.com.ro", true }, { "bsdes.net", true }, { "bsdfreak.dk", true }, { "bsdlab.com", true }, @@ -6092,7 +6094,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bsdunix.xyz", true }, { "bsee.gov", true }, { "bserved.de", true }, - { "bsg-aok-muenchen.de", true }, { "bsg.ro", true }, { "bsgamanet.ro", true }, { "bsidesf.com", true }, @@ -6106,38 +6107,43 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bsquared.org", true }, { "bst.gg", true }, { "bstoked.net", true }, - { "bsuru.xyz", true }, { "bsw-solution.de", true }, { "bt123.xyz", true }, { "bta.lv", false }, - { "btc2secure.com", true }, { "btcarmory.com", true }, { "btcbolsa.com", true }, + { "btcontract.com", true }, { "btcpop.co", true }, { "btcycle.org", true }, + { "btine.tk", true }, { "btio.pw", true }, { "btmstore.com.br", true }, { "btnissanparts.com", true }, { "btorrent.xyz", true }, - { "btrb.ml", true }, { "btsapem.com", true }, { "btsoft.eu", true }, { "btsow.com", true }, { "bttc.co.uk", true }, + { "btth.live", true }, { "btth.pl", true }, { "btth.tv", true }, { "btth.xyz", true }, { "bttorj45.com", true }, - { "bturboo.com", true }, + { "buayacorp.com", true }, { "bubblegumblog.com", true }, { "bubblespetspa.com", true }, { "bubblin.io", true }, { "bubblinghottubs.co.uk", true }, { "bubblybouncers.co.uk", true }, { "bubhub.io", true }, + { "bubulazi.com", false }, + { "bubulazy.com", false }, + { "bucek.cz", true }, { "buch-angucken.de", true }, { "buchhandlungkilgus.de", true }, { "buchwegweiser.com", true }, + { "buckelewrealtygroup.com", true }, + { "bucketlist.co.ke", true }, { "buckypaper.com", true }, { "buddhismus.net", true }, { "buddie5.com", true }, @@ -6154,10 +6160,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "budgiesballoons.com", true }, { "budntod.com", true }, { "budolfs.de", true }, - { "buehnenbande.ch", false }, { "bueltge.de", true }, { "buena-vista.cz", true }, { "buena.me", true }, + { "bueny.com", true }, + { "bueny.net", true }, { "bueroplus.de", true }, { "bueroschwarz.design", true }, { "bueroshop24.de", true }, @@ -6171,11 +6178,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bugginslab.co.uk", true }, { "bugs.chromium.org", true }, { "bugsmashed.com", true }, + { "bugwie.com", true }, { "bugzil.la", true }, { "bugzilla.mozilla.org", true }, { "build.chromium.org", true }, { "buildbox.io", true }, { "buildbytes.com", true }, + { "buildhoscaletraingi.com", true }, { "building-cost-estimators.com", true }, { "buildingclouds.de", true }, { "buildingcostestimators.co.uk", true }, @@ -6188,14 +6197,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "builtory.my", true }, { "builtvisible.com", true }, { "builtwith.com", true }, + { "buissonchardin.fr", true }, { "bukkenfan.jp", true }, { "bul3seas.eu", true }, { "bulario.com", true }, { "bulario.net", true }, { "bulbcompare.com", true }, - { "bulbgenie.com", true }, { "bulkcandystore.com", true }, { "bulkingtime.com", true }, + { "bulkowespacerkowo.nl", true }, { "bulktrade.de", true }, { "bulktshirtsjohannesburg.co.za", true }, { "bulkwholesalesweets.co.uk", true }, @@ -6203,6 +6213,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bulldog-hosting.de", true }, { "bulledair-savons.ch", true }, { "bullettags.com", true }, + { "bullpendaily.com", true }, { "bullshitmail.nl", true }, { "bullterrier.nu", true }, { "bulwarkhost.com", true }, @@ -6211,8 +6222,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bundespolizei-forum.de", true }, { "bungee.pw", true }, { "bungee.systems", true }, + { "bungeetaco.com", true }, { "bunkyo-life.com", true }, { "bunny-rabbits.com", true }, + { "bunnycarenotes.com", true }, + { "bunnydiamond.de", true }, { "bunnyvishal.com", true }, { "bunzy.ca", true }, { "bupropion.com", true }, @@ -6220,12 +6234,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buradangonder.com", true }, { "burcevo.info", true }, { "burfordbedandbreakfast.co.uk", true }, + { "burg-hohnstein.com", true }, { "burgernet.nl", true }, { "burgers.io", true }, { "burghardt.pl", true }, { "buri.be", false }, { "burialinsurancenetwork.com", true }, - { "buricloud.fr", true }, { "burke.services", true }, { "burlapsac.ca", true }, { "burncorp.org", true }, @@ -6249,17 +6263,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "burzmali.com", true }, { "burzmedia.com", true }, { "burzstudios.com", true }, + { "busanhs.win", true }, { "bushbaby.com", true }, { "busindre.com", true }, { "business-garden.com", true }, { "business.facebook.com", false }, - { "businessadviceperth.com.au", true }, { "businesscentermarin.ch", true }, { "businessesdirectory.eu", true }, { "businessfactors.de", true }, { "businessimmigration-eu.com", true }, { "businessimmigration-eu.ru", true }, + { "businessloanconnection.org", false }, { "businessmadeeasypodcast.com", true }, + { "businessmarketingblog.org", true }, { "businessplanexperts.ca", true }, { "businessradar.com.au", true }, { "businesswebadmin.com", true }, @@ -6272,9 +6288,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "busyon.cloud", true }, { "butarque.es", true }, { "buthowdoyoubuygroceries.com", true }, + { "butikpris.se", true }, { "butikvip.ru", true }, { "butteramotors.com", true }, - { "buttermilk.cf", true }, { "buttonline.ch", true }, { "buttonrun.com", true }, { "buturyu.net", true }, @@ -6282,8 +6298,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buurtpreventiefraneker.nl", true }, { "buxum-communication.ch", true }, { "buy-out.jp", true }, - { "buy-thing.com", true }, - { "buyaccessible.gov", true }, { "buybike.shop", true }, { "buycarpet.shop", true }, { "buycbd.store", true }, @@ -6299,36 +6313,31 @@ static const nsSTSPreload kSTSPreloadList[] = { { "buyplussize.shop", true }, { "buyprofessional.shop", true }, { "buyritefairview.com", true }, + { "buysellinvestproperties.com", true }, { "buyseo.store", true }, + { "buysuisse.shop", true }, { "buytermpaper.com", true }, { "buytheway.co.za", true }, { "buywine.shop", true }, { "buzz.tools", true }, + { "buzzconf.io", true }, { "buzzcontent.com", true }, { "buzzprint.it", true }, { "bvalle.com", true }, { "bvgg.eu", true }, { "bvl.aero", true }, - { "bvv-europe.eu", true }, { "bw.codes", true }, { "bwcscorecard.org", true }, { "bwe-seminare.de", true }, - { "bwf11.com", true }, - { "bwf55.com", true }, - { "bwf6.com", true }, - { "bwf66.com", true }, - { "bwf77.com", true }, - { "bwf99.com", true }, { "bwfc.nl", true }, - { "bwh1.net", true }, + { "bwh1.net", false }, { "bwilkinson.co.uk", true }, { "bwl-earth.club", true }, { "bws16.de", true }, - { "bwwb.nu", true }, + { "bwserhoscaletrainaz.com", true }, { "bx-n.de", true }, { "bxdev.me", true }, { "bxp40.at", true }, - { "by.cx", true }, { "byange.pro", true }, { "byatte.com", true }, { "byeskille.no", true }, @@ -6342,15 +6351,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bynet.cz", true }, { "bynumlaw.net", true }, { "bypass.sh", true }, + { "byr.moe", true }, { "byrko.cz", true }, { "byrko.sk", true }, - { "byronprivaterehab.com.au", true }, { "byrtz.de", true }, + { "bytanchan.com", true }, { "byte-time.com", true }, { "byte128.com", true }, { "bytearts.net", false }, { "bytebucket.org", true }, { "bytecode.no", true }, + { "bytecrafter.com", true }, + { "bytecrafter.net", true }, { "bytejail.com", true }, { "bytema.cz", true }, { "bytema.eu", true }, @@ -6372,8 +6384,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "bythisverse.com", true }, { "bytrain.net", true }, { "byvshie.com", true }, - { "bywin9.com", true }, - { "bzhub.bid", true }, { "bziaks.xyz", true }, { "bzsparks.com", true }, { "bztech.com.br", true }, @@ -6391,9 +6401,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "c0rporation.com", true }, { "c2design.it", true }, { "c2o-library.net", true }, + { "c3sign.de", true }, { "c3vo.de", true }, { "c3w.at", true }, { "c3wien.at", true }, + { "c3woc.de", true }, { "c4539.com", true }, { "c4k3.net", true }, { "c5h8no4na.net", true }, @@ -6411,7 +6423,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cabforum.org", true }, { "cabineritten.nl", true }, { "cabinet-bedin.com", true }, - { "cablehighspeed.net", true }, + { "cabinetfurnituree.com", true }, { "cablemod.com", true }, { "cablesandkits.com", true }, { "cabotfinancial.co.uk", true }, @@ -6420,10 +6432,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cacaolalina.com", true }, { "cacaumidade.com.br", true }, { "caceis.bank", true }, + { "cachacacha.com", true }, + { "cachedview.nl", true }, { "cachetagalong.com", true }, { "cachetur.no", true }, { "cackette.com", true }, { "cad-noerdlingen.de", true }, + { "cadacoon.com", true }, + { "cadafamilia.de", true }, { "cadams.io", true }, { "cadcreations.co.ke", true }, { "cadetsge.ch", true }, @@ -6437,7 +6453,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cadsys.net", true }, { "cadusilva.com", true }, { "caesarkabalan.com", true }, - { "cafe-service.ru", false }, { "cafedupont.be", true }, { "cafedupont.co.uk", true }, { "cafedupont.de", true }, @@ -6447,11 +6462,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cafeobscura.nl", true }, { "caferagazzi.de", true }, { "cafericoy.com", true }, + { "cafeterasbaratas.net", true }, { "caffeinatedcode.com", true }, { "cagalogluyayinevi.com", true }, + { "caglarcakici.com", true }, + { "caijunyi.net", true }, { "cainhosting.com", false }, { "caitcs.com", true }, { "caiwenjian.xyz", true }, + { "caizx.com", false }, { "caja-pdf.es", true }, { "cajio.ru", true }, { "cajunuk.co.uk", true }, @@ -6482,24 +6501,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "calculator.tf", true }, { "calcworkshop.com", true }, { "caldaro.de", true }, - { "caldecotevillagehall.co.uk", true }, { "caldoletto.com", true }, { "caleb.cx", true }, { "caleb.host", true }, { "calebennett.com", true }, { "calebthompson.io", true }, + { "calehoo.com", true }, { "calendar.cf", true }, { "calendarr.com", true }, { "calendarsnow.com", true }, { "calendly.com", true }, + { "calenfil.com", true }, + { "calentadores-solares-sunshine.com", true }, { "caletka.cz", true }, { "calgoty.com", true }, { "calibreapp.com", true }, { "calibso.net", true }, { "caliderumba.com", true }, - { "calidoinvierno.com", true }, { "calixte-concept.fr", true }, { "call.me", true }, + { "callanan.nl", true }, + { "callantonia.com", true }, { "callawayracing.se", false }, { "callear.org", true }, { "callhub.io", true }, @@ -6515,6 +6537,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "calvin.my", true }, { "calvinallen.net", false }, { "calyxengineers.com", true }, + { "calyxinstitute.org", false }, + { "camara360grados.com", true }, { "camaradivisas.com", true }, { "camaras.uno", true }, { "camarilloelectric.com", true }, @@ -6523,6 +6547,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "camarillolandscapelighting.com", true }, { "camarillolighting.com", true }, { "camarillooutdoorlighting.com", true }, + { "camashop.de", true }, { "camastowncar.com", true }, { "cambier.org", true }, { "cambiowatch.ch", true }, @@ -6539,7 +6564,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cameraviva.com.br", true }, { "camerweb.es", true }, { "camilomodzz.net", true }, - { "camjobs.net", true }, { "camolist.com", true }, { "camomile.desi", true }, { "camp-pleinsoleil.ch", true }, @@ -6551,10 +6575,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "campaignwiki.org", true }, { "campamentos.info", true }, { "campbellapplianceheatingandair.com", true }, - { "campbrainybunch.com", true }, { "campcambodia.org", true }, { "campcanada.org", true }, - { "campeonatoalemao.com.br", true }, { "camperdays.de", true }, { "camperlist.com", true }, { "campermanaustralia.com", true }, @@ -6568,11 +6590,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "campula.cz", true }, { "campus-discounts.com", true }, { "campus-finance.com", true }, - { "campusdrugprevention.gov", true }, + { "campusdrugprevention.gov", false }, { "campuswire.com", true }, { "campvana.com", true }, { "campwabashi.org", true }, { "camshowstorage.com", true }, + { "camshowverse.com", true }, { "camsky.de", false }, { "canada-tourisme.ch", true }, { "canadabread.com", false }, @@ -6583,15 +6606,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "canadianchristianity.com", false }, { "canadianoutdoorequipment.com", true }, { "canadiantouristboard.com", true }, + { "canal-onanismo.org", true }, { "canalsidehouse.be", true }, { "canalsidehouse.com", true }, + { "canariculturacolor.com", true }, { "canarymod.net", true }, { "cancerdata.nhs.uk", true }, { "candaceplayforth.com", true }, + { "candelec.com", true }, { "candeo-books.nl", true }, { "candex.com", true }, + { "candguchocolat.com", true }, { "candicecity.com", true }, { "candidasa.com", true }, + { "candidaturedunprix.com", true }, { "candlcastles.co.uk", true }, { "cando.eu", true }, { "candyout.com", true }, @@ -6618,10 +6646,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "canterberry.cc", true }, { "canterburybouncycastlehire.co.uk", true }, { "cantrack.com", true }, - { "canva-dev.com", true }, { "canva.com", true }, { "canx.org", true }, - { "canyons.media", true }, + { "canyonshoa.com", true }, { "canyoupwn.me", true }, { "cao.gov", true }, { "cao.la", true }, @@ -6629,6 +6656,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "caoshan60.com", true }, { "capachitos.cl", true }, { "capacityproject.org", true }, + { "capebretonpiper.com", true }, { "capekeen.com", true }, { "capellidipremoli.com", true }, { "caphane.com", true }, @@ -6637,8 +6665,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capital-match.com", true }, { "capitalcap.com", true }, { "capitalcollections.org.uk", true }, + { "capitalfps.com", true }, { "capitalibre.com", true }, { "capitalism.party", true }, + { "capitalmediaventures.co.uk", true }, { "capitalp.jp", true }, { "capitalquadatv.org.nz", true }, { "capitolpathways.org", true }, @@ -6651,6 +6681,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capstansecurity.co.uk", true }, { "capstansecurity.com", true }, { "capstoneinsights.com", true }, + { "capsulesubs.fr", true }, { "captain-dandelion.com", true }, { "captainark.net", true }, { "captainsinn.com", true }, @@ -6661,6 +6692,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "capuchinox.com", true }, { "caputo.com", true }, { "caputodesign.com", true }, + { "car-shop.top", true }, { "car.info", true }, { "car24.de", true }, { "car24portal.de", true }, @@ -6676,9 +6708,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carbon12.software", true }, { "carboneselectricosnettosl.info", false }, { "carbonmade.com", false }, - { "carbonmonoxidelawyer.net", true }, { "carbono.uy", true }, { "carbontv.com", true }, + { "carburetorcycleoi.com", true }, { "carck.co.uk", true }, { "carck.uk", true }, { "cardboard.cx", true }, @@ -6703,13 +6735,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cardxl.nl", true }, { "care4all.com", true }, { "careeapp.com", true }, + { "career.support", true }, { "careeroptionscoach.com", true }, { "careerpower.co.in", true }, { "careers.plus", true }, { "carefour.nl", true }, { "caremad.io", true }, + { "carepassport.com", true }, { "caretta.co.uk", true }, - { "carey.li", false }, { "careyshop.cn", true }, { "carezone.com", false }, { "carfinancehelp.com", true }, @@ -6729,9 +6762,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carisenda.com", true }, { "carkeysanantonio.com", true }, { "carlandfaith.com", true }, + { "carlgo11.com", true }, { "carlife-at.jp", true }, { "carlili.fr", true }, { "carlingfordapartments.com.au", true }, + { "carlinmack.com", true }, { "carlmjohnson.net", true }, { "carlo.mx", false }, { "carlobiagi.de", true }, @@ -6739,6 +6774,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carlocksmithbaltimore.com", true }, { "carlocksmithellicottcity.com", true }, { "carlocksmithfallbrook.com", true }, + { "carlocksmithkey.com", true }, { "carlocksmithlewisville.com", true }, { "carlocksmithmesquite.com", true }, { "carlocksmithtucson.com", true }, @@ -6754,16 +6790,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carolcappelletti.com", true }, { "carolcestas.com", true }, { "caroli.com", true }, - { "caroli.info", true }, { "caroli.name", true }, { "caroli.net", true }, { "carolina.cz", true }, { "carolinaclimatecontrolsc.com", true }, { "carolynjoyce.com.au", true }, + { "carpetandhardwoodflooringpros.com", true }, { "carpetcleaningtomball.com", true }, { "carrando.com", true }, { "carre-lutz.com", true }, - { "carrentalsathens.com", true }, { "carriedin.com", true }, { "carrierplatform.com", true }, { "carringtonrealtygroup.com", true }, @@ -6772,7 +6807,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "carrollservicecompany.com", true }, { "carrosserie-dubois.com", true }, { "carseatchecks.ca", true }, + { "carshippingcarriers.com", true }, { "carson-aviation-adventures.com", true }, + { "carson-matthews.co.uk", true }, { "carsoug.com", true }, { "carspneu.cz", true }, { "cartadeviajes.cl", true }, @@ -6788,7 +6825,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cartadeviajes.pe", true }, { "cartadeviajes.uk", true }, { "carteirasedistintivos.com.br", true }, - { "cartelcircuit.com", true }, { "carterstad.se", true }, { "cartertonscouts.org.nz", true }, { "cartesentreprises-unicef.fr", true }, @@ -6801,12 +6837,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cartouche-deal.fr", true }, { "cartouche24.eu", true }, { "cartucce24.it", true }, + { "cartwrightrealestate.com", true }, { "carun.us", true }, { "carusorealestate.com", true }, { "caryefurd.com", true }, + { "casa-app.de", true }, { "casa-due-pur.com", true }, { "casa-due-pur.de", true }, { "casa-due.com", true }, + { "casa-lunch-break.de", true }, { "casa-lunchbreak.de", true }, { "casa-mea-inteligenta.ro", true }, { "casa-su.casa", true }, @@ -6817,7 +6856,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "casadasportasejanelas.com", true }, { "casadoarbitro.com.br", true }, { "casadowifi.com.br", true }, + { "casaessencias.com.br", true }, { "casalindamex.com", true }, + { "casalunchbreak.de", true }, { "casamariposaspi.com", true }, { "casapalla.com.br", true }, { "casasuara.com", true }, @@ -6829,30 +6870,40 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cascavelle.fr", true }, { "cascavelle.nl", true }, { "case-vacanza-salento.com", true }, + { "casecoverkeygi.com", true }, { "casecurity.org", true }, + { "caseof.tk", true }, { "caseplus-daem.de", true }, + { "caseycapitalpartners.com", true }, { "cash-4x4.com", true }, { "cashati.com", true }, { "cashbook.co.tz", true }, { "cashbot.cz", true }, + { "cashfazz.com", true }, { "cashlink.de", true }, { "cashlink.io", true }, { "cashlogic.ch", true }, { "cashmaxtexas.com", true }, { "cashplk.com", true }, + { "casino-cash-flow.su", true }, + { "casino-cashflow.ru", true }, + { "casino-online.info", true }, { "casino-trio.com", true }, { "casinobonuscodes.online", true }, { "casinomucho.com", true }, { "casinomucho.org", true }, { "casinomucho.se", true }, { "casinoonlinesicuri.com", true }, + { "casinovergleich.com", true }, { "casio-caisses-enregistreuses.fr", true }, + { "casirus.com", true }, { "casjay.cloud", true }, { "casjay.info", true }, { "casjay.us", true }, { "casjaygames.com", true }, { "caspar.ai", true }, { "casperpanel.com", true }, + { "caspicards.com", true }, { "cassimo.com", true }, { "castbulletassoc.org", false }, { "casteloinformatica.com.br", true }, @@ -6868,16 +6919,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "castles4kidz.com", true }, { "castles4rascalsiow.co.uk", true }, { "castlesrus-kent.com", true }, - { "castleswa.com.au", true }, { "casualdesignsfurniture.com", true }, { "casusgrillcaribbean.com", true }, { "cat-blum.com", true }, { "cat-box.de", true }, { "cat.net", true }, + { "cat73.org", true }, { "catalog.beer", true }, { "catalogobiblioteca.com", true }, { "catalogoreina.com", true }, { "catalogosvirtualesonline.com", true }, + { "catalyconv.com", true }, { "catalystapp.co", true }, { "catbold.space", true }, { "catbull.com", true }, @@ -6887,6 +6939,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "catchfotografie.nl", true }, { "catchhimandkeephim.com", true }, { "catchief.com", true }, + { "catcoxx.de", true }, { "catdecor.ru", true }, { "catenacondos.com", true }, { "catering-xanadu.cz", true }, @@ -6899,7 +6952,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "catherinescastles.co.uk", true }, { "catholics.dating", true }, { "cathosa.nl", true }, - { "cathosting.org", true }, { "cathy.guru", true }, { "cathy.website", true }, { "cathyfitzpatrick.com", true }, @@ -6912,7 +6964,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "catl.st", true }, { "catmoose.ca", true }, { "catnet.dk", false }, - { "catprog.org", true }, { "cattivo.nl", false }, { "catuniverse.org", true }, { "catveteran.com", true }, @@ -6928,6 +6979,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "caxalt.com", true }, { "caylercapital.com", true }, { "cazaviajes.es", true }, + { "cazes.info", true }, { "cb-crochet.com", true }, { "cbbank.com", true }, { "cbc-hire.co.uk", true }, @@ -6947,8 +6999,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cc-brantomois.fr", true }, { "ccac.gov", true }, { "ccavenue.com", true }, + { "ccc-ch.ch", true }, { "cccwien.at", true }, - { "ccgn.co", true }, { "ccgx.de", true }, { "ccoooss.com", true }, { "ccprwebsite.org", true }, @@ -6957,7 +7009,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ccsys.com", true }, { "cctvcanada.net", true }, { "cctvview.info", true }, - { "ccu.io", true }, { "ccu.plus", true }, { "ccv-deutschland.de", true }, { "ccv.ch", true }, @@ -6976,7 +7027,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cdda.ch", true }, { "cdepot.eu", true }, { "cdkeykopen.com", true }, - { "cdlcenter.com", true }, { "cdn.ampproject.org", true }, { "cdn6.de", true }, { "cdncompanies.com", true }, @@ -6988,6 +7038,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cdshining.com", true }, { "cdu-wilgersdorf.de", true }, { "cduckett.net", true }, + { "cdvl.org", true }, { "ce-pimkie.fr", true }, { "ceagriproducts.com", true }, { "cebz.org", true }, @@ -7009,9 +7060,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "celectro-pro.com", true }, { "celiendev.ch", true }, { "celine-patisserie.fr", true }, + { "cellebrite.com", true }, { "celltek-server.de", false }, + { "celltesequ.com", true }, { "celluliteorangeskin.com", true }, { "celluliteremovaldiet.com", true }, + { "celtadigital.com", true }, { "celti.ie.eu.org", true }, { "celti.name", true }, { "celuliteonline.com", true }, @@ -7019,6 +7073,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cemeteriat.com", true }, { "ceml.ch", true }, { "cenatorium.pl", true }, + { "cennelley.com", true }, + { "cennelly.com", true }, { "censurfridns.dk", true }, { "censurfridns.nu", true }, { "censys.io", true }, @@ -7028,7 +7084,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "centennialseptic.com", true }, { "centerpereezd.ru", false }, { "centerpoint.ovh", true }, - { "centillien.com", false }, { "centio.bg", true }, { "centos.tips", true }, { "centralbank.ae", true }, @@ -7043,6 +7098,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "centredaccueil.fr", true }, { "centreoeil.ch", true }, { "centrobill.com", true }, + { "centrodoinstalador.com.br", true }, { "centrojovencuenca.es", true }, { "centromasterin.com", true }, { "centroperugia.gr", true }, @@ -7072,10 +7128,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cermak.photos", true }, { "cernakova.eu", true }, { "cerpus-course.com", true }, - { "cerstve-korenie.sk", true }, - { "cerstvekorenie.sk", true }, + { "cerrajeriaamericadelquindio.com", true }, { "cert.govt.nz", true }, { "cert.or.id", true }, + { "certaintelligence.com", true }, { "certcenter.ch", true }, { "certcenter.co.uk", true }, { "certcenter.com", true }, @@ -7087,6 +7143,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "certificatedetails.com", true }, { "certificatespending.com", true }, { "certificatetools.com", true }, + { "certifiedfieldassociate.com", true }, { "certifiednurses.org", true }, { "certmonitor.com.au", true }, { "certmonitor.net", true }, @@ -7094,6 +7151,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "certspotter.com", true }, { "certspotter.org", true }, { "cervejista.com", true }, + { "ces-ltd.co.uk", true }, { "cesantias.co", true }, { "cesboard.com", true }, { "cesdb.com", true }, @@ -7110,6 +7168,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cevo.com.hr", true }, { "ceyizlikelisleri.com", true }, { "cf-ide.de", true }, + { "cf-tm.net", true }, { "cfa.gov", true }, { "cfan.space", true }, { "cfda.gov", true }, @@ -7119,6 +7178,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cfno.org", true }, { "cfo.gov", true }, { "cfpa-formation.fr", true }, + { "cfsh.tk", true }, { "cftc.gov", true }, { "cftcarouge.com", true }, { "cfttt.com", true }, @@ -7140,13 +7200,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cgurtner.ch", true }, { "ch-laborit.fr", true }, { "ch-sc.de", true }, + { "ch.bzh", true }, { "ch.search.yahoo.com", false }, { "ch47f.com", true }, { "chabaudparfum.com", true }, { "chabert-provence.fr", true }, { "chabik.com", true }, + { "chad.ch", true }, { "chadstoneapartments.com.au", true }, - { "chadtaljaardt.com", true }, { "chaffeyconstruction.com", true }, { "chaifeng.com", true }, { "chainedunion.info", true }, @@ -7169,8 +7230,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "champions.co", true }, { "championsofpowerfulliving.com", true }, { "championweb.co.nz", true }, + { "championweb.com", true }, { "championweb.com.au", true }, + { "championweb.com.sg", true }, { "championweb.nz", true }, + { "championweb.sg", true }, { "champonthis.de", true }, { "champserver.net", false }, { "chancekorte.com", true }, @@ -7189,15 +7253,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chaos-games.org", true }, { "chaos-inc.de", true }, { "chaos.run", true }, - { "chaoscastles.co.uk", true }, { "chaoschemnitz.de", true }, { "chaosdorf.de", true }, { "chaosfield.at", true }, { "chaoslab.org", true }, + { "chaospott.de", true }, { "chaosriftgames.com", true }, { "chaoswars.ddns.net", true }, { "chaotichive.com", true }, - { "chaoticlaw.com", true }, { "chapelaria.tf", true }, { "chapelfordbouncers.co.uk", true }, { "chapiteauxduleman.fr", true }, @@ -7205,16 +7268,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "charbonnel.eu", true }, { "charcoal-se.org", true }, { "charcoalvenice.com", true }, + { "charge.co", true }, { "chargedmonkey.com", true }, { "chargify.com", true }, { "charisma.ai", true }, { "charissadescande.com", true }, { "charitylog.co.uk", true }, - { "charl.eu", true }, { "charlenevondell.com", true }, { "charles-darwin.com", true }, { "charlesbwise.com", true }, - { "charlesjay.com", true }, { "charlesmilette.net", true }, { "charlespitonltd.com", true }, { "charlesrogers.co.uk", true }, @@ -7228,11 +7290,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "charlotte-touati.ch", true }, { "charlotteomnes.com", true }, { "charlottesvillegolfcommunities.com", true }, + { "charlottesvillehorsefarms.com", true }, { "charlotteswimmingpoolbuilder.com", true }, { "charmander.me", true }, { "charmanterelefant.at", true }, { "charmingsaul.com", true }, - { "charmyadesara.com", true }, { "charr.xyz", true }, { "chars.ga", true }, { "charta-digitale-vernetzung.de", true }, @@ -7240,11 +7302,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chartkick.com", true }, { "chartpen.com", true }, { "chartsy.de", true }, - { "charuru.moe", true }, - { "chasafilli.ch", true }, + { "chartwellestate.com", true }, + { "charuru.moe", false }, { "chascrazycreations.com", true }, { "chaseandzoey.de", true }, { "chasetrails.co.uk", true }, + { "chat-house-adell.com", true }, { "chat-libera.org", true }, { "chat-senza-registrazione.net", true }, { "chat.cz", true }, @@ -7311,8 +7374,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cheapiesystems.com", true }, { "cheapssl.com.tr", true }, { "cheapticket.in", true }, + { "cheatengine.pro", true }, { "check.torproject.org", false }, { "checkecert.nl", true }, + { "checkjelinkje.nl", true }, { "checkmyessay.com", true }, { "checkmyessays.com", true }, { "checkmyip.com", true }, @@ -7332,14 +7397,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cheekymonkeysinflatables.co.uk", true }, { "cheela.org", true }, { "cheeseemergency.co.uk", true }, - { "cheesehosting.net", true }, - { "cheetahwerx.com", true }, { "cheez.systems", true }, { "cheezflix.uk", true }, { "chefwear.com", true }, { "chehalemgroup.com", true }, { "cheladmin.ru", true }, - { "chelema.xyz", true }, { "cheltenhambounce.co.uk", true }, { "cheltenhambouncycastles.co.uk", true }, { "cheltik.ru", true }, @@ -7349,7 +7411,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chenapartment.com", true }, { "chengxindong.com", true }, { "chenkun.pro", true }, - { "chenky.com", true }, { "chenna.me", true }, { "chennien.com", true }, { "chenpei.org", true }, @@ -7366,15 +7427,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cherrywoodtech.com", true }, { "chertseybouncycastles.co.uk", true }, { "chesapeakebaychristmas.com", true }, + { "chess.com", true }, + { "chessboardao.com", true }, { "chesscoders.com", true }, + { "chesskid.com", true }, { "chesspoint.ch", true }, - { "chesterlestreetasc.co.uk", true }, + { "chesterlestreetasc.co.uk", false }, { "chestnut.cf", true }, { "chevy37.com", true }, { "chevymotor-occasions.be", true }, { "chewey.de", true }, { "chewey.org", true }, - { "chez-janine.de", true }, + { "chewingucand.com", true }, { "chez-oim.org", true }, { "chez.moe", true }, { "chfr.search.yahoo.com", false }, @@ -7415,16 +7479,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chimeratool.com", true }, { "chimerity.com", true }, { "chimpanzee.net", true }, - { "chinacdn.org", true }, { "chinahighlights.ru", true }, { "chinaspaceflight.com", true }, { "chinatrademarkoffice.com", true }, - { "chinawhale.com", true }, { "ching.tv", true }, { "chint.ai", true }, { "chinwag.im", true }, { "chinwag.org", true }, - { "chipcore.com", true }, + { "chipcore.com", false }, { "chipglobe.com", true }, { "chippy.ch", false }, { "chips-scheduler.de", true }, @@ -7451,24 +7513,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chmsoft.ru", true }, { "chmurakotori.ml", true }, { "choc-o-lush.co.uk", true }, + { "chocgu.com", true }, { "chocodecor.com.br", true }, { "chocolah.com.au", false }, - { "chocolate13tilias.com.br", true }, + { "chocolat.work", true }, { "chocolatesandhealth.com", true }, { "chocolatier-tristan.ch", true }, + { "chocolytech.info", true }, + { "chocotough.nl", true }, { "choiceautoloan.com", true }, - { "choisirmonerp.com", true }, { "chokladfantasi.net", true }, + { "chomp.life", true }, { "chon.io", true }, { "chonghe.org", true }, { "chook.as", true }, { "choootto.club", true }, { "choosemypc.net", true }, + { "chopperdesign.com", true }, { "chorkley.co.uk", true }, { "chorkley.com", true }, { "chorkley.uk", true }, { "chorpinkpoemps.de", true }, { "chosenplaintext.org", true }, + { "chotlo.com", true }, { "chourishi-shigoto.com", true }, { "chovancova.sk", true }, { "chowii.com", true }, @@ -7485,11 +7552,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chrisirwin.ca", true }, { "chrisjean.com", true }, { "chrislane.com", true }, + { "chrismathys.com", true }, { "chrismcclendon.com", true }, { "chrismckee.co.uk", true }, { "chrismorgan.info", true }, { "chrismurrayfilm.com", true }, { "chrisnekarda.com", true }, + { "chrisplankhomes.com", true }, { "chrispstreet.com", true }, { "christadelphiananswers.org", true }, { "christadelphians.eu", true }, @@ -7498,13 +7567,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "christensenplace.us", true }, { "christerwaren.fi", true }, { "christiaanconover.com", true }, + { "christian-fischer.pictures", true }, + { "christian-folini.ch", true }, { "christian-gredig.de", true }, { "christian-host.com", true }, - { "christian-krug.website", true }, { "christian-liebel.com", true }, { "christian-stadelmann.de", true }, { "christianbargon.de", false }, { "christiancleva.com", true }, + { "christiancoleman.info", true }, { "christianfaq.org", true }, { "christianforums.com", true }, { "christiangehring.org", true }, @@ -7516,7 +7587,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "christianpeltier.com", true }, { "christianpilgrimage.com.au", true }, { "christians.dating", true }, - { "christianscholz.de", true }, + { "christianscholz.de", false }, { "christiehawkes.com", true }, { "christiesantiques.com", true }, { "christmascard.be", true }, @@ -7524,6 +7595,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "christoph-conrads.name", true }, { "christophbartschat.com", true }, { "christopher-simon.de", true }, + { "christopher.sh", true }, { "christopherandcharlotte.uk", true }, { "christopherburg.com", true }, { "christopherkennelly.com", true }, @@ -7552,18 +7624,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "chrpaul.de", true }, { "chrstn.eu", true }, { "chrysanthos.net", true }, + { "chshouyu.com", true }, { "chsterz.de", true }, { "chuchote-moi.fr", true }, { "chuck.ovh", true }, + { "chuill.com", true }, { "chun.pro", true }, { "chunche.net", true }, { "chunk.science", true }, { "chupadelfrasco.com", true }, { "chuppa.com.au", true }, - { "churchlinkpro.com", true }, { "churchofsaintrocco.org", true }, + { "churchofscb.org", true }, { "churchthemes.com", true }, + { "churchwebcanada.ca", true }, + { "churchwebsupport.com", true }, { "churningtracker.com", true }, + { "chybeck.net", true }, { "chyen.cc", true }, { "chytraauta.cz", true }, { "chziyue.com", true }, @@ -7571,15 +7648,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ci-suite.com", true }, { "ci5.me", true }, { "ciancode.com", true }, + { "ciania.pl", true }, { "cianmawhinney.me", true }, { "ciansc.com", true }, + { "ciaracode.com", true }, { "ciat.no", false }, + { "cibercactus.com", true }, { "cidbot.com", true }, { "cidersus.com.ec", true }, { "cie-theatre-montfaucon.ch", true }, { "cielbleu.org", true }, { "cielly.com", true }, + { "cierreperimetral.com", true }, { "cifop-numerique.fr", true }, + { "ciftlikesintisi.com", true }, { "cig-dem.com", true }, { "cigar-cartel.com", true }, { "ciiex.co", true }, @@ -7588,21 +7670,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cimballa.com", true }, { "cimfax.com", true }, { "cinafilm.com", true }, - { "cinay.pw", true }, { "cindydudley.com", true }, { "cine-music.de", true }, { "cine.to", true }, { "cinefilzonen.se", true }, + { "cinefun.net", true }, { "cinemarxism.com", true }, { "cinemasetfree.com", true }, { "cinemysticism.com", true }, { "cineplex.my", true }, + { "cinerama.com.br", false }, { "cinnabon.com", true }, { "cinq-elements.com", true }, { "cinq-elements.fr", true }, { "cinq-elements.net", true }, { "cinsects.de", true }, - { "cintactimber.com", true }, { "cinteo.com", true }, { "cio-ciso-interchange.org", true }, { "cio-cisointerchange.org", true }, @@ -7622,6 +7704,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cipria.no", true }, { "cipy.com", true }, { "cir.is", true }, + { "circady.com", true }, { "circara.com", true }, { "circle-people.com", true }, { "circu.ml", true }, @@ -7635,14 +7718,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cirurgicagervasio.com.br", true }, { "cirurgicalucena.com.br", true }, { "cirurgicasalutar.com.br", true }, - { "ciscodude.net", false }, + { "ciscodude.net", true }, { "cisoaid.com", true }, { "cisofy.com", true }, { "cispeo.org", true }, { "ciss.ltd", true }, { "cisum-cycling.com", true }, { "cisy.me", true }, - { "citationgurus.com", true }, { "citcuit.in", true }, { "cities.cl", true }, { "citimarinestore.com", true }, @@ -7660,14 +7742,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "city-walks.info", true }, { "citya.com", true }, { "citybeat.de", true }, + { "cityfloorsupply.com", true }, { "citylights.eu", true }, { "citymoobel.ee", true }, { "cityoftitans.com", true }, { "cityoftitansmmo.com", true }, { "citysportapp.com", true }, { "cityworksonline.com", true }, + { "ciubotaru.tk", true }, { "ciurcasdan.eu", true }, { "civicforum.pl", true }, + { "civilbikes.com", true }, { "civilg20.org", true }, { "civillines.nl", true }, { "civiltoday.com", true }, @@ -7695,6 +7780,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ckostecki.de", true }, { "cktennis.com", true }, { "cl.search.yahoo.com", false }, + { "cl0ud.space", true }, { "clacetandil.com.ar", true }, { "claimconnect.com", true }, { "claimconnect.us", true }, @@ -7705,7 +7791,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clanebouncycastles.com", true }, { "clangwarnings.com", true }, { "clanrose.org.uk", true }, - { "clanthor.com", true }, { "clanwarz.com", true }, { "clarkeaward.com", true }, { "clarkwinkelmann.com", true }, @@ -7723,6 +7808,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "classroomcountdown.co.nz", true }, { "classteaching.com.au", true }, { "classyvaper.de", true }, + { "claster.it", true }, { "claude-leveille.com", true }, { "claude.tech", true }, { "claudia-urio.com", true }, @@ -7731,16 +7817,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clawe.de", true }, { "clawhammer.dk", true }, { "clayandcottonkirkwood.com", true }, + { "claygregory.com", true }, + { "clayprints.com", true }, { "claytonstowing.com.au", true }, { "clazzrooms.com", true }, { "cldfile.com", true }, { "cldly.com", true }, { "cleanapproachnw.com", true }, - { "cleanbeautymarket.com.au", true }, { "cleanbrowsing.org", true }, { "cleancode.club", true }, { "cleandetroit.org", true }, { "cleandogsnederland.nl", true }, + { "cleanfiles.us", true }, { "cleanhouse2000.us", true }, { "cleaningbyrosie.com", true }, { "cleaningservicejulai.com", true }, @@ -7755,6 +7843,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clearvoice.com", true }, { "clemenscompanies.com", true }, { "clement-beaufils.fr", true }, + { "clementfevrier.fr", true }, { "cles-asso.fr", true }, { "cles.jp", true }, { "clevergod.net", true }, @@ -7766,8 +7855,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clicecompre.com.br", true }, { "clicheshishalounge.co.uk", true }, { "click-licht.de", true }, + { "click4web.com", true }, { "clickclock.cc", true }, { "clickenergy.com.au", true }, + { "clickingmad.com", true }, { "clickphish.com", true }, { "clicksaveandprint.com", true }, { "clien.net", true }, @@ -7775,13 +7866,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clientboss.com", true }, { "clientsecure.me", true }, { "clifflu.net", true }, - { "climaencusco.com", true }, { "climaprecio.es", true }, { "climateinteractive.org", true }, { "climatestew.com", true }, { "clindoeilmontagne.com", true }, { "clingout.com", true }, - { "clinicadam.com", false }, + { "clinicadam.com", true }, { "clinicadelogopedia.net", true }, { "clinicalrehabilitation.info", true }, { "clinicaltrials.gov", true }, @@ -7791,8 +7881,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cliniquevethuy.be", true }, { "clintonlibrary.gov", true }, { "clintonplasticsurgery.com", true }, - { "clip.ovh", false }, { "clipclip.com", true }, + { "clippings.com", true }, { "clive.io", true }, { "clmde.de", true }, { "clnc.to", true }, @@ -7801,7 +7891,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clochix.net", true }, { "clockcaster.com", true }, { "clockworksms.com", true }, - { "clojurescript.ru", true }, + { "clod-hacking.com", true }, { "cloppenburg-autmobil.com", true }, { "cloppenburg-automobil.com", true }, { "clorophilla.net", true }, @@ -7809,8 +7899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "closelinksecurity.co.uk", true }, { "closelinksecurity.com", true }, { "closetemail.com", true }, - { "cloturea.fr", true }, - { "cloud-surfer.net", true }, + { "cloud-surfer.net", false }, { "cloud.bugatti", true }, { "cloud.fail", true }, { "cloud.google.com", true }, @@ -7819,43 +7908,38 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloud9bouncycastlehire.com", true }, { "cloudapps.digital", true }, { "cloudbolin.es", true }, - { "cloudbreaker.de", true }, { "cloudbrothers.info", true }, { "cloudcactuar.com", false }, { "cloudcaprice.net", true }, + { "cloudchart.site", true }, { "cloudcite.net", true }, { "cloudcloudcloud.cloud", true }, - { "cloudconsulting.net.za", true }, - { "cloudconsulting.org.za", true }, - { "cloudconsulting.web.za", true }, { "cloudcrux.net", true }, { "cloudey.net", true }, - { "cloudfiles.at", true }, { "cloudflare-dns.com", true }, { "cloudflare.com", true }, { "cloudflareonazure.com", true }, { "cloudia.org", true }, { "cloudily.com", true }, - { "cloudimprovedtest.com", true }, { "cloudkeep.nl", true }, { "cloudkit.pro", false }, + { "cloudland.club", true }, { "cloudlessdreams.com", true }, { "cloudlight.biz", true }, { "cloudnote.cc", true }, { "cloudns.net", true }, { "cloudoptimizedsmb.com", true }, { "cloudoptimus.com", true }, - { "cloudpengu.in", true }, { "cloudpipes.com", true }, { "cloudse.co.uk", true }, { "cloudsecurityalliance.org", true }, { "cloudservice.io", true }, { "cloudservices.nz", true }, { "cloudsign.jp", true }, - { "cloudsocial.io", true }, { "cloudspace-analytics.com", true }, { "cloudspeedy.net", true }, { "cloudspire.net", true }, + { "cloudtocloud.tk", true }, { "cloudtropia.de", true }, { "cloudtskr.com", true }, { "cloudup.com", true }, @@ -7865,6 +7949,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cloxy.com", true }, { "clr3.com", true }, { "clsfoundationrepairandwaterproofing.com", true }, + { "clsimage.com", true }, { "clsoft.ch", true }, { "clu-in.org", true }, { "club-adulti.ro", true }, @@ -7881,6 +7966,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clubcorsavenezuela.com", true }, { "clubdelzapato.com", true }, { "clubedalutashop.com", true }, + { "clubefiel.com.br", true }, { "clubempleos.com", true }, { "clubeohara.com", true }, { "clubfamily.de", true }, @@ -7890,9 +7976,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "clubmini.jp", true }, { "clubnoetig-ink2g.de", true }, { "clubon.space", true }, - { "clubscannan.ie", true }, { "clueful.ca", true }, - { "clush.pw", true }, { "cluster.biz.tr", true }, { "clusteranalyse.net", true }, { "clusterfuck.nz", true }, @@ -7901,14 +7985,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cm.center", true }, { "cmacacias.ch", true }, { "cmadeangelis.it", true }, - { "cmahy.be", true }, + { "cmc.pt", true }, + { "cmcelectrical.com", true }, { "cmcressy.ch", true }, { "cmdline.org", true }, { "cme-colleg.de", true }, { "cmf.qc.ca", true }, { "cmfaccounting.com", true }, { "cmftech.com", true }, + { "cmgacheatcontrol.com", true }, { "cmillrehab.com", true }, + { "cmitao.com", true }, { "cmlachapelle.ch", true }, { "cmlancy.ch", true }, { "cmlignon.ch", true }, @@ -7920,14 +8007,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cms-weble.jp", true }, { "cmskeyholding.co.uk", true }, { "cmskeyholding.com", true }, - { "cmusical.es", true }, + { "cmv.gr", true }, { "cmylife.nl", true }, { "cn.search.yahoo.com", false }, { "cn8522.com", true }, { "cna-aiic.ca", true }, { "cna5.cc", true }, { "cnam-idf.fr", true }, - { "cnam.net", true }, { "cnatraining.network", true }, { "cnbs.ch", true }, { "cnc-lehrgang.de", true }, @@ -7936,14 +8022,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cncrans.ch", true }, { "cnet-hosting.com", true }, { "cni-certing.it", true }, + { "cnnet.in", true }, { "cnre.eu", true }, { "cnvt.fr", true }, { "co-factor.ro", true }, { "co-founder-stuttgart.de", true }, { "co.search.yahoo.com", false }, - { "co2eco.cn", true }, { "co50.com", true }, - { "coa.one", true }, { "coachezmoi.ch", true }, { "coachfederation.ro", true }, { "coaching-impulse.ch", true }, @@ -7955,10 +8040,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coathangastrangler.com", true }, { "coathangerstrangla.com", true }, { "coathangerstrangler.com", true }, - { "coatl-industries.com", true }, + { "coatl-industries.com", false }, { "cobalt.io", true }, { "cobaltgp.com", true }, + { "cobaltis.co.uk", true }, { "cobracastles.co.uk", true }, + { "cocaine-import.agency", true }, { "cocaine.ninja", true }, { "cocalc.com", true }, { "cocareonline.com", true }, @@ -7974,13 +8061,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cocoscastles.co.uk", true }, { "cocquyt-usedcars.be", true }, { "cocubes.com", true }, - { "cocyou.ooo", true }, { "coda.io", true }, { "coda.moe", true }, { "coda.today", true }, { "coda.world", true }, + { "codabix.com", true }, + { "codabix.de", true }, { "code-golf.io", true }, { "code-poets.co.uk", true }, + { "code-vikings.de", true }, { "code-well.com", true }, { "code.facebook.com", false }, { "code.fm", true }, @@ -7989,18 +8078,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "code67.com", true }, { "codeandpeace.com", true }, { "codebrahma.com", false }, + { "codebreaking.org", true }, { "codecommunity.io", true }, + { "codedelarouteenligne.fr", true }, { "codedump.net", true }, { "codeeclipse.com", true }, { "codeferm.com", true }, { "codefordus.de", true }, { "codefordus.nrw", true }, + { "codehz.one", true }, { "codein.ca", true }, { "codeine.co.uk", true }, { "codeit.guru", true }, { "codeit.us", true }, { "codejots.com", true }, - { "codejunkie.de", false }, { "codemill.se", true }, { "codemonster.eu", true }, { "codenode.io", true }, @@ -8013,11 +8104,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codereview.appspot.com", false }, { "codereview.chromium.org", false }, { "coderme.com", true }, + { "coderware.co.uk", true }, { "codes.pk", true }, { "codesplain.in", true }, { "codesport.io", true }, { "codespromo.be", true }, - { "codestep.io", true }, { "codestudies.net", true }, { "codesyncro.com", true }, { "codetheworld.com", true }, @@ -8034,7 +8125,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codific.com", true }, { "codific.eu", true }, { "codigo-bonus-bet.es", true }, - { "codigodelbonusbet365.com", true }, + { "codigosddd.com.br", true }, { "codimaker.com", true }, { "coding-minds.com", true }, { "coding.lv", true }, @@ -8045,14 +8136,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "codingrobots.com", true }, { "codxg.org", true }, { "codyevanscomputer.com", true }, - { "codymoniz.com", true }, { "codyqx4.com", true }, { "codyscafesb.com", true }, + { "coens.me.uk", true }, { "coentropic.com", true }, + { "cofbev.com", true }, { "coffee-mamenoki.jp", true }, { "coffeeandteabrothers.com", true }, { "coffeetime.fun", true }, - { "coffeetocode.me", true }, { "cogala.eu", true }, { "cogent.cc", true }, { "cogilog.com", true }, @@ -8061,7 +8152,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cognitip.com", true }, { "cognitivecomputingconsortium.com", true }, { "cognitohq.com", true }, - { "cognixia.com", true }, { "cogsquad.house", true }, { "coi-verify.com", true }, { "coiffeurschnittstelle.ch", true }, @@ -8078,6 +8168,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coincoin.eu.org", true }, { "coincolors.co", true }, { "coindatabase.net", true }, + { "coindeal.com", true }, { "coinf.it", true }, { "coinflux.com", true }, { "coingate.com", true }, @@ -8097,9 +8188,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colapsys.net", true }, { "colasjourdain.fr", true }, { "coldawn.com", false }, + { "coldcardwallet.com", true }, { "coldfff.com", false }, { "coldhak.ca", true }, { "coldstreamcreekfarm.com", true }, + { "colectivointerconductual.com", true }, { "colegiocierp.com.br", true }, { "colemak.com", true }, { "colengo.com", true }, @@ -8133,11 +8226,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "collegeconnexxions.com.au", true }, { "collegenavigator.gov", true }, { "collegeprospectsofcentralindiana.com", true }, + { "collegestationhomes.com", true }, { "collinel-hossari.com", true }, { "collinelhossari.com", true }, { "collinklippel.com", true }, { "collinmbarrett.com", true }, - { "colo-tech.com", true }, { "colombian.dating", true }, { "coloppe.com", true }, { "coloraid.net", true }, @@ -8154,6 +8247,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "colourfulcastles.co.uk", true }, { "colpacpackaging.com", true }, { "colson-occasions.be", true }, + { "coltellisurvival.com", true }, { "coltonrb.com", true }, { "columbuswines.com", true }, { "colyakootees.com", true }, @@ -8170,6 +8264,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comcol.nl", true }, { "comdurav.com", true }, { "comeals.com", true }, + { "comefollowme2016.com", true }, { "comeoishii.com", true }, { "comercialtpv.com", true }, { "comerford.net", true }, @@ -8179,6 +8274,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comff.net", true }, { "comfintouch.com", true }, { "comflores.com.br", true }, + { "comfortmastersinsulation.com", true }, + { "comfun.net", true }, { "comhack.com", true }, { "comicspornos.com", true }, { "comicspornoxxx.com", true }, @@ -8191,32 +8288,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "commechezvous.ch", true }, { "commerce.gov", true }, { "commercial-academy.fr", true }, + { "commeunamour.com", true }, { "commissionagenda.com", true }, { "commitsandrebases.com", true }, { "common.io", true }, { "commoncode.com.au", true }, { "commoncode.io", true }, { "commoncore4kids.com", true }, + { "commonspace.la", true }, { "communityblog.fedoraproject.org", true }, { "communitycodeofconduct.com", true }, - { "communityflow.info", true }, { "communitymanagertorrejon.com", true }, { "communote.net", true }, { "como-se-escribe.com", true }, - { "comocurarlagastritis24.online", true }, { "comocurarlagastritistratamientonatural.com", true }, - { "comodesinflamarlashemorroides.org", true }, { "comodo.nl", true }, { "comodormirmasrapido.com", true }, { "comodosslstore.com", true }, { "comoeliminarlaspapulasperladasenelglande.com", true }, { "comogene.com", true }, - { "comohacerelamoraunhombrenet.com", true }, + { "comohacerblog.net", true }, { "comohacerpara.com", true }, { "comoimportar.net", true }, { "comopuededejardefumar.net", true }, - { "comoquitarlacaspa24.com", true }, - { "comoquitarlasestriasrapidamente.com", true }, { "comosatisfaceraunhombreenlacamaydejarloloco.com", true }, { "comosecarabarriga.net", true }, { "comoseduzir.net", true }, @@ -8225,6 +8319,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compactchess.cc", true }, { "compagnia-buffo.de", true }, { "compagniemartin.com", true }, + { "comparatif-moto.fr", true }, { "compareandrecycle.co.uk", true }, { "compareandrecycle.com", false }, { "compareinsurance.com.au", true }, @@ -8239,6 +8334,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "comphare.nl", true }, { "compibus.fr", true }, { "compilenix.org", true }, + { "compleetondernemen.nl", true }, { "completefloorcoverings.com", true }, { "completesecurityessex.co.uk", true }, { "completesecurityessex.com", true }, @@ -8261,8 +8357,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "compubench.com", true }, { "compucastell.ch", true }, { "compucorner.mx", true }, + { "compunetwor.com", true }, { "compuplast.cz", true }, - { "compusolve.nl", true }, { "computehealth.com", true }, { "computer-acquisti.com", true }, { "computer-science-schools.com", true }, @@ -8270,12 +8366,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "computerassistance.co.uk", true }, { "computerbas.nl", true }, { "computerbase.de", true }, - { "computercraft.net", true }, + { "computercamaccgi.com", true }, { "computeremergency.com.au", false }, + { "computerfreunde-barmbek.de", true }, { "computerhilfe-feucht.de", true }, { "computernetwerkwestland.nl", true }, { "computerslotopschool.nl", true }, { "computersystems.guru", false }, + { "computop.com", true }, + { "comtily.com", true }, { "comunidadmontepinar.es", true }, { "comvos.de", true }, { "comw.cc", true }, @@ -8288,7 +8387,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "concertsenboite.fr", true }, { "concertsto.com", true }, { "conciliumnotaire.ca", true }, - { "conclinica.com.br", true }, { "concordsoftwareleasing.com", true }, { "concretelevelingsystems.com", true }, { "concreterepairatlanta.com", true }, @@ -8313,13 +8411,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "conejovalleylighting.com", true }, { "conejovalleyoutdoorlighting.com", true }, { "conexiontransporte.com", true }, + { "conference.dnsfor.me", true }, { "confiancefoundation.org", true }, { "config.schokokeks.org", false }, { "confiwall.de", true }, - { "conflux.tw", true }, { "conformax.com.br", true }, - { "conformist.jp", true }, - { "confucio.cl", true }, { "congineer.com", true }, { "congobunkering.com", true }, { "conju.cat", true }, @@ -8347,6 +8443,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "connyduck.at", true }, { "conociendosalama.com", true }, { "conocimientosdigitales.com", true }, + { "conorboyd.info", true }, { "conory.com", true }, { "conpath.net", true }, { "conpins.nl", true }, @@ -8357,7 +8454,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "consagracionamariasantisima.org", true }, { "consciousbrand.co", true }, { "consciouschoices.net", true }, + { "consciousnesschange.com", true }, { "consec-systems.de", true }, + { "consegnafioridomicilio.net", true }, { "consejosdenutricion.com", true }, { "consensoprivacy.it", true }, { "conservados.com.br", true }, @@ -8374,11 +8473,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "constancechen.me", true }, { "constant-rough.de", true }, { "constares.de", true }, + { "constitution.website", true }, { "constructexpres.ro", true }, { "constructieve.nl", true }, { "construction-colleges.com", true }, { "construction-student.co.uk", true }, { "constructionjobs.com", true }, + { "constructive.men", true }, { "consul.io", true }, { "consulenza.pro", true }, { "consultation.biz.tr", true }, @@ -8405,7 +8506,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "conti-profitlink.co.uk", true }, { "continuum.memorial", true }, { "contrabass.net", true }, - { "contractdigital.co.uk", true }, { "contractormountain.com", true }, { "contractwriters.com", true }, { "contraspin.co.nz", true }, @@ -8425,7 +8525,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "conversionsciences.com", true }, { "convert.im", true }, { "convert.zone", true }, - { "converter.ml", true }, { "converticacommerce.com", false }, { "convexset.org", true }, { "convocatoriafundacionpepsicomexico.org", false }, @@ -8448,6 +8547,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cookwithmanali.com", true }, { "cool-parties.co.uk", true }, { "cool-wallpapers.jp", true }, + { "cool.haus", true }, { "cool110.tk", true }, { "cool110.xyz", true }, { "coolattractions.co.uk", true }, @@ -8458,12 +8558,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "coolerssr.space", true }, { "coolgifs.de", true }, { "coolprylar.se", true }, - { "coolrc.me", true }, - { "coolviewthermostat.com", true }, { "coolwallet.io", true }, { "coonawarrawines.com.au", true }, { "coopens.com", true }, - { "coor.fun", true }, + { "cooperativehandmade.com", true }, + { "cooperativehandmade.pe", true }, { "coore.jp", true }, { "coorpacademy.com", true }, { "copdfoundation.org", true }, @@ -8480,6 +8579,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "copycaught.org", true }, { "copycaught.xyz", true }, { "copycrafter.net", true }, + { "copydz.com", true }, { "copypoison.com", true }, { "copyright-watch.org", true }, { "coquibus.net", true }, @@ -8496,6 +8596,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "core.mx", true }, { "core.org.pt", true }, { "coreapm.org", true }, + { "corecodec.com", true }, { "coredump.gr", true }, { "coreless-stretchfilm.com", true }, { "corelia.net", true }, @@ -8526,6 +8627,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corpio.nl", true }, { "corpkitnw.com", true }, { "corpoflow.nl", true }, + { "corporacioninternacionallideres.org", true }, { "corporateclash.net", true }, { "corporatecomputingsolutions.com", true }, { "corporateinfluencers.com", true }, @@ -8535,12 +8637,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corpulantcoffee.com", true }, { "corpulent.coffee", true }, { "corpulentcoffee.com", true }, + { "corpuschristisouthriver.org", true }, { "corpusslayer.com", true }, { "corrbee.com", true }, { "correctiv.org", true }, { "corrick.io", true }, { "corrupted.io", true }, { "corsa-b.uk", true }, + { "corscanplus.com", true }, { "corsectra.com", true }, { "corsihaccpsicurezzalavoro.it", true }, { "cortexitrecruitment.com", true }, @@ -8551,7 +8655,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "corvus.eu.org", true }, { "coryadum.com", true }, { "corytyburski.com", true }, - { "corzntin.fr", false }, { "cosasque.com", true }, { "cosciamoos.com", true }, { "cosirex.com", true }, @@ -8561,9 +8664,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cosmeticappraisal.com", true }, { "cosmeticasimple.com", true }, { "cosmeticos-naturales.com", true }, - { "cosmeticosdelivery.com.br", true }, { "cosmic-os.org", true }, { "cosmicnavigator.com", true }, + { "cosmintataru.ro", true }, { "cosmodacollection.com", true }, { "cosmofunnel.com", true }, { "cosmundi.de", true }, @@ -8574,16 +8677,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "costa-rica-reisen.de", true }, { "costablanca.villas", true }, { "costablancavoorjou.com", true }, - { "costcofinance.com", true }, + { "costcoinsider.com", true }, { "costellofc.co.uk", true }, { "costinstefan.eu", true }, { "costreportdata.com", false }, { "costulessdirect.com", true }, { "coteries.com", true }, + { "cotoacc.com", true }, { "cotonmusic.ch", true }, { "cotta.dk", true }, { "cotwe-ge.ch", true }, { "cougar.dating", true }, + { "counsellingtime.com", true }, { "counstellor.com", true }, { "counter-team.ch", true }, { "counterglobal.com", true }, @@ -8591,6 +8696,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "countermail.com", false }, { "countermats.net", true }, { "countersolutions.co.uk", true }, + { "countetime.com", true }, { "countingto.one", true }, { "countryattire.com", true }, { "countrybrewer.com.au", true }, @@ -8599,15 +8705,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "countybankdel.com", true }, { "countyjailinmatesearch.com", true }, { "coupe-bordure.com", true }, + { "couplay.org", true }, { "couponcodesme.com", true }, { "cour4g3.me", true }, { "couragefound.org", true }, + { "coursables.com", true }, { "coursera.org", true }, { "courtlistener.com", true }, { "couscous.recipes", true }, + { "cousincouples.com", false }, { "coussinsky.net", true }, { "couvreur-hinault.fr", true }, - { "covaci.pro", true }, { "covbounce.co.uk", true }, { "covenantoftheriver.org", true }, { "covermytrip.com.au", true }, @@ -8619,16 +8727,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cowbird.org", true }, { "cowboyim.com", true }, { "coweo.cz", true }, + { "cowo.group", true }, + { "coworking-luzern.ch", true }, + { "coxcapitalmanagement.com", true }, { "coxxs.me", true }, { "coxxs.moe", true }, { "cozo.me", true }, { "cozyeggdesigns.com", true }, { "cp-st-martin.be", true }, { "cpahunt.com", false }, + { "cpap.com", true }, + { "cpasperdu.com", true }, { "cpbapremiocaduceo.com.ar", true }, { "cpcheats.co", true }, { "cpd-education.co.uk", true }, { "cpe-colleg.de", true }, + { "cpgarmor.com", true }, { "cphpvb.net", true }, { "cplala.com", true }, { "cplus.me", true }, @@ -8638,6 +8752,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cpqcol.gov.co", true }, { "cprheartcenter.com", true }, { "cprnearme.com", true }, + { "cpsc.gov", true }, + { "cpsq.fr", true }, { "cptoon.com", true }, { "cpu.biz.tr", true }, { "cpvmatch.eu", true }, @@ -8645,9 +8761,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cqn.ch", true }, { "cr.search.yahoo.com", false }, { "cr0nus.net", true }, + { "cr9499.com", true }, + { "cra-bank.com", true }, + { "cra-search.net", true }, { "craazzyman21.at", true }, { "crackcat.de", true }, { "cracker.in.th", true }, + { "crackers4cheese.com", true }, { "crackle.io", true }, { "crackorsquad.in", true }, { "crackstation.net", true }, @@ -8655,7 +8775,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "craft-verlag.de", true }, { "craftandbuild.de", true }, { "craftcommerce.com", true }, - { "craftinghand.com", true }, { "craftinginredlipstick.com", true }, { "craftist.de", true }, { "craftsmandruggets.com", true }, @@ -8666,12 +8785,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "craigary.net", true }, { "craigbates.co.uk", true }, { "craigfrancis.co.uk", true }, + { "craigleclaireteam.com", true }, { "craigrouse.com", true }, { "craigwfox.com", true }, { "cralarm.de", true }, { "crandall.io", true }, { "cranforddental.com", true }, + { "cranshafengin.com", true }, { "crapouill.es", true }, + { "cratss.co.uk", true }, { "crawcial.de", true }, { "crawford.cloud", true }, { "crawfordcountytcc.org", true }, @@ -8679,8 +8801,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crawler.ninja", true }, { "crawleybouncycastles.co.uk", true }, { "crawlspaceandbasementsolutions.com", true }, + { "crazy-bulks.com", true }, { "crazy-cat.net", true }, { "crazy-coders.com", true }, + { "crazybulk.co.uk", true }, + { "crazybulk.com", true }, + { "crazybulk.fr", true }, { "crazycastles.ie", true }, { "crazydomains.ae", true }, { "crazydomains.co.nz", true }, @@ -8691,21 +8817,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crazynoisybizarre.town", true }, { "crazypaul.com", true }, { "crbug.com", true }, + { "crc-bank.com", true }, + { "crc-search.com", true }, { "crdmendoza.net", true }, { "crea-etc.net", true }, { "crea-shops.ch", true }, { "crea.bg", true }, { "creadstudy.com", true }, - { "crealogix-online.com", true }, { "creamcastles.co.uk", true }, { "creared.edu.co", true }, - { "create-together.nl", true }, { "createcos.com", true }, { "createme.com.pl", true }, { "createursdefilms.com", true }, { "creatieven.com", true }, { "creation-contemporaine.com", true }, - { "creations-edita.com", true }, { "creative-wave.fr", true }, { "creativebites.de", true }, { "creativecaptiv.es", true }, @@ -8713,12 +8838,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "creativecommons.org", true }, { "creativeconceptsvernon.com", true }, { "creativedigital.co.nz", true }, + { "creativefolks.co.uk", true }, { "creativefreedom.ca", true }, { "creativeglassgifts.com.au", true }, + { "creativeground.com.au", true }, + { "creativeimagery.com.au", true }, { "creativeink.de", true }, { "creativekkids.com", true }, { "creativelaw.eu", true }, { "creativeliquid.com", true }, + { "creativerezults.com", true }, { "creativesprite.com", true }, { "creativesurvey.com", true }, { "creativeweb.biz", true }, @@ -8734,6 +8863,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crediteo.pl", true }, { "creditkarma.com", true }, { "creditos-rapidos.com", true }, + { "creditozen.es", true }, + { "creditozen.mx", true }, { "creditproautos.com", false }, { "creditscoretalk.com", true }, { "creditta.com", true }, @@ -8743,6 +8874,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "creepycraft.nl", true }, { "creepypastas.com", true }, { "creepypastas.net", true }, + { "creer-une-boutique-en-ligne.com", true }, { "creerunsitepro.com", true }, { "crefelder.com", true }, { "crem.in", false }, @@ -8759,9 +8891,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crew505.org", true }, { "crgalvin.com", true }, { "crgm.net", true }, - { "criadorespet.com.br", true }, { "cribcore.com", true }, - { "crickey.eu", true }, { "criena.com", true }, { "criena.net", true }, { "crimefreeliving.com", true }, @@ -8769,37 +8899,35 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crimevictims.gov", true }, { "criminal-attorney.ru", true }, { "criminal.enterprises", true }, - { "crimson.no", true }, { "crinesdanzantes.be", true }, { "criptolog.com", true }, + { "criscitos.it", true }, { "crisisactual.com", true }, { "crisisnextdoor.gov", true }, { "crisp.chat", true }, { "crisp.email", true }, { "crisp.help", true }, { "crisp.im", true }, + { "crisp.watch", true }, { "crispinusphotography.com", true }, { "cristarta.com", true }, { "cristau.org", true }, { "cristiandeluxe.com", false }, - { "critcola.com", true }, { "critical.today", false }, { "criticalsurveys.co.uk", true }, { "crizin.io", true }, { "crm.onlime.ch", false }, { "crm114d.com", true }, - { "croceverdevb.it", true }, { "crochetnerd.com", true }, { "croisedanslemetro.com", true }, { "croixblanche-haguenau.fr", true }, { "cromefire.myds.me", true }, - { "cronberg.ch", true }, { "croncron.io", true }, { "cronix.cc", true }, { "cronologie.de", true }, { "cronometer.com", true }, + { "cronoscentral.be", true }, { "cropdiagnosis.com", true }, - { "croquette.net", true }, { "crosbug.com", true }, { "crose.co.uk", true }, { "cross-led-sign.com", true }, @@ -8808,7 +8936,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cross-x.com", true }, { "cross.lol", true }, { "crossborderreturns.com", true }, - { "crosscom.ch", true }, { "crossedwires.net", true }, { "crossfitblackwater.com", true }, { "crossfunctional.com", true }, @@ -8816,13 +8943,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crossorig.in", true }, { "crossoverit.com", true }, { "crosssellguide.com", true }, - { "crow.tw", true }, { "crowd.supply", true }, { "crowdbox.net", true }, { "crowdcloud.be", true }, { "crowdliminal.com", true }, { "crowdsim3d.com", true }, { "crowdsupply.com", true }, + { "crownaffairs.ch", true }, { "crowncastles.co.uk", true }, { "crownchessclub.com", true }, { "crownmarqueehire.co.uk", true }, @@ -8833,16 +8960,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crrev.com", true }, { "crsmsodry.cz", true }, { "crstat.ru", true }, - { "crt.sh", true }, + { "crt.cloud", true }, { "crt2014-2024review.gov", true }, + { "cruisemoab.com", true }, { "crumbcontrol.com", true }, { "crunchrapps.com", true }, { "crunchy.rocks", true }, { "crustytoothpaste.net", true }, { "crute.me", true }, - { "cruzadobalcazarabogados.com", true }, { "crvv.me", true }, { "cry.nu", false }, + { "cryogenix.net", true }, { "cryoit.com", true }, { "cryothanasia.com", true }, { "cryp.no", true }, @@ -8852,10 +8980,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "crypted.chat", true }, { "crypteianetworks.com", true }, { "crypticshell.co.uk", true }, - { "crypto-armory.com", true }, { "crypto.cat", false }, + { "crypto.graphics", true }, { "crypto.is", false }, - { "crypto.tube", true }, { "cryptobin.co", true }, { "cryptocon.org", true }, { "cryptoegg.ca", true }, @@ -8864,6 +8991,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptography.ch", true }, { "cryptography.io", true }, { "cryptoguidemap.com", true }, + { "cryptoisnotacrime.org", true }, { "cryptojacks.io", true }, { "cryptojourney.com", true }, { "cryptolinc.com", true }, @@ -8871,7 +8999,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptolosophy.io", true }, { "cryptolosophy.org", true }, { "cryptomaniaks.com", true }, - { "cryptonom.org", true }, { "cryptonym.com", true }, { "cryptoparty.at", true }, { "cryptoparty.tv", true }, @@ -8884,15 +9011,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cryptract.co", true }, { "crys.cloud", true }, { "crys.hu", true }, + { "crystal-zone.com", true }, { "crystalapp.ca", true }, { "crystalchandelierservices.com", true }, { "crystalgrid.net", true }, { "crystallizedcouture.com", true }, + { "crystaloscillat.com", true }, + { "crystalzoneshop.com", true }, { "crystone.me", true }, { "cryz.ru", true }, { "cs2016.ch", true }, { "csabg.org", true }, - { "csbgtribalta.com", true }, { "csbs.fr", true }, { "csbuilder.io", true }, { "csca.me", true }, @@ -8901,10 +9030,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "csfcloud.com", true }, { "csfd.cz", true }, { "csfm.com", true }, + { "csgo.design", true }, { "csgo.su", false }, { "csgoswap.com", true }, { "csharpmarc.net", true }, - { "cshopify.com", true }, + { "cshub.nl", true }, { "csi.lk", true }, { "csinterstargeneve.ch", true }, { "cskentertainment.co.uk", true }, @@ -8915,15 +9045,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cspeti.hu", true }, { "cspvalidator.org", true }, { "csrichter.com", true }, - { "csru.net", true }, { "css.direct", false }, { "css.net", true }, { "cssai.eu", true }, { "cssaunion.com", true }, + { "cstanley.net", true }, { "cstb.ch", true }, { "cstp-marketing.com", true }, { "cstrong.nl", true }, { "csu.st", true }, + { "csust.ac.cn", true }, { "csuw.net", true }, { "csvalpha.nl", true }, { "ct.search.yahoo.com", false }, @@ -8931,26 +9062,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ctcom-peru.com", true }, { "ctcue.com", true }, { "ctf.link", true }, - { "cthomas.work", true }, - { "cthulhuden.com", true }, { "ctj.im", true }, + { "ctkwwri.org", true }, { "ctl.email", true }, { "ctliu.com", true }, { "ctnguyen.de", true }, { "ctnguyen.net", true }, { "ctns.de", true }, { "ctoforhire.com.au", true }, - { "ctomp.io", true }, + { "ctomp.io", false }, { "ctoresms.com", true }, { "ctpe.net", true }, + { "ctrl.blog", true }, { "ctrld.me", true }, { "cu247secure.ie", true }, { "cub-bouncingcastles.co.uk", true }, { "cube-cloud.com", true }, + { "cube.builders", true }, { "cube.de", true }, + { "cubebot.io", true }, + { "cubebuilders.net", true }, { "cubecart-demo.co.uk", true }, { "cubecart-hosting.co.uk", true }, { "cubecraft.net", true }, + { "cubecraftcdn.com", true }, { "cubekrowd.net", true }, { "cubetech.co.jp", true }, { "cubia.de", true }, @@ -8976,10 +9111,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cultivo.bio", true }, { "cultofd50.org", true }, { "cultofperf.org.uk", true }, + { "cultura10.com", true }, + { "culture-school.top", true }, { "culturedcode.com", true }, { "culturerain.com", true }, { "culturesouthwest.org.uk", true }, { "cumberlandrivertales.com", true }, + { "cumparama.com", true }, { "cumplegenial.com", true }, { "cuoc.org.uk", true }, { "cup.al", true }, @@ -8994,7 +9132,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "curareldolordeespalda.com", true }, { "curatedgeek.com", true }, { "curbside.com", true }, - { "curia.fi", true }, { "curieux.digital", true }, { "curio-shiki.com", true }, { "curiosity-driven.org", true }, @@ -9008,7 +9145,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cursos-trabajadores.net", true }, { "cursos.com", true }, { "cursosforex.com", true }, - { "cursosgratuitos.com.br", true }, { "cursosingles.com", true }, { "cursossena.co", true }, { "cursuri-de-actorie.ro", true }, @@ -9034,11 +9170,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "customfitmarketing.com", true }, { "customgear.com.au", true }, { "customizeyoursink.com", true }, - { "customshort.link", true }, { "customwritingservice.com", true }, { "customwritten.com", true }, - { "cutephil.com", true }, - { "cutimbo.com", true }, { "cutimbo.ovh", true }, { "cutner.co", true }, { "cuvva.co", true }, @@ -9063,8 +9196,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cvl.ch", true }, { "cvlibrary.co.uk", true }, { "cvmu.jp", true }, - { "cvninja.pl", true }, - { "cvps.top", true }, { "cvr.dk", true }, { "cvursache.com", true }, { "cvv.cn", true }, @@ -9090,17 +9221,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyber.je", true }, { "cyberatlantis.com", true }, { "cybercareers.gov", true }, + { "cybercloud.cc", true }, { "cybercocoon.com", true }, { "cybercrew.cc", true }, { "cybercrime-forschung.de", true }, { "cybercrime.gov", true }, - { "cybercymru.co.uk", true }, { "cyberdos.de", false }, { "cyberduck.io", true }, { "cyberexplained.info", true }, { "cybergrx.com", true }, { "cyberguerrilla.info", true }, { "cyberguerrilla.org", true }, + { "cyberhipsters.nl", true }, { "cyberianhusky.com", true }, { "cyberkov.com", true }, { "cyberlab.kiev.ua", false }, @@ -9116,7 +9248,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyberscan.io", true }, { "cybersecurity.nz", true }, { "cybersecurity.run", true }, - { "cybersecuritychallenge.be", true }, + { "cybersecuritychallenge.be", false }, { "cybersecurityketen.nl", true }, { "cyberseguranca.com.br", true }, { "cybersins.com", true }, @@ -9125,9 +9257,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyberspect.com", true }, { "cyberspect.io", true }, { "cyberstatus.de", true }, + { "cybertorsk.org", true }, { "cybertu.be", true }, { "cyberwars.dk", true }, { "cyberwire.nl", true }, + { "cyberxpert.nl", true }, + { "cybit.io", true }, { "cybozu.cn", true }, { "cybozu.com", true }, { "cybozulive-dev.com", true }, @@ -9135,6 +9270,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cybrary.it", true }, { "cyclebeads.com", true }, { "cycleluxembourg.lu", true }, + { "cyclinggoodso.com", true }, { "cyclisjumper.gallery", true }, { "cyclop-editorial.fr", true }, { "cydetec.com", true }, @@ -9145,10 +9281,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cygnius.net", true }, { "cyhour.com", true }, { "cykelbanor.se", true }, + { "cyl6.com", true }, + { "cylindehea.com", true }, { "cylindricity.com", true }, { "cyon.ch", true }, { "cypad.cn", true }, - { "cype.dedyn.io", true }, { "cyph.audio", true }, { "cyph.com", true }, { "cyph.healthcare", true }, @@ -9158,16 +9295,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "cyph.video", true }, { "cyph.ws", true }, { "cypherpunk.at", true }, + { "cypherpunk.com", true }, { "cypherpunk.observer", true }, + { "cypressinheritancesaga.com", true }, { "cypresslegacy.com", true }, { "cyprus-company-service.com", true }, { "cyrating.com", true }, { "cysec.biz", true }, + { "cysmo.de", true }, { "cyson.tech", true }, { "cytech.com.tr", true }, { "cytegic-update-packages.com", true }, + { "cytotecforsale.com", true }, { "cyumus.com", true }, - { "cyyzaid.cn", false }, { "czakey.net", true }, { "czbix.com", true }, { "czbtm.com", true }, @@ -9186,6 +9326,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "d-parts.de", true }, { "d-parts24.de", true }, { "d-quantum.com", true }, + { "d-toys.com.ua", true }, { "d-training.de", true }, { "d.nf", true }, { "d.nr", true }, @@ -9193,21 +9334,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "d0g.cc", true }, { "d0m41n.name", true }, { "d0xq.com", true }, + { "d2.gg", true }, { "d2ph.com", true }, { "d2s.uk", true }, { "d3lab.net", true }, { "d3xt3r01.tk", true }, - { "d3xx3r.de", true }, { "d42.no", true }, - { "d4wson.com", true }, + { "d4done.com", true }, { "d4x.de", true }, { "d66.nl", true }, + { "d6c5yfulmsbv6.cloudfront.net", true }, { "d8.io", true }, - { "d88688.com", true }, - { "d88871.com", true }, { "d88988.com", true }, - { "da-ist-kunst.de", true }, - { "da.hn", true }, { "da42foripad.com", true }, { "daallexx.eu", true }, { "dabasstacija.lv", true }, @@ -9227,7 +9365,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dadrian.io", true }, { "daduke.org", true }, { "daemen.org", true }, - { "daemon.xin", true }, { "daemwool.ch", true }, { "daevel.fr", true }, { "dafnik.me", true }, @@ -9257,6 +9394,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daisypeanut.com", true }, { "daiweihu.com", true }, { "daiyuu.jp", true }, + { "dajiadu.net", true }, { "dak.org", true }, { "daknob.net", true }, { "daktarisys.com", true }, @@ -9275,12 +9413,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "damaged.org", true }, { "damasexpress.com", true }, { "damedrogy.cz", true }, + { "damejidlo.cz", true }, + { "dameocio.com", true }, { "damghaem.ir", true }, { "damicris.ro", true }, { "damienoreilly.org", true }, - { "damienpontifex.com", false }, { "daminiphysio.ca", true }, { "damip.net", true }, + { "damirsystems.com", true }, { "dammekens.be", true }, { "damngoodpepper.com", false }, { "damongant.de", true }, @@ -9293,12 +9433,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danandrum.com", true }, { "danarozmarin.com", true }, { "danbaldwinart.com", true }, + { "danburycampervans.co.uk", true }, { "dance-colleges.com", true }, { "danchen.org", true }, { "dancingcubs.co.uk", true }, { "dancingshiva.at", true }, { "dandenongroadapartments.com.au", true }, { "daneandthepain.com", true }, + { "dangmai.tk", true }, { "dangr.zone", true }, { "danhalliday.com", true }, { "danholloway.online", true }, @@ -9313,6 +9455,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danielehniss.de", true }, { "danielepestilli.com", true }, { "danielgorr.de", true }, + { "danielgray.email", true }, { "danielheal.net", true }, { "danielhinterlechner.eu", true }, { "danielhochleitner.de", true }, @@ -9321,7 +9464,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danieljstevens.com", true }, { "danielkoster.nl", true }, { "daniellockyer.com", true }, - { "danielmarquard.com", false }, { "danielmartin.de", true }, { "danielmoch.com", true }, { "danielmorell.com", true }, @@ -9348,7 +9490,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danjesensky.com", true }, { "dank.ninja", true }, { "dankim.de", false }, - { "dankredues.com", true }, { "danla.nl", true }, { "danmaby.com", true }, { "danmarksbedstefredagsbar.dk", true }, @@ -9356,6 +9497,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "danmassarano.com", true }, { "danminkevitch.com", true }, { "danna-salary.com", true }, + { "dannhanks.com", true }, { "danny-tittel.de", true }, { "danny.fm", true }, { "dannycairns.com", true }, @@ -9363,10 +9505,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dannystevens.co.uk", true }, { "danonsecurity.com", true }, { "danotage.tv", true }, - { "danova.de", true }, - { "danoz.net", true }, { "danpiel.net", true }, - { "dansa.com.co", true }, { "dansage.co", true }, { "danscomp.com", true }, { "dansdiscounttools.com", true }, @@ -9404,7 +9543,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darinkotter.com", true }, { "darioackermann.ch", true }, { "darioclip.com", true }, - { "dariosirangelo.me", true }, { "darioturchetti.me", true }, { "darisni.me", true }, { "dark-infection.de", true }, @@ -9417,6 +9555,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darkerlystormy.com", true }, { "darkerstormy.com", true }, { "darkeststar.org", true }, + { "darkfire.ch", true }, { "darklaunch.com", true }, { "darknessflickers.com", true }, { "darknetlive.com", true }, @@ -9432,6 +9571,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "darkwater.info", true }, { "darkwebnews.com", true }, { "darkx.me", true }, + { "darmgesundheit.ch", true }, { "darom.jp", true }, { "darookee.net", false }, { "daropia.org", true }, @@ -9442,14 +9582,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dartsdon.jp", true }, { "dartshopmn.nl", true }, { "darwinkel.net", true }, + { "darwinsearch.org", true }, { "daryl.moe", true }, + { "darylcrouse.com", true }, { "darylcumbo.net", true }, { "das-forum24.de", true }, { "das-mediale-haus.de", true }, { "das-sommercamp.de", true }, { "dasgeestig.nl", true }, { "dashboard.run", true }, - { "dashlane.com", true }, { "dashnearby.com", true }, { "dashwebconsulting.com", true }, { "dasignsource.com", true }, @@ -9460,7 +9601,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "data-wing.ga", true }, { "data.gov", true }, { "data.govt.nz", true }, - { "data.world", true }, { "data3w.nl", true }, { "databionix.com", true }, { "databutlr.com", true }, @@ -9469,24 +9609,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "datacandy.com", true }, { "datadit.hu", true }, { "datadyne.technology", true }, + { "datafd.com", true }, + { "datafd.net", true }, { "dataformers.at", true }, { "datagrail.io", true }, { "dataguidance.com", true }, { "dataharvest.at", true }, + { "datahjalp.nu", true }, { "datahoarder.xyz", true }, + { "datajobs.ai", true }, { "datakick.org", true }, { "datalife.gr", true }, { "datalysis.ch", true }, + { "dataprivacysolution.com", true }, { "dataprotectionadvisors.com", true }, + { "datapun.ch", true }, { "datapure.net", true }, { "dataregister.info", true }, { "datascience.cafe", true }, { "datascience.ch", true }, - { "datascomemorativas.com.br", true }, { "dataskydd.net", true }, { "dataspace.pl", true }, + { "datasupport-stockholm.se", true }, + { "datasupport.one", true }, { "dataswamp.org", true }, { "datatekniikka.fi", false }, + { "datatekniker.nu", true }, { "datateknologsektionen.se", false }, { "datatree.nl", true }, { "datatruckers.com", true }, @@ -9507,6 +9655,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "datewon.net", false }, { "datingticino.ch", true }, { "datmancrm.com", true }, + { "dator-test.se", true }, + { "datorhjalp-stockholm.se", true }, + { "datorhjalptaby.se", true }, + { "datorservice-stockholm.se", true }, { "datovyaudit.cz", true }, { "datumou-osusume.com", true }, { "datumou-recipe.com", true }, @@ -9520,6 +9672,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "daveoc64.co.uk", true }, { "davepage.me.uk", true }, { "davepearce.com", true }, + { "davepermen.net", true }, { "davescomputertips.com", true }, { "davesharpe.com", true }, { "davesinclair.com.au", true }, @@ -9535,9 +9688,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "davidadrian.org", true }, { "davidandersson.se", true }, { "davidbranco.me", true }, - { "davidbuckell.com", true }, { "davidcrx.net", true }, { "daviddever.net", true }, + { "davidfetveit.com", true }, { "davidforward.com", true }, { "davidforward.net", true }, { "davidfrancoeur.com", true }, @@ -9568,7 +9721,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "davo-usedcars.be", true }, { "davy-server.com", true }, { "davypropper.com", true }, - { "daw.nz", true }, { "dawena.de", true }, { "dawgs.ga", true }, { "dawnbringer.eu", true }, @@ -9578,13 +9730,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dawson-floridavilla.co.uk", true }, { "day-peak.com", true }, { "daycontactlens.com", true }, + { "daydream.team", true }, { "daylight-dream.ee", true }, { "daylightpirates.org", true }, - { "dayman.net", false }, + { "dayman.net", true }, { "daymprove.life", true }, { "dayofdays.be", true }, { "daysoftheyear.com", true }, { "db-works.nl", true }, + { "db.ci", true }, { "dbapress.org", true }, { "dbaron.org", true }, { "dbas.cz", true }, @@ -9606,7 +9760,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dc-elektro.de", true }, { "dc-elektro.eu", true }, { "dc-occasies.be", true }, - { "dc-solution.de", true }, + { "dc-solution.de", false }, { "dc1.com.br", true }, { "dc562.org", true }, { "dc585.info", true }, @@ -9620,11 +9774,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dchatelain.ch", true }, { "dchest.org", true }, { "dckd.nl", true }, - { "dcl.re", true }, { "dclaisse.fr", true }, + { "dcmediahosting.com", true }, { "dcmt.co", true }, { "dcpower.eu", true }, { "dcrdev.com", true }, + { "dcw.io", true }, { "ddays2008.org", true }, { "ddel.de", true }, { "dden.ca", true }, @@ -9633,6 +9788,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ddhosted.com", true }, { "ddns-test.de", true }, { "ddnsweb.com", true }, + { "ddoser.cn", true }, { "ddosolitary.org", true }, { "ddproxy.cf", true }, { "ddracepro.net", true }, @@ -9646,7 +9802,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "de.search.yahoo.com", false }, { "deadbeef.ninja", true }, { "deadc0de.re", true }, - { "deadinsi.de", true }, + { "deadinsi.de", false }, { "deaf.dating", true }, { "deaf.eu.org", true }, { "dealapp.nl", true }, @@ -9690,6 +9846,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "debie-usedcars.be", true }, { "debigare.com", true }, { "debkleinteam.com", true }, + { "debora-singkreis.de", true }, { "debron-ot.nl", true }, { "debrusoft.ch", true }, { "debt.com", true }, @@ -9698,12 +9855,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "debuis.nl", true }, { "decaffeinated.io", true }, { "decalquai.ch", true }, + { "decay24.de", true }, { "dechat.nl", true }, { "decher.de", true }, { "decidetreatment.org", true }, { "decis.fr", true }, { "decisivetactics.com", true }, { "deckbuilderamerica.com", true }, + { "declivitas.com", true }, { "decoating.pl", true }, { "decock-usedcars.be", true }, { "decodeanddestroy.com", true }, @@ -9719,8 +9878,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "decosoftware.com", true }, { "decrousaz-ceramique.ch", true }, { "decs.es", true }, - { "decstasy.de", true }, - { "dede.ml", true }, { "dedelta.net", true }, { "dedg3.com", true }, { "dedge.org", true }, @@ -9745,6 +9902,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deephill.com", true }, { "deepinsight.io", true }, { "deeployr.io", true }, + { "deeps.me", true }, { "deepserve.info", true }, { "deepsouthsounds.com", true }, { "deepspace.dedyn.io", true }, @@ -9754,6 +9912,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "def-pos.ru", true }, { "defcon.org", true }, { "defcongroups.org", true }, + { "defeestboek.nl", true }, { "defendas.com", true }, { "defender-pro.com", true }, { "defendinnovation.org", true }, @@ -9767,6 +9926,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "defont.nl", true }, { "defrax.com", true }, { "defrax.de", true }, + { "defreitas.no", true }, { "deftek.com", true }, { "deftig-und-fein.de", true }, { "deftnerd.com", true }, @@ -9782,7 +9942,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "degracetechnologie.com", true }, { "degressif.com", true }, { "dehopre.com", true }, - { "dehydrated.de", true }, { "deidee.nl", true }, { "deinballon.de", true }, { "deinewebsite.de", true }, @@ -9805,7 +9964,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "delbecqvo.be", true }, { "delbrouck.ch", true }, { "deleidscheflesch.nl", true }, - { "delf.co.jp", true }, { "delfic.org", true }, { "delfino.cr", true }, { "delhionlinegifts.com", true }, @@ -9818,7 +9976,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "delid.cz", true }, { "delitto.top", true }, { "delivery.co.at", true }, - { "deliveryiquique.cl", true }, { "dellipaoli.com", true }, { "delogo.nl", true }, { "delorenzi.dk", true }, @@ -9830,6 +9987,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deltaacademy.org", true }, { "deltadata.ch", true }, { "deltafinanceiro.com.br", true }, + { "deltanio.nl", true }, { "deltaonlineguards.com", true }, { "deltaservers.com.br", true }, { "deltasigmachi.org", true }, @@ -9841,7 +9999,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "demfloro.ru", true }, { "demijn.nl", true }, { "demilletech.net", true }, - { "demo.swedbank.se", true }, + { "demiranda.com", true }, + { "demmer.one", true }, { "demo9.ovh", true }, { "democracychronicles.com", true }, { "democracyineurope.eu", true }, @@ -9861,15 +10020,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "denaehula.com", true }, { "denardbrewing.com", true }, { "denbkh.ru", true }, - { "dengchangdong.com", true }, { "dengode.eu", true }, - { "denimio.com", true }, { "denimtoday.com", true }, { "denis-martinez.photos", true }, { "denisewakeman.com", true }, { "denistruffaut.fr", false }, { "deniszczuk.pl", true }, { "denizdesign.co.uk", true }, + { "denkubator.de", true }, { "dennisang.com", true }, { "dennisdoes.net", false }, { "denniskoot.nl", true }, @@ -9890,8 +10048,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "depaddestoeltjes.be", true }, { "depannage-traceur.fr", true }, { "deparis.me", true }, + { "depeces.com", true }, { "depechemode-live.com", true }, - { "depedtayo.com", true }, + { "depedncr.com", true }, + { "depedtalks.com", true }, { "depicus.com", true }, { "depone.net", true }, { "depot-leipzig.de", true }, @@ -9919,20 +10079,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dereferenced.net", true }, { "derehamcastles.co.uk", true }, { "derekheld.com", true }, - { "derekkent.com", true }, + { "derekseaman.com", true }, + { "derekseaman.studio", true }, { "dergeilstestammderwelt.de", true }, { "derhil.de", true }, { "derk-jan.com", true }, { "derkuki.de", true }, { "derma-expert.eu", true }, { "dermapuur.nl", true }, - { "dermato.floripa.br", false }, + { "dermato.floripa.br", true }, { "dermatologie-morges.ch", true }, { "dermediq.nl", true }, { "dermot.org.uk", true }, { "dermscc.com", true }, { "deroo.org", true }, { "derp.army", true }, + { "derp.chat", true }, { "derre.fr", true }, { "derreichesack.com", true }, { "dersix.com", true }, @@ -9945,7 +10107,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "desec.io", true }, { "desertsounds.org", true }, { "desgenst.ch", true }, - { "design-fu.com", false }, { "design-in-bad.eu", true }, { "design-tooning.de", true }, { "designdevs.eu", true }, @@ -9962,12 +10123,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "desila.jp", true }, { "deskdesign.nl", true }, { "deskeen.fr", true }, + { "desktopd.eu.org", true }, { "desktopfx.net", false }, { "deskture.com", true }, { "deskvip.com", true }, { "desmaakvanplanten.be", true }, { "desmo.gg", true }, - { "desormiers.com", true }, { "despachomartinyasociados.com", true }, { "despertadoronline.com.es", true }, { "desplats.com.ar", true }, @@ -9986,6 +10147,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "det-te.ch", true }, { "detalika.ru", true }, { "detalyedesigngroup.com", true }, + { "detecmon.com", true }, { "detectify.com", false }, { "detectivedesk.com.au", true }, { "detekenmuze.nl", true }, @@ -10005,7 +10167,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deude.de", true }, { "deukie.nl", true }, { "deurenfabriek.nl", true }, - { "deusu.de", true }, { "deutsch-vietnamesisch-dolmetscher.com", true }, { "deutsche-seniorenbetreuung.de", true }, { "deutsche-tageszeitungen.de", true }, @@ -10016,18 +10177,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deutschland-dsl.de", true }, { "deuxmetrescubes.fr", true }, { "dev-brandywineglobal.com", true }, + { "dev-gutools.co.uk", true }, { "dev-pulse-mtn.pantheonsite.io", true }, + { "dev-sev-web.pantheonsite.io", true }, { "dev-tek.de", true }, { "devagency.fr", true }, { "devalps.eu", true }, { "devb.nl", true }, - { "devcast.io", false }, { "devcf.com", true }, { "devct.cz", false }, { "devcu.com", true }, { "devcu.net", true }, { "devel.cz", true }, - { "develerik.com", false }, { "developer.android.com", true }, { "developer.mydigipass.com", false }, { "developerdan.com", true }, @@ -10038,9 +10199,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "developmentaid.org", true }, { "developmentsites.melbourne", true }, { "develops.co.il", true }, + { "developyourelement.com", true }, { "develux.com", true }, { "develux.net", true }, - { "devenney.io", true }, { "devh.net", true }, { "deviant.email", true }, { "devillers-occasions.be", true }, @@ -10048,26 +10209,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "deviltraxxx.de", true }, { "devinfo.net", false }, { "devirc.net", true }, + { "deviser.wang", true }, { "devisnow.fr", true }, - { "devjack.de", true }, { "devkid.net", true }, - { "devkit.cc", false }, { "devklog.net", true }, { "devlamvzw.org", false }, { "devlatron.net", true }, { "devlogr.com", true }, { "devnull.zone", true }, - { "devolution.ws", true }, { "devonsawatzky.ca", true }, { "devopers.com.br", true }, { "devops-survey.com", true }, - { "devpgsv.com", true }, { "devpsy.info", true }, { "devragu.com", true }, { "devrandom.net", true }, + { "devries.one", true }, { "devsjournal.com", true }, { "devsrvr.ru", true }, { "devstaff.gr", true }, + { "devstroke.io", true }, + { "devtty.org", true }, { "devyn.ca", false }, { "devzero.io", true }, { "dewaard.de", true }, @@ -10101,7 +10262,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dgportals.co.uk", true }, { "dgpot.com", true }, { "dgt-portal.de", true }, - { "dgx.io", true }, { "dharveydev.com", true }, { "dhautefeuille.eu", true }, { "dhauwer.nl", true }, @@ -10119,11 +10279,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "diablovalleytech.com", true }, { "diadorafitness.es", true }, { "diadorafitness.it", true }, - { "diagnocentro.cl", true }, { "diagnostix.org", true }, - { "diagrammingoutloud.co.uk", true }, { "dialapicnic.co.za", true }, - { "dialectic-og.com", true }, + { "dialoegue.com", true }, { "diamante.ro", true }, { "diamantovaburza.cz", true }, { "diamond-hairstyle.dk", true }, @@ -10136,9 +10294,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dianurse.com", true }, { "diare-na-miru.cz", true }, { "diario-egipto.com", true }, + { "diarynote.jp", true }, { "diasdasemana.com", true }, { "diasp.org", true }, { "diatrofi-ygeia.gr", true }, + { "diba.org.cn", true }, { "dibiphp.com", true }, { "diccionarioabierto.com", true }, { "diccionariodedudas.com", true }, @@ -10154,7 +10314,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dicionariofinanceiro.com", true }, { "dicionariopopular.com", true }, { "dickieslife.com", true }, + { "dickord.club", true }, { "dickpics.ru", true }, + { "dicksakowicz.com", true }, { "dicoding.com", true }, { "dictionaryofnumbers.com", true }, { "dictzone.com", true }, @@ -10166,9 +10328,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "didesalud.com", true }, { "didierghez.com", true }, { "didigotoffer.com", true }, - { "didikhari.web.id", true }, { "die-bergfuehrer.de", true }, { "die-blahuts.de", true }, + { "die-borts.ch", true }, { "die-partei-reutlingen.de", true }, { "die-pizzabaeckerei.de", true }, { "die-seide.de", true }, @@ -10189,7 +10351,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dienchaninstitute.com", true }, { "dienstplan.cc", true }, { "dienstplan.one", true }, - { "dierabenmutti.de", true }, { "dierenartsdeconinck.be", true }, { "dieselanimals.lt", true }, { "dieselgalleri.com", true }, @@ -10205,16 +10366,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dietlin.com", true }, { "dietrich.cx", true }, { "dieumfrage.com", true }, - { "diff2html.xyz", true }, { "different.cz", false }, { "differenta.ro", false }, { "diffnow.com", true }, { "difoosion.com", true }, + { "difusordeambientes.com.br", true }, { "digcit.org", true }, { "digdata.de", true }, { "dighans.com", true }, { "digiarc.net", true }, { "digibild.ch", true }, + { "digibones.be", true }, { "digibull.email", true }, { "digibull.link", true }, { "digicert-support.com", true }, @@ -10225,6 +10387,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digilicious.com", true }, { "digimagical.com", true }, { "digimedia.cd", false }, + { "digimomedia.co.uk", true }, { "digioccumss.ddns.net", true }, { "digipitch.com", true }, { "digital-compounds.com", true }, @@ -10262,8 +10425,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digitalhabit.at", true }, { "digitalhabitat.io", true }, { "digitalliteracy.gov", true }, - { "digitalmaniac.co.uk", true }, { "digitalmarketingindallas.com", true }, + { "digitalposition.com", true }, { "digitalrights.center", true }, { "digitalrights.fund", true }, { "digitalskillswap.com", true }, @@ -10275,23 +10438,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "digminecraft.com", true }, { "digwp.com", true }, { "dihesan.com", true }, + { "dijitaller.com", true }, { "dijkmanmuziek.nl", false }, { "dijkmanvandoorn.nl", false }, { "diju.ch", true }, { "dildoexperten.se", true }, - { "dilichen.fr", true }, { "diligo.ch", true }, + { "dillewijnzwapak.nl", true }, { "dillonkorman.com", true }, { "diluv.com", true }, { "dimanss47.net", true }, { "dimdom.com.br", true }, { "dime-staging.com", true }, { "dime.io", true }, - { "dimensionen.de", true }, { "dimeponline.com.br", true }, { "dimeshop.nl", true }, { "dimez.ru", true }, { "dimiskovska.de", true }, + { "dimitrihomes.com", true }, { "dimmersagourahills.com", true }, { "dimmerscalabasas.com", true }, { "dimmersdosvientos.com", true }, @@ -10308,13 +10472,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dinepont.fr", true }, { "dinerroboticurology.com", true }, { "dingcc.me", true }, - { "dinge.xyz", true }, { "dingsbums.shop", true }, { "dinheirolucrar.com", true }, { "dinkommunikasjon.no", true }, { "dinmtb.dk", true }, { "dinocarrozzeria.com", true }, - { "dinotopia.org.uk", true }, { "dinstec.cl", true }, { "dintrafic.net", true }, { "diodeled.com", true }, @@ -10322,6 +10484,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dionysos-ios.gr", true }, { "diozoid.com", true }, { "dipalma.me", true }, + { "dipdaq.com", true }, { "dipling.de", true }, { "diplona.de", true }, { "dipulse.it", true }, @@ -10329,36 +10492,39 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dir2epub.org", true }, { "dirba.io", true }, { "direct-sel.com", true }, - { "direct2uk.com", false }, { "direct365.es", true }, { "directebanking.com", true }, { "directelectricalltd.co.uk", true }, { "directlinkfunding.co.uk", true }, - { "directme.ga", true }, { "directnews.be", true }, { "directorioz.com", true }, { "directreal.sk", true }, { "directspa.fr", true }, { "direktvermarktung-schmitzberger.at", true }, - { "dirips.com", true }, { "dirk-scheele.de", true }, + { "dirk-weise.de", true }, { "dirkdoering.de", true }, { "dirkjonker.nl", true }, { "dirko.net", true }, + { "dirkwolf.de", true }, { "dirtcraft.ca", true }, { "dirtygeek.ovh", true }, { "dirtyincest.com", true }, + { "dirtyprettyartwear.com", true }, { "disability.gov", true }, { "disabled.dating", true }, { "disanteimpianti.com", true }, { "disavow.tools", true }, { "disc.uz", true }, + { "discarica.bari.it", true }, + { "discarica.bologna.it", true }, { "discarica.it", true }, { "discarica.roma.it", true }, { "discha.net", true }, { "dischempharmacie.com", true }, { "disciples.io", true }, { "disciplina.io", true }, + { "discipul.nl", true }, { "discofitta.com", true }, { "disconformity.net", true }, { "discord.gg", true }, @@ -10372,7 +10538,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "discountplush.com", true }, { "discover-shaken.com", true }, { "discoverthreejs.com", true }, - { "discoverucluelet.com", true }, { "discoveryaima.com", true }, { "discoveryottawa.ca", true }, { "discoveryrom.org", true }, @@ -10394,6 +10559,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "disinfestazioni.bari.it", true }, { "disinfestazioni.bergamo.it", true }, { "disinfestazioni.catania.it", true }, + { "disinfestazioni.co", true }, { "disinfestazioni.firenze.it", true }, { "disinfestazioni.genova.it", true }, { "disinfestazioni.gorizia.it", true }, @@ -10413,6 +10579,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "disk.do", true }, { "diskbit.com", true }, { "diskbit.nl", true }, + { "disking.co.uk", true }, { "dismail.de", true }, { "dispatchitsolutions.com", true }, { "dispatchitsolutions.io", true }, @@ -10422,6 +10589,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dissertationhelp.com", true }, { "dissidence.ovh", true }, { "dissident.host", true }, + { "dist-it.com", true }, { "dist.torproject.org", false }, { "disti.com", true }, { "distiduffer.org", true }, @@ -10430,18 +10598,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "distribuidoracristal.com.br", true }, { "distribuidoraplus.com", true }, { "distribuidorveterinario.es", true }, - { "distro.re", true }, + { "distro.fr", true }, { "ditelbat.com", true }, { "diti.me", true }, { "ditisabc.nl", true }, + { "div.im", true }, { "diva.nl", true }, { "divari.nl", true }, { "divcoder.com", true }, { "dive-japan.com", true }, { "divedowntown.com", true }, { "divegearexpress.com", true }, + { "divegearexpress.net", true }, { "diveidc.com", true }, - { "divenwa.com", true }, { "diveplan.org", true }, { "divergenz.org", true }, { "diversityflags.com", true }, @@ -10451,7 +10620,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "divi-experte.de", true }, { "divinasaiamodas.com.br", true }, { "divinegames.studio", true }, + { "divinemercyparishvld.com", true }, + { "divinemercyparishvlds.com", true }, { "diving.photo", true }, + { "divorcelawyersformen.com", true }, { "divorciosmurcia.com", true }, { "diwei.vip", true }, { "dixi.fi", true }, @@ -10476,10 +10648,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "djc.me", true }, { "djcursuszwolle.nl", true }, { "djdavid98.hu", true }, + { "djeung.org", true }, { "djipanov.com", true }, { "djleon.net", true }, { "djlive.pl", true }, { "djlnetworks.co.uk", true }, + { "djroynomden.nl", true }, { "djsbouncycastlehire.com", true }, { "djt-vom-chausseehaus.de", true }, { "djursland-psykologen.dk", true }, @@ -10491,11 +10665,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dk.search.yahoo.com", false }, { "dkcomputers.com.au", true }, { "dkds.us", true }, + { "dko-steiermark.ml", true }, { "dkstage.com", true }, + { "dkwedding.gr", true }, { "dl.google.com", true }, { "dlabouncycastlehire.co.uk", true }, { "dlaspania.pl", true }, - { "dlcwilson.com", true }, { "dlde.ru", true }, { "dldl.fr", true }, { "dlfsymposium.nl", true }, @@ -10513,6 +10688,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dm.mylookout.com", false }, { "dm4productions.com", true }, { "dm7ds.de", true }, + { "dmaglobal.com", true }, { "dmailshop.ro", true }, { "dmarc.dk", true }, { "dmatrix.xyz", true }, @@ -10523,6 +10699,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dmi.es", true }, { "dmitry.sh", true }, { "dmmultionderhoud.nl", true }, + { "dmparish.com", true }, { "dmschilderwerken.nl", true }, { "dmx.xyz", true }, { "dmxledlights.com", true }, @@ -10551,7 +10728,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dnsman.se", true }, { "dnspod.ml", true }, { "dnstwister.report", true }, - { "dnzz123.com", true }, { "do-prod.com", true }, { "do.gd", true }, { "do.search.yahoo.com", false }, @@ -10559,7 +10735,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "do67.de", true }, { "do67.net", true }, { "dobraprace.cz", true }, - { "dobrev.family", true }, { "dobrisan.ro", true }, { "dobsnet.net", true }, { "doc.python.org", true }, @@ -10572,17 +10747,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dochimera.com", true }, { "dochitaceahlau.ro", true }, { "dockerbook.com", false }, - { "dockerm.com", true }, { "dockerup.net", true }, { "docline.gov", true }, { "docloh.de", true }, { "docloudu.info", true }, - { "docplexus.org", true }, + { "docplexus.com", true }, { "docs.google.com", false }, { "docs.python.org", true }, { "docs.re", true }, { "docs.tw", true }, - { "docsoc.org.uk", true }, + { "doctabaila.com", true }, { "doctafit.com", true }, { "doctor-locks.co.uk", true }, { "doctor.dating", true }, @@ -10620,7 +10794,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "doihavetoputonpants.com", true }, { "doitauto.de", true }, { "dojozendebourges.fr", true }, - { "dokan-e.com", false }, { "dokelio-idf.fr", true }, { "doki.space", true }, { "dokipy.no", true }, @@ -10628,11 +10801,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dokuboard.com", true }, { "dokuraum.de", true }, { "dolci-delizie.de", true }, + { "dolciterapie.com", true }, { "doleta.gov", true }, { "doli.se", true }, { "dolice.net", true }, { "dolinathome.com", true }, { "dollemore.com", true }, + { "dollhousetoyo.com", true }, { "dolorism.com", true }, { "dolphin-it.de", true }, { "dom-medicina.ru", true }, @@ -10643,6 +10818,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "domain001.info", true }, { "domainedemiolan.ch", true }, { "domainexpress.de", false }, + { "domainhacks.io", true }, { "domainkauf.de", true }, { "domainoo.com", true }, { "domains.autos", true }, @@ -10652,12 +10828,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "domains.motorcycles", true }, { "domains.yachts", true }, { "domainsilk.com", true }, + { "domainspeicher.one", true }, { "domainstaff.com", true }, { "domainwatch.me", true }, + { "domakidis.com", true }, { "domaxpoker.com", true }, { "domeconseil.fr", true }, { "domein-direct.nl", true }, { "domenic.me", true }, + { "domenicam.com", true }, { "domesticcleaners.co.uk", true }, { "domhaase.me", true }, { "domian.cz", true }, @@ -10666,12 +10845,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dominik-schlueter.de", true }, { "dominikaner-vechta.de", true }, { "dominikkulaga.pl", true }, - { "dominioanimal.com.br", true }, { "dominionregistries.domains", true }, { "dominique-haas.fr", true }, { "dominoknihy.cz", true }, { "dominomatrix.com", true }, { "domix.fun", true }, + { "domizx.de", true }, { "dommascate.com.br", true }, { "domob.eu", true }, { "domodeco.fr", true }, @@ -10701,13 +10880,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "donabeneko.jp", true }, { "donaldm.co.uk", true }, { "donateaday.net", true }, + { "donateway.com", true }, + { "donboscogroep.nl", true }, { "donfelino.tk", false }, { "dongxuwang.com", true }, + { "donjusto.nl", true }, { "donkennedyandsons.com", true }, { "donkeytrekkingkefalonia.com", true }, - { "donlydental.ca", true }, { "donmaldeamores.com", true }, - { "donna-bellini-business-fotografie-muenchen.de", true }, { "donna-bellini-fotografie-berlin.de", true }, { "donna-bellini-fotografie-erfurt.de", true }, { "donna-bellini-fotografie-frankfurt.de", true }, @@ -10719,6 +10899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "donna-bellini-fotografie-wien.de", true }, { "donna-bellini-hochzeitsfotograf-frankfurt.de", true }, { "donna-bellini-hochzeitsfotograf-muenchen.de", true }, + { "donnaandscottmcelweerealestate.com", true }, { "donnacha.blog", true }, { "donnachie.net", true }, { "donner-reuschel.de", true }, @@ -10728,10 +10909,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "donotlink.it", true }, { "donovand.info", true }, { "donovankraag.nl", true }, - { "donpomodoro.com.co", true }, { "dont.re", true }, { "dont.watch", true }, { "dontbubble.me", true }, + { "dontcageus.org", true }, { "dontpayfull.com", true }, { "donttrust.me", true }, { "donutcompany.co.jp", true }, @@ -10747,8 +10928,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "doop.im", true }, { "doordecor.bg", true }, { "doorflow.com", true }, + { "doorhandlese.com", true }, + { "doorshingekit.com", true }, { "dopesoft.de", true }, - { "dopfer-fenstertechnik.de", true }, + { "dopetrue.com", true }, { "doppenpost.nl", true }, { "dopply.com", true }, { "dopravni-modely.cz", true }, @@ -10797,6 +10980,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dota2huds.com", true }, { "dotacni-parazit.cz", true }, { "dotbigbang.com", true }, + { "dotbox.org", true }, { "dotcircle.co", true }, { "dotconnor.com", true }, { "dotgov.gov", true }, @@ -10827,6 +11011,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dougley.com", true }, { "dougsautobody.com", true }, { "doujinshi.info", true }, + { "doujinspot.com", true }, { "dounats.com", true }, { "douzer.de", true }, { "douzer.industries", true }, @@ -10839,11 +11024,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "downloadaja.com", true }, { "downloadgamemods.com", true }, { "downloadgram.com", true }, + { "downloadhindimovie.com", true }, + { "downloadhindimovie.net", true }, + { "downloadhindimovies.net", true }, { "downloads.zdnet.com", true }, { "downloadsoftwaregratisan.com", true }, { "downrightcute.com", true }, { "downtimerobot.com", true }, { "downtimerobot.nl", true }, + { "downtownautospecialists.com", true }, { "downtownvernon.com", true }, { "doyoucheck.com", false }, { "doyouedc.com", true }, @@ -10853,13 +11042,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dozecloud.com", true }, { "dp.cx", true }, { "dpd.com.pl", true }, + { "dpecuador.com", true }, { "dperson.net", true }, { "dpfsolutionsfl.com", true }, { "dpg.no", true }, { "dpi-design.de", true }, { "dpisecuretests.com", true }, + { "dpm-ident.de", true }, { "dprb.biz", true }, { "dprd-wonogirikab.go.id", false }, + { "dps.srl", true }, { "dpsg-roden.de", true }, { "dpwsweeps.co.uk", true }, { "dr-becarelli-philippe.chirurgiens-dentistes.fr", true }, @@ -10876,8 +11068,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dr-schuessler.de", true }, { "dr-stoetter.de", true }, { "dr-www.de", true }, + { "dr2dr.ca", true }, { "drabadir.com", true }, - { "drabben.be", true }, { "drabim.org", true }, { "drach.xyz", true }, { "drachenleder.de", true }, @@ -10899,6 +11091,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dragon-chem.eu", true }, { "dragon-hearts.co.uk", true }, { "dragoncave.me", true }, + { "dragonclean.gr", true }, { "dragonfly.co.uk", true }, { "dragonheartsrpg.com", true }, { "dragonkin.net", true }, @@ -10917,27 +11110,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drakecommercial.com", true }, { "drakeluce.com", true }, { "drakenson.de", true }, + { "draliabadi.com", true }, { "dramaticpeople.com", true }, { "dramyalderman.com", true }, { "dranderle.com", true }, - { "dranek.com", true }, + { "dras.hu", true }, { "draugr.de", true }, { "draw.uy", true }, { "drawesome.uy", true }, { "drawingcode.net", true }, + { "drawtwo.gg", true }, { "drawxp.com", true }, { "drbethanybarnes.com", true }, { "drbriones.com", true }, + { "drcarolynquist.com", true }, { "drchrislivingston.com", true }, { "drchristinehatfield.ca", true }, { "drchristophepanthier.com", true }, - { "drdavidgilpin.com", true }, - { "drdim.ru", true }, { "drdipilla.com", true }, { "dreamcreator108.com", true }, { "dreamday-with-dreamcar.de", true }, { "dreamdivers.com", true }, - { "dreamersgiftshopec.com", true }, { "dreamhack.com", true }, { "dreamhostremixer.com", true }, { "dreamithost.com.au", true }, @@ -10953,13 +11146,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dreamof.net", true }, { "dreamonkey.com", true }, { "dreamrae.net", true }, + { "dreamstream.network", true }, + { "dreamstream.nl", true }, + { "dreamstream.tv", true }, + { "dreamstream.video", true }, { "dreamtechie.com", true }, { "dreatho.com", true }, + { "dreemurr.com", true }, { "drei01.com", true }, { "drei01.de", true }, { "dreid.org", true }, { "dreiweiden.de", true }, - { "dreizwosechs.de", false }, + { "dresden-kaffee-24.de", true }, + { "dresden-kaffeeroesterei.de", true }, + { "dresdener-mandelstollen.de", true }, + { "dresdens-pfefferkuchenprinzessin.de", true }, + { "dresdner-christstollen-von-reimann.de", true }, + { "dresdner-kaffeeroesterei.de", true }, + { "dresdner-mandelstollen.de", true }, + { "dresdner-stollen.shop", true }, { "dress-cons.com", true }, { "dressify.co", true }, { "dressify.in", true }, @@ -10979,6 +11184,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drhathazi.hu", true }, { "drheibel.com", true }, { "driesjtuver.nl", true }, + { "driessoftsec.tk", true }, { "driftdude.nl", true }, { "drighes.com", true }, { "drillingsupply.info", true }, @@ -10987,7 +11193,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drillshackresort.com", true }, { "drinkcontrolapp.com", true }, { "drinkgas-jihlava.cz", true }, - { "drinkplanet.eu", true }, { "drive.google.com", false }, { "driven2shine.eu", true }, { "drivenes.net", true }, @@ -10998,16 +11203,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "driverscollection.com", true }, { "drivinghorror.com", true }, { "drivingtestpro.com", true }, + { "drivinhors.com", true }, { "drivya.com", true }, + { "drixn.cn", true }, { "drixn.com", true }, + { "drizz.com.br", false }, { "drjacquesmalan.com", true }, { "drjenafernandez.com", true }, { "drjoe.ca", true }, { "drjuanitacollier.com", false }, { "drjulianneil.com", true }, { "drkhsh.at", false }, + { "drkmtrx.xyz", true }, { "drlandis.com", true }, { "drlangsdon.com", true }, + { "drlinkcheck.com", true }, { "drlutfi.com", true }, { "drmayakato.com", true }, { "drmcdaniel.com", true }, @@ -11022,12 +11232,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "droidwave.com", true }, { "droidwiki.de", true }, { "drone-it.net", true }, - { "dronebotworkshop.com", true }, + { "dronebl.org", true }, { "dronepit.dk", true }, - { "dronexpertos.com", true }, { "droni.cz", true }, { "dronnet.com", false }, { "dronografia.es", true }, + { "dronova-art.ru", true }, { "drop.com", true }, { "dropbox.com", true }, { "dropboxer.net", true }, @@ -11035,33 +11245,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dropq.nl", true }, { "dropscloud.spdns.de", true }, { "dropshare.cloud", true }, + { "dropshell.net", true }, { "droso.dk", true }, { "drown.photography", true }, { "drpetervoigt.ddns.net", true }, { "drpetervoigt.de", true }, { "drpico.com.au", true }, - { "drpure.pw", true }, + { "drpure.top", true }, { "drrodina.com", true }, { "drrr.chat", true }, { "drrr.wiki", true }, { "drsajjadian.com", true }, + { "drsamuelkoo.com", true }, { "drschlarb.eu", true }, { "drschruefer.de", true }, { "drsturgeonfreitas.com", true }, { "drtimmarch.com", true }, + { "drtimothybradley.com", true }, { "druckerei-huesgen.de", true }, { "drugs.com", true }, { "drumbe.at", true }, { "drummondframing.com", true }, - { "drunkscifi.com", true }, { "drupal-expert.it", true }, { "drupal.org", true }, { "drupalspb.org", true }, { "drusantia.net", true }, { "drusillas.co.uk", true }, - { "druwe.net", true }, + { "druwe.net", false }, { "druznek.me", true }, - { "drvr.xyz", true }, { "drwang.group", true }, { "drweissbrot.net", true }, { "drwxr.org", true }, @@ -11072,6 +11283,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "drydrydry.com", true }, { "dryerventcleaningarlington.com", true }, { "dryerventcleaningcarrollton.com", true }, + { "dryjersey.com", true }, + { "drywallresponse.gov", true }, { "ds67.de", true }, { "dsancomics.com", true }, { "dsanraffleshangbai.xyz", true }, @@ -11091,17 +11304,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dso-imaging.co.uk", true }, { "dso-izlake.si", true }, { "dsol.hu", true }, - { "dsrw.org", true }, { "dssale.com", true }, { "dstamou.de", true }, { "dsteiner.at", true }, { "dstvinstallalberton.co.za", true }, + { "dstvinstallfourways.co.za", true }, { "dstvinstallrandburg.co.za", true }, { "dt27.org", true }, { "dtbouncycastles.co.uk", true }, { "dtdsh.com", true }, { "dte.co.uk", true }, - { "dtechstore.com.br", true }, { "dtg-fonds.com", true }, { "dtg-fonds.de", true }, { "dtg-fonds.net", true }, @@ -11109,13 +11321,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dtnx.eu", true }, { "dtnx.net", true }, { "dtnx.org", true }, + { "dtoweb.be", true }, { "dtp-mstdn.jp", false }, { "dtpak.cz", true }, { "dtuaarsfest.dk", true }, + { "dtx.sk", true }, { "dualascent.com", true }, - { "dualias.xyz", false }, { "dub.cz", true }, - { "dubai-company.ae", true }, { "dubaieveningsafari.com", true }, { "dubbingkursus.dk", true }, { "dubious-website.com", true }, @@ -11126,11 +11338,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dubtrack.fm", true }, { "ducalendars.com", true }, { "duch.cloud", true }, - { "duchyoffeann.com", true }, - { "duckasylum.com", false }, + { "ducius.net", true }, { "duckbase.com", true }, { "duckduck.horse", true }, { "duckduckstart.com", true }, + { "duckeight.win", true }, { "duckinc.net", true }, { "duct.me", true }, { "due-diligence-security.com", true }, @@ -11173,7 +11385,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dundalkdonnie.com", true }, { "dunesadventure.net", true }, { "dungeon-bbs.de", true }, - { "dunklau.fr", true }, { "dunkle-seite.org", true }, { "dunloptrade.com", true }, { "dunmanelectric.com", true }, @@ -11185,6 +11396,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dupree.co", true }, { "dupree.pe", true }, { "durand.tf", true }, + { "duranthon.eu", true }, { "durbanlocksmiths.co.za", true }, { "durchblick-shop.de", true }, { "durdle.com", true }, @@ -11193,6 +11405,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "durfteparticiperen.nl", true }, { "duria.de", true }, { "duriaux-dentiste.ch", true }, + { "duroterm.ro", true }, { "durys.be", true }, { "dusmomente.com", true }, { "dusnan.com", true }, @@ -11215,6 +11428,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dvdinmotion.com", true }, { "dvdland.com.au", true }, { "dvhosting.be", true }, + { "dvipadmin.com", true }, { "dvnatura.ch", true }, { "dvorupotocnych.sk", true }, { "dvwc.org", true }, @@ -11224,10 +11438,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dwgf.xyz", true }, { "dwi-sued.de", true }, { "dwienzek.de", true }, + { "dworekhetmanski.pl", true }, { "dworzak.ch", true }, { "dwscdv3.com", true }, { "dwtm.ch", true }, { "dwworld.co.uk", true }, + { "dx-revision.com", true }, { "dxgl.info", true }, { "dxgl.org", true }, { "dxm.no-ip.biz", true }, @@ -11238,6 +11454,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dybuster.es", true }, { "dybuster.it", true }, { "dybuster.se", true }, + { "dycoa.com", true }, { "dyeager.org", true }, { "dyktig.as", true }, { "dyktig.no", true }, @@ -11267,11 +11484,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dynamics-365.no", true }, { "dynamics365.no", true }, { "dynamicsnetwork.net", true }, + { "dynamicsretailnotes.com", true }, { "dynamictostatic.com", true }, { "dynamicyou.co.uk", true }, { "dynamo.city", true }, { "dynapptic.com", true }, { "dynastic.co", true }, + { "dynastyarena.com", true }, + { "dynastybullpen.com", true }, + { "dynastycalculator.com", true }, + { "dynastycentral.com", true }, + { "dynastychalkboard.com", true }, + { "dynastyclubhouse.com", true }, + { "dynastycrate.com", true }, + { "dynastyduel.com", true }, + { "dynastyfan.com", true }, + { "dynastygoal.com", true }, + { "dynastylocker.com", true }, + { "dynastyredline.com", true }, + { "dynastyredzone.com", true }, { "dynn.be", true }, { "dynorphin.com", true }, { "dynorphins.com", true }, @@ -11288,10 +11519,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "dziurdzia.pl", true }, { "dzivniekubriviba.lv", true }, { "dzndk.com", true }, - { "dzndk.net", true }, - { "dzndk.org", true }, { "dznn.nl", true }, { "dzomo.org", true }, + { "dzsi.bi", true }, { "dzsibi.com", true }, { "dzsula.hu", true }, { "dzyabchenko.com", true }, @@ -11304,8 +11534,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "e-colle.info", true }, { "e-cottage.com.br", true }, { "e-enterprise.gov", false }, + { "e-gemeinde.at", true }, { "e-hon.link", true }, { "e-id.ee", true }, + { "e-imzo.uz", true }, { "e-kontakti.fi", true }, { "e-lambre.com", true }, { "e-learningbs.com", true }, @@ -11316,6 +11548,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "e-surveillant.nl", true }, { "e-sw.co.jp", true }, { "e-teacher.pl", true }, + { "e-teachers.me", true }, { "e-tech-solution.com", true }, { "e-tech-solution.net", true }, { "e-techsolution.com", true }, @@ -11329,17 +11562,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "e-worksmedia.com", true }, { "e.mail.ru", true }, { "e11even.nl", false }, - { "e1488.com", true }, { "e15r.co", true }, { "e2feed.com", true }, { "e30.ee", true }, { "e4metech.com", true }, - { "e52888.com", true }, - { "e52888.net", true }, - { "e53888.com", true }, - { "e53888.net", true }, - { "e59888.com", true }, - { "e59888.net", true }, { "e5tv.hu", true }, { "e64.com", true }, { "e6e.io", true }, @@ -11363,6 +11589,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ealev.de", true }, { "eapestudioweb.com", true }, { "earl.org.uk", true }, + { "earlydocs.com", true }, { "earlyyearshub.com", true }, { "earmarks.gov", true }, { "earn.com", true }, @@ -11372,13 +11599,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "easelforart.com", true }, { "easez.net", true }, { "eashwar.com", true }, - { "eason-yang.com", true }, { "eastarm.net", true }, { "eastblue.org", true }, - { "eastcoastbubbleandbounce.co.uk", true }, { "easterncapebirding.co.za", true }, { "eastlothianbouncycastles.co.uk", true }, { "eastmanbusinessinstitute.com", true }, + { "eastnorschool.co.uk", true }, { "eastplan.co.kr", true }, { "eastsidecottages.co.uk", true }, { "eastsideroofingcontractor.com", true }, @@ -11387,14 +11613,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "easyadsnbanners.tk", false }, { "easycoding.org", true }, { "easyconstat.com", true }, - { "easycontentplan.com", true }, { "easycosmetic.ch", true }, { "easycup.com", false }, { "easydumpsterrental.com", false }, { "easyeigo.com", true }, { "easyfiles.ch", true }, { "easyhaul.com", true }, - { "easykraamzorg.nl", false }, { "easymun.com", true }, { "easyocm.hu", true }, { "easyoutdoor.nl", true }, @@ -11403,7 +11627,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "easypv.ch", true }, { "easyqr.codes", true }, { "easyroad.fr", true }, - { "easyschools.org", true }, { "easyslide.be", true }, { "easyssl.com.cn", true }, { "easystore.co", true }, @@ -11415,6 +11638,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eatmebudapest.hu", true }, { "eaton-works.com", true }, { "eatry.io", true }, + { "eats.soy", true }, { "eatsleeprepeat.net", true }, { "eatson.com", true }, { "eatz-and-treatz.com", true }, @@ -11433,9 +11657,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ebayinc.com", true }, { "ebaymotorssucks.com", true }, { "ebene-bpo.com", true }, + { "ebenezersbarnandgrill.com", true }, + { "ebenvloedaanleggen.nl", true }, { "ebermannstadt.de", false }, { "eberwe.in", true }, { "ebest.co.jp", true }, + { "ebiebievidence.com", true }, { "ebiografia.com", true }, { "ebisi.be", true }, { "ebizarts.com", true }, @@ -11447,7 +11674,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eboyer.com", true }, { "ebpglobal.com", false }, { "ebrnd.de", true }, - { "ec-baran.de", true }, { "ec-current.com", true }, { "ec.mine.nu", true }, { "eca.edu.au", true }, @@ -11463,11 +11689,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ecfnorte.com.br", true }, { "echatta.net", true }, { "echatta.org", true }, + { "echi.pw", true }, { "echidna-rocktools.eu", true }, { "echo-security.co", true }, + { "echo.cc", true }, { "echoanalytics.com", true }, + { "echobridgepartners.com", true }, { "echodio.com", true }, { "echofoxtrot.co", true }, + { "echoit.net", true }, + { "echoit.net.au", true }, + { "echoit.services", true }, { "echopaper.com", true }, { "echosim.io", true }, { "echosixmonkey.com", true }, @@ -11475,26 +11707,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "echoteam.gq", true }, { "echoteen.com", true }, { "echoworld.ch", true }, + { "echternach-immobilien.de", true }, + { "echtes-hutzelbrot.de", true }, + { "echtgeld-casinos.de", true }, { "ecir.pro", true }, { "ecir.ru", true }, { "ecirtam.net", true }, { "eckel.co", true }, + { "eclanet.ca", true }, { "eclipse.ws", true }, + { "ecliptic.cc", true }, { "ecnetworker.com", true }, { "eco-derattizzazione.it", true }, - { "eco-wiki.com", true }, { "eco-work.it", true }, { "eco2u.ru", true }, { "ecobee.com", false }, { "ecobergerie.fr", true }, { "ecobin.nl", true }, - { "ecobrain.be", true }, { "ecoccinelles.ch", true }, { "ecoccinelles.com", true }, { "ecococon.fr", true }, { "ecocreativity.org", true }, { "ecodedi.com", true }, { "ecodesigns.nl", true }, + { "ecodigital.social", true }, { "ecofabrica.com.br", true }, { "ecofac-bs.com", true }, { "ecogen.com.au", true }, @@ -11506,9 +11742,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ecoledusabbat.org", true }, { "ecolemathurincordier.com", true }, { "ecombustibil.ro", true }, - { "ecommercestore.net.br", true }, - { "ecompen.co.za", true }, { "ecomycie.com", true }, + { "economiafinanzas.com", true }, { "economias.pt", true }, { "economic-sanctions.com", true }, { "economicinclusion.gov", true }, @@ -11522,15 +11757,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ecos.srl", true }, { "ecoshare.info", true }, { "ecoskif.ru", true }, + { "ecosm.com.au", true }, { "ecosound.ch", true }, { "ecostruxureit.com", true }, { "ecosystem.atlassian.net", true }, + { "ecosystemmanager-uat1.azurewebsites.net", true }, + { "ecosystemmanager.azurewebsites.net", true }, { "ecoterramedia.com", true }, { "ecotur.org", true }, { "ecovision.com.br", true }, { "ecpannualmeeting.com", true }, { "ecrandouble.ch", true }, + { "ecuinformacion.com", true }, { "ecupcafe.com", false }, + { "ecuteam.com", true }, { "ecxforum.com", true }, { "ed.gs", true }, { "ed4becky.net", true }, @@ -11543,24 +11783,35 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eddyn.net", true }, { "edeca.net", true }, { "edehsa.com", true }, + { "edeka-jbl-treueaktion.de", true }, + { "eden-eu.com", true }, { "eden.co.uk", true }, { "edenming.info", true }, { "edesseglabor.hu", true }, { "edfinancial.com", true }, - { "edge-cloud.net", true }, + { "edge-cloud.net", false }, + { "edgedynasty.com", true }, + { "edgefantasy.com", true }, { "edgeservices.co.uk", true }, { "edgetalk.net", true }, { "edgevelder.com", true }, { "edhesive.com", true }, { "edholm.pub", true }, + { "edi-gate.com", true }, + { "edi-gate.de", true }, { "edibarcode.com", true }, { "edicct.com", true }, + { "edilane.com", true }, + { "edilane.de", true }, + { "edilservizi.it", true }, + { "edilservizivco.it", true }, { "edinburghsportsandoutdoorlearning.com", true }, { "edincmovie.com", true }, { "ediscomp.sk", true }, { "edisonlee55.com", true }, { "edisonluiz.com", true }, { "edisonnissanparts.com", true }, + { "edit.co.uk", true }, { "edit.yahoo.com", false }, { "edited.de", true }, { "edition-bambou.com", true }, @@ -11585,8 +11836,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edu6.cloud", true }, { "eduard-dopler.de", true }, { "edubras.com.br", true }, + { "educatek.es", true }, { "educationevolving.org", true }, { "educationfutures.com", true }, + { "educationmalaysia.co.uk", true }, { "educationunlimited.com", true }, { "educator-one.com", true }, { "eductf.org", true }, @@ -11598,18 +11851,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edusanjal.com", true }, { "edusantorini.com", true }, { "eduvpn.no", true }, - { "eduxpert.in", false }, + { "eduxpert.in", true }, { "edv-bv.de", true }, { "edv-kohls.de", true }, { "edv-lehrgang.de", true }, + { "edv-schmittner.de", true }, { "edvgarbe.de", true }, { "edvmesstec.de", true }, { "edwar.do", true }, + { "edwarddekker.nl", true }, { "edwards.me.uk", true }, { "edwardsnowden.com", true }, { "edwardspeyer.com", true }, { "edwardwall.me", true }, { "edwellbrook.com", true }, + { "edwinmattiacci.com", true }, { "edwinyrkuniversity.de", true }, { "edxg.de", false }, { "edxn.de", true }, @@ -11617,6 +11873,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "edzilla.info", true }, { "eelcapone.nl", true }, { "eellak.gr", true }, + { "eelsden.net", true }, { "eelzak.nl", true }, { "eemcevn.com", true }, { "eentweevijf.be", true }, @@ -11648,6 +11905,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "efg-darmstadt.de", false }, { "efinity.io", true }, { "efipsactiva.com", true }, + { "eflorashop.be", true }, + { "eflorashop.ch", true }, + { "eflorashop.co.uk", true }, + { "eflorashop.com", true }, + { "eflorashop.de", true }, + { "eflorashop.es", true }, + { "eflorashop.fr", true }, + { "eflorashop.it", true }, + { "eflorashop.mx", true }, + { "eflorashop.net", true }, + { "eflorashop.us", true }, { "efmcredentialing.org", true }, { "eft.boutique", true }, { "eftelingcraft.net", true }, @@ -11664,7 +11932,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eggert.org", false }, { "eggplant.today", true }, { "egiftcards.be", true }, - { "eglek.com", true }, { "egles.eu", true }, { "ego4u.com", true }, { "ego4u.de", true }, @@ -11689,11 +11956,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ehmtheblueline.com", true }, { "ehne.de", true }, { "ehomusicgear.com", true }, + { "ehrenburg.info", true }, + { "ehsellert.com", true }, { "ehub.cz", true }, { "ehub.hu", true }, { "ehub.pl", true }, { "ehub.sk", true }, { "eichel.eu", true }, + { "eichler.work", true }, { "eichornenterprises.com", true }, { "eickemeyer.nl", true }, { "eickhof.co", true }, @@ -11701,12 +11971,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eickhofcolumbaria.com", true }, { "eidolons.org", true }, { "eifel.website", true }, + { "eifelindex.de", true }, { "eigenpul.se", true }, { "eigenpulse.com", true }, { "eighty-aid.com", true }, { "eigpropertyauctions.co.uk", true }, { "eihaikyo.com", true }, { "eika.as", true }, + { "eilandprojectkeukens.nl", true }, { "eilhan.com", true }, { "eimacs.com", true }, { "einaros.is", true }, @@ -11718,8 +11990,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "einsatzstellenverwaltung.de", true }, { "einser.com", true }, { "einsteinathome.org", true }, + { "einsteincapital.ca", true }, { "eintageinzug.de", true }, { "eintragsservice24.de", true }, + { "eioperator.com", true }, { "eipione.com", true }, { "eirastudios.co.uk", false }, { "eirb.fr", true }, @@ -11753,7 +12027,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eksisozluk.com", true }, { "ekuatorial.com", true }, { "ekyu.moe", true }, + { "ekz-crosstour.ch", true }, { "ekzarta.ru", true }, + { "ekzcrosstour.ch", true }, { "el-cell.com", true }, { "el-hossari.com", true }, { "el-news.de", true }, @@ -11773,10 +12049,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elderjustice.gov", true }, { "elderoost.com", true }, { "eldertons.co.uk", true }, - { "eldevo.com", true }, { "eldinhadzic.com", true }, { "eldisagjapi.com", true }, - { "eldisagjapi.de", true }, { "eldrid.ge", true }, { "eldritchfiction.net", true }, { "eleaut.com.br", true }, @@ -11795,6 +12069,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "electricalcamarillo.com", true }, { "electricalconejovalley.com", true }, { "electricaldosvientos.com", true }, + { "electricalfencingbedfordview.co.za", true }, { "electricalfencingedenvale.co.za", true }, { "electricalhiddenhills.com", true }, { "electricallakesherwood.com", true }, @@ -11818,7 +12093,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "electricgatemotorskemptonpark.co.za", true }, { "electricgatemotorsroodepoort.co.za", true }, { "electrichiddenhills.com", true }, - { "electrician-umhlangaridge.co.za", true }, { "electricianagoura.com", true }, { "electricianagourahills.com", true }, { "electriciancalabasas.com", true }, @@ -11828,7 +12102,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "electricianhiddenhills.com", true }, { "electriciankemptonpark24-7.co.za", true }, { "electricianlakesherwood.com", true }, - { "electricianlalucia.co.za", true }, { "electricianmalibu.com", true }, { "electricianmoorpark.com", true }, { "electriciannewburypark.com", true }, @@ -11847,6 +12120,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "electricsimivalley.com", true }, { "electricthousandoaks.com", true }, { "electricwestlakevillage.com", true }, + { "electro-pak.com.pk", true }, { "electroinkoophardenberg.nl", true }, { "electronic-ignition-system.com", true }, { "electronicafacil.net", true }, @@ -11882,6 +12156,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elektrometz.de", true }, { "elektronickakancelar.cz", true }, { "elektronische-post.org", true }, + { "elektropartner.nu", true }, { "elektropost.org", true }, { "elektrotechnik-heisel.de", true }, { "elektrotechnik-kaetzel.de", true }, @@ -11892,22 +12167,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elementarywave.com", true }, { "elements.guide", true }, { "elementshop.co.uk", true }, + { "elena-baykova.ru", false }, { "elenatranslations.nl", true }, { "elephants.net", true }, { "elephpant.cz", true }, { "elepover.com", true }, { "elerizoentintado.es", true }, + { "eletesstilus.hu", true }, { "eletor.com", true }, { "eletor.pl", true }, + { "elettricista-roma.it", true }, { "elettricista-roma.org", true }, { "eleusis-zur-verschwiegenheit.de", true }, { "elevator.ee", true }, { "elevatoraptitudetest.com", true }, { "elexel.ru", true }, { "elexprimidor.com", true }, + { "elexwong.com", true }, { "elfe.de", true }, { "elfnon.com", true }, { "elfring.eu", true }, + { "elfussports.com", true }, { "elgalponazo.com.ar", true }, { "elglobo.com.mx", false }, { "elgosblanc.com", false }, @@ -11917,6 +12197,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elhossari.com", true }, { "elia.cloud", true }, { "elian-art.de", true }, + { "elias-nicolas.com", true }, { "eliaskordelakos.com", true }, { "elibom.com", true }, { "elie.net", true }, @@ -11928,7 +12209,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eligrey.com", true }, { "elijahgrey.com", true }, { "eliminercellulite.com", true }, - { "eline168.com", true }, { "elinevanhaaften.nl", true }, { "elinvention.ovh", true }, { "eliolita.com", true }, @@ -11971,17 +12251,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elodieclerc.ch", true }, { "elohellp.com", false }, { "elonaspitze.de", true }, - { "elonm.ru", true }, { "elosrah.com", true }, { "elosuite.com", true }, - { "eloxt.com", true }, { "elpado.de", true }, { "elpo.net", true }, { "elpoderdelespiritu.org", true }, + { "elradix.be", true }, { "elrinconderovica.com", true }, { "elsagradocoran.org", true }, { "elshou.com", true }, - { "elsignificadodesonar.com", true }, { "elstopstelten.nl", true }, { "elsvanderlugt.nl", true }, { "eltagroup.co.uk", true }, @@ -11991,9 +12269,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elternforum-birmensdorf.ch", true }, { "elternverein-utzenstorf.ch", true }, { "eltip.click", true }, + { "eltlaw.com", true }, { "elucron.com", true }, { "eluhome.de", true }, { "eluvio.com", true }, + { "elvcino.com", false }, { "elvidence.com.au", true }, { "elviraszabo.com", true }, { "elvispresley.net", true }, @@ -12007,6 +12287,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "elysiumware.com", true }, { "em-biotek.cz", true }, { "emaging-productions.fr", true }, + { "emaging.fr", true }, { "emailalaperformance.fr", true }, { "emailconfiguration.com", true }, { "emailfuermich.de", true }, @@ -12020,6 +12301,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emanuelduss.ch", true }, { "emanueleanastasio.com", true }, { "emanuelemazzotta.com", true }, + { "emarketingmatters.com", true }, { "embassycargo.eu", true }, { "emberlife.com", true }, { "embox.net", true }, @@ -12027,6 +12309,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "embroideryexpress.co.uk", true }, { "emby.cloud", true }, { "emcspotlight.com", true }, + { "emdrupholm.dk", true }, { "emecew.com", true }, { "emeliefalk.se", true }, { "ememsei.com", true }, @@ -12040,10 +12323,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "emi-air-comprime.com", true }, { "emi.im", true }, { "emielraaijmakers.nl", true }, + { "emil-dein-baecker.com", true }, + { "emil-dein-baecker.de", true }, + { "emil-reimann.com", true }, { "emil.click", true }, { "emilecourriel.com", true }, { "emiliendevos.be", true }, { "emilong.com", true }, + { "emilreimann.de", true }, + { "emils-1910.de", true }, + { "emils-chemnitz.de", true }, + { "emils1910.de", true }, { "emilstahl.dk", true }, { "emilvarga.com", true }, { "emily.moe", true }, @@ -12083,6 +12373,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "empower.net", true }, { "empowerdb.com", true }, { "emprego.pt", true }, + { "emprunterlivre.ci", true }, { "empyrean-advisors.com", true }, { "emresaglam.com", true }, { "emtradingacademy.com", true }, @@ -12095,7 +12386,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "en-crypt.me", true }, { "en-maktoob.search.yahoo.com", false }, { "en4rab.co.uk", true }, - { "enaah.de", true }, { "enaim.de", true }, { "enalean.com", true }, { "enamae.net", true }, @@ -12104,7 +12394,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "encircleapp.com", true }, { "encnet.de", true }, { "encode.host", true }, - { "encore.io", true }, { "encouragemarketing.com", true }, { "encredible.de", false }, { "encredible.org", false }, @@ -12112,16 +12401,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "encrypt.org.uk", true }, { "encryptallthethings.net", true }, { "encrypted.google.com", true }, + { "encryptmy.site", true }, { "encryptmycard.com", true }, + { "encryptmysite.net", true }, { "encuentraprecios.es", true }, { "encycarpedia.com", true }, - { "ende-x.com", true }, { "endeal.nl", true }, { "ender.co.at", true }, { "enderbycamping.com", true }, { "enderszone.com", true }, { "endingthedocumentgame.gov", true }, - { "endlessdiy.ca", true }, { "endlessvideo.com", true }, { "endoftenancycleaninglondon.co.uk", true }, { "endoftennancycleaning.co.uk", true }, @@ -12131,15 +12420,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enemiesoflight.de", true }, { "energie-sante.ch", true }, { "energiekeurplus.nl", true }, - { "energisammenslutningen.dk", true }, { "energy-drink-magazin.de", true }, { "energy-in-balance.eu", true }, { "energy-infra.nl", true }, { "energy-initiative.com", true }, - { "energy.eu", true }, { "energyatlas.com", true }, { "energyaupair.se", true }, + { "energycodes.gov", true }, { "energydrinkblog.de", true }, + { "energyefficientservices.com", true }, { "energyelephant.com", true }, { "energyled.com.br", true }, { "energystar.gov", true }, @@ -12150,15 +12439,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enfu.se", true }, { "engarde.net", true }, { "engaugetools.com", true }, + { "engelke-optik.de", true }, { "engelundlicht.ch", true }, { "engelwerbung.com", true }, { "engg.ca", true }, { "engie-laadpalen.nl", true }, { "engiedev.net", true }, - { "engineowning.com", true }, { "enginepit.com", true }, { "enginsight.com", true }, - { "enginx.net", true }, { "englishbulgaria.net", true }, { "englishcast.com.br", true }, { "englishforums.com", true }, @@ -12169,13 +12457,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enigma.swiss", true }, { "enijew.com", true }, { "enitso.de", true }, - { "enixgaming.com", true }, + { "enjin.io", true }, { "enjincoin.io", true }, { "enjinwallet.io", true }, { "enjinx.io", true }, { "enjoy-drive.com", true }, { "enjoy-israel.ru", true }, { "enjoyphoneblog.it", true }, + { "enlight.no", true }, { "enlighten10x.ga", true }, { "enlightenedhr.com", true }, { "enlightenment.org", true }, @@ -12185,11 +12474,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enness.co.uk", true }, { "ennori.jp", true }, { "enomada.net", true }, + { "enord.fr", true }, { "enorekcah.com", true }, { "enot32.ru", true }, { "enotecastore.it", true }, { "enpasenerji.com.tr", true }, { "enquos.com", true }, + { "enrich.email", true }, { "enriquepiraces.com", true }, { "enrollapp.com", true }, { "ensage.io", true }, @@ -12208,7 +12499,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "entercenter.ru", true }, { "enterprisey.enterprises", true }, { "entersoftsecurity.com", true }, - { "entersynapse.com", true }, + { "entersynapse.com", false }, { "entheogens.com", true }, { "enthusiaformazione.com", true }, { "entradaweb.cl", true }, @@ -12230,23 +12521,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "enviroprobasements.com", true }, { "envirotech.com.au", true }, { "envoie.moi", true }, - { "envoutement-desenvoutement.com", true }, { "envoyez.moi", true }, - { "envygeeks.io", true }, { "eocservices.co.uk", true }, { "eoitek.com", true }, { "eonhive.com", true }, { "eoonglobalresources.jp", true }, { "eopugetsound.org", false }, - { "eos-classic.io", true }, { "eosol.de", true }, { "eosol.net", true }, - { "eosol.services", true }, { "epa.com.es", true }, { "epassafe.com", true }, { "epay.bg", true }, { "epdeveloperchallenge.com", true }, { "ephesusbreeze.com", true }, + { "epi-lichtblick.de", true }, { "epi.one", true }, { "epic-vistas.com", true }, { "epic-vistas.de", true }, @@ -12261,7 +12549,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "epickitty.co.uk", true }, { "epicpages.com", true }, { "epicsecure.de", true }, - { "epicsoft.de", false }, { "epicvistas.com", true }, { "epicvistas.de", true }, { "epicwalnutcreek.com", true }, @@ -12273,6 +12560,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "episkevh-plaketas.gr", true }, { "epistas.com", true }, { "epistas.de", true }, + { "epitesz.co", true }, { "epiteugma.com", true }, { "epizentrum.work", true }, { "epizentrum.works", true }, @@ -12302,15 +12590,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eppelpress.lu", true }, { "epreskripce.cz", true }, { "epsilon.dk", true }, - { "epsorting.cz", true }, + { "epspolymer.com", true }, { "epublibre.org", true }, - { "epvin.com", true }, { "epyonsuniverse.net", true }, { "eq-serve.com", true }, + { "eqibank.com", true }, { "equalcloud.com", true }, + { "equallove.me", true }, { "equeim.ru", true }, { "equidam.com", true }, - { "equilime.com", true }, { "equinecoaching.ca", true }, { "equinetherapy.ca", true }, { "equinox.io", true }, @@ -12326,7 +12614,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erath.fr", true }, { "erdethamburgeronsdag.no", true }, { "ereader.uno", true }, - { "erectiepillenwinkel.nl", true }, { "erethon.com", true }, { "erf-neuilly.com", true }, { "ergo-open.de", true }, @@ -12348,6 +12635,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erico.jp", true }, { "ericoc.com", true }, { "erics.site", true }, + { "ericschwartzlive.com", true }, + { "ericspeidel.de", true }, { "ericvaughn-flam.com", true }, { "ericwie.se", true }, { "eridanus.uk", true }, @@ -12365,10 +12654,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erisrenee.com", true }, { "erixschueler.de", true }, { "erkaelderbarenaaben.dk", true }, - { "ernaehrungsberatung-rapperswil.ch", true }, { "ernest.ly", true }, - { "eroma.com.au", true }, + { "ero.ink", true }, { "eron.info", true }, + { "eroskines.com", true }, { "eroticforce.com", true }, { "erp-band.ru", true }, { "erp.band", true }, @@ -12376,7 +12665,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erpband.ru", true }, { "erpcargo.com", false }, { "erperium.com", true }, - { "erpiv.com", true }, { "errietta.me", true }, { "errlytics.com", true }, { "error418.nl", false }, @@ -12387,6 +12675,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ersinerce.com", true }, { "erstehilfeprodukte.at", true }, { "eru.im", false }, + { "eru.me", true }, { "eru.moe", true }, { "erudicia.com", true }, { "erudicia.de", true }, @@ -12397,101 +12686,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "erudicia.se", true }, { "erudicia.uk", true }, { "erudikum.cz", true }, + { "ervaarjapan.nl", true }, + { "erverydown.ml", true }, { "erwanlepape.com", true }, { "erwin.saarland", true }, { "erwinpaal.nl", true }, { "erwinschmaeh.ch", true }, - { "erwinvanlonden.net", true }, { "erwinwensveen.nl", true }, { "erythroxylum-coca.com", true }, { "es-geenen.de", true }, { "es.search.yahoo.com", false }, - { "es888.net", true }, - { "es999.net", true }, - { "es9999.net", true }, { "esaborit.ddns.net", true }, + { "esafar.cz", false }, { "esagente.com", true }, { "esailinggear.com", true }, { "esalesdata.com", true }, { "esamievalori.com", true }, { "esample.info", true }, - { "esb-in.net", true }, - { "esb-top.com", true }, - { "esb-top.net", true }, - { "esb116.com", true }, - { "esb168168.com", true }, - { "esb168168.info", true }, - { "esb168168.net", true }, - { "esb168168.org", true }, - { "esb1688.biz", true }, - { "esb1688.com", true }, - { "esb1688.info", true }, - { "esb1688.net", true }, - { "esb1688.org", true }, - { "esb1711.com", true }, - { "esb1711.net", true }, - { "esb1788.com", true }, - { "esb1788.info", true }, - { "esb1788.net", true }, - { "esb1788.org", true }, - { "esb2013.com", true }, - { "esb2013.net", true }, - { "esb2099.com", true }, - { "esb2099.net", true }, - { "esb258.net", true }, - { "esb325.com", true }, - { "esb325.net", true }, - { "esb333.net", true }, - { "esb336.com", true }, - { "esb369.com", true }, - { "esb433.com", true }, - { "esb518.com", true }, - { "esb553.com", true }, - { "esb555.biz", true }, - { "esb555.cc", true }, - { "esb5889.com", true }, - { "esb5889.net", true }, - { "esb6.net", true }, - { "esb677.net", true }, - { "esb775.net", true }, - { "esb777.biz", true }, - { "esb777.me", true }, - { "esb777.org", true }, - { "esb886.com", true }, - { "esb888.net", true }, - { "esb9527.com", true }, - { "esb9588.com", true }, - { "esb9588.net", true }, - { "esb9588.org", true }, - { "esb999.org", true }, - { "esba11.com", true }, - { "esba11.in", true }, - { "esball-in.com", true }, - { "esball-in.net", true }, - { "esball.bz", true }, - { "esball.cc", true }, - { "esball.me", true }, - { "esball.mx", true }, - { "esball.online", true }, - { "esball.org", true }, - { "esball.tv", true }, - { "esball.win", true }, - { "esball.ws", true }, - { "esball518.com", true }, - { "esball518.info", true }, - { "esball518.net", true }, - { "esball518.org", true }, - { "esballs.com", true }, - { "esbbon.com", true }, - { "esbbon.net", true }, - { "esbfun.com", true }, - { "esbfun.net", true }, - { "esbgood.com", true }, - { "esbin.net", true }, - { "esbjon.com", true }, - { "esbjon.net", true }, - { "esbm4.net", true }, - { "esbm5.net", true }, + { "esb9588.info", false }, { "esc.chat", true }, { "esc.gov", true }, { "escael.org", true }, @@ -12514,7 +12726,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esg-abi2001.de", true }, { "esgen.org", true }, { "esgr.in", true }, + { "eshigami.com", true }, { "eshop-prices.com", true }, + { "eshspotatoes.com", true }, { "esibun.net", true }, { "esigmbh.de", true }, { "esipublications.com", true }, @@ -12522,13 +12736,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eskdale.net", true }, { "eskriett.com", true }, { "eslint.org", true }, - { "esmoney.cc", true }, - { "esmoney.me", true }, { "esoa.net", true }, { "esoko.eu", true }, { "esolcourses.com", true }, { "esolitos.com", true }, { "esono.de", true }, + { "esote.net", true }, { "esoterikerforum.de", true }, { "espace-caen.fr", true }, { "espace-gestion.fr", true }, @@ -12537,16 +12750,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "espacetemps.ch", true }, { "espacetheosophie.fr", true }, { "espacio-cultural.com", true }, + { "espacioantiguo.com", true }, { "espanol.search.yahoo.com", false }, + { "espanolseguros.com", true }, { "espanova.com", true }, { "espci.fr", true }, { "especificosba.com.ar", true }, + { "espehus.dk", true }, { "espenandersen.no", true }, { "espgg.org", true }, { "esphigmenou.gr", true }, { "espigol.org", true }, + { "espiritugay.com", true }, { "esport-battlefield.com", true }, { "esports-network.de", true }, + { "espower.com.sg", true }, { "espritrait.com", true }, { "esquirou-trieves.fr", true }, { "esquisse.fr", true }, @@ -12566,17 +12784,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "essca.fr", true }, { "essenalablog.de", true }, { "essencesdeprana.org", true }, + { "essenciasparis.com.br", true }, { "essex.cc", true }, { "essite.net", true }, { "esslm.sk", true }, { "essoduke.org", true }, { "essteebee.ch", true }, { "establo.pro", true }, + { "estada.ch", true }, { "estafallando.es", true }, { "estafallando.mx", true }, + { "estaleiro.org", true }, { "estate360.co.tz", true }, { "estateczech-eu.ru", true }, - { "estcequejailaflemme.fr", true }, + { "estcequejailaflemme.fr", false }, { "estcequonmetenprodaujourdhui.info", true }, { "esteam.se", true }, { "estedafah.com", true }, @@ -12591,6 +12812,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "estonoentraenelexamen.com", true }, { "estudiarparaser.com", true }, { "estudiserradal.com", true }, + { "estufitas.com", true }, + { "esu.zone", true }, { "esurety.net", true }, { "esuretynew.azurewebsites.net", true }, { "esw00.com", true }, @@ -12600,9 +12823,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "esw09.com", true }, { "eswap.cz", true }, { "et-inf.de", true }, + { "eta.cz", true }, { "etaes.eu", true }, { "etajerka-spb.ru", true }, - { "etalent.net", true }, { "etaoinwu.win", true }, { "etasigmaphi.org", true }, { "etath.com", true }, @@ -12611,6 +12834,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etccooperative.org", true }, { "etch.co", true }, { "etd-glasfaser.de", true }, + { "etda.or.th", true }, { "etech-solution.com", true }, { "etech-solution.net", true }, { "etech-solutions.com", true }, @@ -12626,17 +12850,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ethack.org", true }, { "ethaligan.fr", true }, { "ethan.pm", true }, + { "ethanjones.me", true }, { "ethercalc.com", true }, { "ethercalc.org", true }, - { "etherderbies.com", true }, - { "ethergeist.de", true }, + { "ethergeist.de", false }, + { "etherium.org", true }, { "etherpad.fr", true }, { "etherpad.nl", true }, + { "ethers.news", true }, { "ethicaldata.co.uk", true }, { "ethicalpolitics.org", true }, { "ethicsburg.gov", true }, { "ethika.com", true }, { "ethiopian.dating", true }, + { "ethiopiannews247.com", true }, { "ethitter.com", true }, { "ethosinfo.com", true }, { "etienne.cc", true }, @@ -12648,7 +12875,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "etrecosmeticderm.com", true }, { "etresmant.es", true }, { "etrker.com", true }, + { "etrolleybizstore.com", true }, + { "etskinner.com", true }, { "etskinner.net", true }, + { "etssquare.com", true }, { "etudesbibliques.fr", true }, { "etudesbibliques.net", true }, { "etudesbibliques.org", true }, @@ -12687,31 +12917,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "eureka.archi", true }, { "eurekaarchi.com", true }, { "eurekaarchitecture.com", true }, + { "eurheilu.com", true }, { "euro-servers.de", true }, { "euroalter.com", true }, { "eurocars2000.es", true }, { "eurocenterobuda.hu", true }, - { "eurocomcompany.cz", true }, { "euroconthr.ro", true }, { "eurodentaire.com", true }, + { "euroflora.com", true }, + { "euroflora.mobi", true }, { "eurofrank.eu", true }, { "eurolocarno.es", true }, - { "europapier.at", true }, - { "europapier.ba", true }, - { "europapier.bg", true }, - { "europapier.com", true }, - { "europapier.cz", true }, - { "europapier.hr", true }, { "europapier.hu", true }, { "europapier.net", true }, - { "europapier.rs", true }, - { "europapier.si", true }, { "europapier.sk", true }, { "europarts-sd.com", true }, { "europastudien.de", true }, { "european-agency.org", true }, { "europeancupinline.eu", true }, - { "europeanpreppers.com", true }, { "europeantimberconnectors.ca", true }, { "europeantransportmanagement.com", true }, { "europeanwineresource.com", true }, @@ -12730,13 +12953,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "euteamo.cn", true }, { "eutotal.com", true }, { "eutram.com", true }, - { "euvo.tk", false }, + { "euwid-energie.de", true }, { "euwid.de", true }, { "ev-zertifikate.de", true }, { "eva-select.com", true }, { "eva.cz", true }, { "evaartinger.de", true }, - { "evades.io", true }, { "evadifranco.com", true }, { "evafojtova.cz", true }, { "evailoil.ee", true }, @@ -12747,7 +12969,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evamira.com", true }, { "evanfiddes.com", true }, { "evangelicalmagazine.com", true }, - { "evanreev.es", true }, + { "evansdesignstudio.com", true }, { "evantageglobal.com", true }, { "evanwang0.com", true }, { "evapp.org", true }, @@ -12764,6 +12986,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evenstargames.com", true }, { "event4fun.no", true }, { "eventaro.com", true }, + { "eventide.space", true }, { "eventive.org", true }, { "eventnexus.co.uk", true }, { "eventosenmendoza.com.ar", true }, @@ -12772,10 +12995,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evenwallet.com", true }, { "eveonline.com", true }, { "ever.sale", true }, + { "everain.me", true }, { "everettsautorepair.com", true }, { "everfine.com.tw", true }, { "evergladesrestoration.gov", true }, + { "evergreenmichigan.com", true }, { "everhome.de", true }, + { "everitoken.io", true }, { "everling.lu", true }, { "everlong.org", true }, { "evermarkstudios.com", true }, @@ -12793,6 +13019,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "everything-everywhere.com", true }, { "everythingaccess.com", true }, { "everythingstech.com", true }, + { "everythinq.com", true }, { "everytrycounts.gov", false }, { "everywhere.cloud", true }, { "eveshamglass.co.uk", true }, @@ -12805,8 +13032,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evidentiasoftware.com", true }, { "evilarmy.com", true }, { "evilbunnyfufu.com", true }, - { "evilcult.me", true }, - { "evileden.com", true }, { "evilized.de", true }, { "evilmartians.com", true }, { "evilsite.cf", true }, @@ -12824,7 +13049,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evolutionsmedicalspa.com", true }, { "evolvetechnologies.co.uk", true }, { "evolvingthoughts.net", true }, - { "evonews.com", true }, { "evony.eu", true }, { "evosyn.com", true }, { "evotec.pl", true }, @@ -12833,20 +13057,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "evrial.com", true }, { "evrica.me", true }, { "evromandie.ch", true }, + { "evrotrust.com", true }, { "evstatus.com", true }, { "evtasima.name.tr", true }, { "evtripping.com", true }, + { "evtscan.io", true }, { "ewaipiotr.pl", true }, { "ewanm89.co.uk", true }, { "ewanm89.com", true }, { "ewanm89.uk", true }, { "ewe2.ninja", true }, + { "ewhitehat.com", true }, { "ewie.name", true }, { "ewizmo.com", true }, { "ewout.io", true }, { "ewsfeed.com", true }, { "ewtl.es", true }, - { "ewuchuan.com", true }, { "ewus.de", true }, { "ewycena.pl", true }, { "ex-deli.jp", true }, @@ -12863,16 +13089,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exatmiseis.net", false }, { "exceed.global", true }, { "exceedagency.com", true }, + { "excel-utbildning.nu", true }, { "excelhot.com", true }, + { "excelkurs.one", true }, { "exceltechdubai.com", true }, { "exceltechoman.com", true }, + { "exceltobarcode.com", true }, { "excentos.com", true }, { "exceptionalservers.com", true }, { "excessamerica.com", true }, { "excesssecurity.com", true }, { "exchaser.com", true }, { "exclusivebouncycastles.co.uk", true }, - { "exclusivedesignz.com", true }, + { "exclusivecarcare.co.uk", true }, { "exdamo.de", false }, { "exe-boss.tech", true }, { "execution.biz.tr", true }, @@ -12900,6 +13129,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exoten-spezialist.de", true }, { "exousiakaidunamis.pw", true }, { "exp.de", true }, + { "expancio.com", false }, + { "expanddigital.media", true }, { "expandeco.com", true }, { "expatmortgage.uk", true }, { "expe.voyage", true }, @@ -12912,13 +13143,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "experteasy.com.au", true }, { "expertofficefitouts.com.au", true }, { "expertohomestaging.com", true }, - { "experts-en-gestion.fr", true }, { "expertsverts.com", true }, { "expertvagabond.com", true }, { "expertviolinteacher.com", true }, { "expiscor.solutions", true }, { "explodie.org", true }, { "exploflex.com.br", true }, + { "exploit-db.com", true }, { "exploit.cz", true }, { "exploit.party", true }, { "exploit.ph", true }, @@ -12939,7 +13170,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "expoort.fr", true }, { "expoort.it", true }, { "expopodium.com", true }, - { "exporo.de", true }, { "exporta.cz", true }, { "express-shina.ru", true }, { "express-vpn.com", true }, @@ -12954,6 +13184,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "exside.com", true }, { "exsora.com", true }, { "extasic.com", true }, + { "extendwings.com", true }, { "extensia.it", true }, { "extensibility.biz.tr", true }, { "extensiblewebmanifesto.org", true }, @@ -12981,6 +13212,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "extradivers-worldwide.com", true }, { "extranetpuc.com.br", true }, { "extrapagetab.com", true }, + { "extreemhost.nl", true }, { "extreme-gaming.de", true }, { "extreme-gaming.us", true }, { "extreme-players.com", true }, @@ -13008,9 +13240,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ezakazivanje.rs", true }, { "ezdog.press", true }, { "ezequiel-garzon.net", true }, + { "ezesec.com", true }, { "ezgif.com", true }, { "ezhik-din.ru", true }, - { "eznfe.com", true }, { "eztvtorrent.com", true }, { "ezwritingservice.com", true }, { "ezzhole.net", true }, @@ -13029,10 +13261,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "f2h.io", true }, { "f3nws.com", true }, { "f43.me", true }, + { "f5.hk", true }, { "f5nu.com", true }, { "f5w.de", true }, + { "f88-line.com", true }, + { "f88-line.net", true }, + { "f88line.com", true }, + { "f88line.net", true }, + { "f88yule1.com", true }, + { "f88yule5.com", true }, + { "f88yule6.com", true }, + { "f88yule7.com", true }, + { "f88yule8.com", true }, { "fa-works.com", true }, { "fabbro-roma.org", true }, + { "fabbro.roma.it", true }, { "faber.org.ru", true }, { "fabian-fingerle.de", true }, { "fabian-klose.com", true }, @@ -13048,6 +13291,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fabiobier.com", true }, { "fabjansisters.eu", true }, { "fableforge.nl", true }, + { "fabmart.com", true }, { "fabrica360.com", true }, { "fabriceleroux.com", true }, { "fabriziocavaliere.it", true }, @@ -13085,6 +13329,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fackovec.sk", true }, { "factbytefactbox.com", true }, { "factcool.com", true }, + { "factor.cc", false }, { "factuur.pro", true }, { "factuursturen.be", true }, { "factuursturen.nl", true }, @@ -13114,6 +13359,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fairbill.com", true }, { "fairedeseconomies.info", true }, { "fairgolfteams.com", true }, + { "fairleighcrafty.com", true }, { "fairmarketing.com", true }, { "fairplay.im", true }, { "fairssl.dk", true }, @@ -13130,12 +13376,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fakeapple.nl", true }, { "fakerli.com", true }, { "fakti.bg", true }, + { "faktotum.tech", true }, { "fakturi.com", true }, { "fakturoid.cz", true }, { "falaeapp.org", true }, { "falaowang.com", true }, { "falbros.com", true }, { "falcona.io", true }, + { "falconfrag.com", true }, { "falconvintners.com", true }, { "falcoz.co", true }, { "faldoria.de", true }, @@ -13159,14 +13407,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fameus.fr", true }, { "famfi.co", true }, { "familiaperez.net", true }, + { "familie-keil.de", true }, { "familie-kruithof.nl", true }, { "familie-kupschke.de", true }, { "familie-leu.ch", true }, { "familie-monka.de", true }, { "familie-poeppinghaus.de", true }, { "familie-remke.de", true }, - { "familiegrottendieck.de", true }, { "familieholme.de", true }, + { "familiekiekjes.nl", true }, { "familjenfrodlund.se", true }, { "familjenm.se", true }, { "familylawhotline.org", true }, @@ -13182,9 +13431,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fan.gov", true }, { "fanactu.com", true }, { "fanatical.com", true }, + { "fanatik.io", true }, { "fanboi.ch", true }, { "fancy-bridge.com", true }, { "fancy.org.uk", true }, + { "fancygaming.dk", true }, { "fander.it", true }, { "fandler.cz", true }, { "fandomservices.com", true }, @@ -13194,15 +13445,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fanjoe.be", true }, { "fansided.com", true }, { "fantasiapainter.com", true }, + { "fantasiatravel.hr", true }, { "fantasticcleaners.com.au", true }, { "fantastichandymanmelbourne.com.au", true }, { "fantastici.de", true }, { "fantasticservices.com", true }, { "fantasticservicesgroup.com.au", true }, { "fantasycastles.co.uk", true }, + { "fantasycdn.com", true }, + { "fantasydrop.com", true }, { "fantasyescortsbirmingham.co.uk", true }, + { "fantasymina.de", true }, { "fantasypartyhire.com.au", true }, - { "fantasyprojections.com", true }, { "fantasyspectrum.com", true }, { "fantopia.club", true }, { "fanvoice.com", true }, @@ -13211,7 +13465,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fanyue123.tk", true }, { "fanz.pro", true }, { "fanzlive.com", true }, - { "fap.no", true }, { "faq.ie", true }, { "fara.gov", true }, { "faradji.nu", true }, @@ -13225,6 +13478,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "farhood.org", true }, { "farid.is", true }, { "farmacia-discreto.com", true }, + { "farmaciadejaime.es", true }, { "farmacialaboratorio.it", true }, { "farmer.dating", true }, { "farmers.gov", false }, @@ -13245,6 +13499,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fashion-stoff.de", true }, { "fashion24.de", true }, { "fashion4ever.pl", true }, + { "fashionhijabers.com", true }, { "fashionunited.be", true }, { "fashionunited.cl", true }, { "fashionunited.com", true }, @@ -13268,13 +13523,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fassaden-selleng.de", true }, { "fassadenverkleidung24.de", true }, { "fassi-sport.it", true }, + { "fast-host.net", true }, + { "fast-pro.co.jp", true }, { "fastblit.com", true }, { "fastcash.com.br", true }, + { "fastcomcorp.com", true }, { "fastcommerce.org", true }, - { "fastconfirm.com", true }, { "fastcp.top", true }, { "fastest-hosting.co.uk", true }, - { "fastforwardsociety.nl", true }, { "fastforwardthemes.com", true }, { "fastlike.co", true }, { "fastmail.com", false }, @@ -13282,7 +13538,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fastpresence.com", true }, { "fastrevision.com", true }, { "fastvistorias.com.br", true }, - { "fastwebsites.com.br", true }, { "faszienrollen-info.de", false }, { "fateandirony.com", true }, { "fatecdevday.com.br", true }, @@ -13294,7 +13549,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fatmixx.com", true }, { "fatowltees.com", true }, { "faucetbox.com", false }, - { "faui2k17.de", true }, + { "faui2k17.de", false }, { "faultlines.org", true }, { "faulty.equipment", true }, { "fauvettes.be", true }, @@ -13302,7 +13557,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fawong.com", true }, { "faxite.com", true }, { "faxvorlagen-druckvorlagen.de", true }, - { "fayntic.com", true }, { "fb.me", true }, { "fbcdn.net", true }, { "fbcopy.com", true }, @@ -13318,12 +13572,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fca-tools.com", true }, { "fcburk.de", true }, { "fccarbon.com", true }, + { "fcdn.nl", true }, { "fcforum.net", true }, { "fcingolstadt.de", true }, { "fckd.net", true }, { "fcosinus.com", true }, { "fcprovadia.com", true }, { "fcsic.gov", true }, + { "fdalawboston.com", true }, + { "fdaregs.com", true }, { "fdevs.ch", true }, { "fdicig.gov", true }, { "fdicoig.gov", true }, @@ -13336,6 +13593,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fdsys.gov", false }, { "feac.us", true }, { "feaden.me", true }, + { "feandc.com", true }, { "fearby.com", true }, { "fearghus.org", true }, { "fearsomegaming.com", true }, @@ -13345,7 +13603,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "featherweightlabs.com", true }, { "featuredmen.com", false }, { "feb.gov", true }, - { "fecik.sk", true }, { "fedcenter.gov", true }, { "federaljobs.gov", true }, { "federalreserve.gov", true }, @@ -13371,6 +13628,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feedough.com", true }, { "feedthefuture.gov", true }, { "feeeei.com", true }, + { "feek.fit", true }, { "feel-events.com", true }, { "feel.aero", true }, { "feelgood-workouts.de", true }, @@ -13378,7 +13636,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feeltennis.net", true }, { "feen.us", true }, { "feepod.com", true }, - { "feeriedesign-event.com", true }, { "feetpa.ws", true }, { "feezmodo.com", false }, { "fefelovalex.ru", true }, @@ -13392,6 +13649,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feigling.net", false }, { "feildel.fr", true }, { "feilen.de", true }, + { "feisbed.com", true }, { "feisim.com", true }, { "feisim.org", true }, { "feistyduck.com", true }, @@ -13401,11 +13659,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feld.saarland", true }, { "feldhousen.com", true }, { "felett.es", true }, - { "felgitscher.xyz", true }, { "feli.games", true }, { "felicifia.org", true }, { "felinepc.com", true }, - { "felisslovakia.sk", true }, { "felistirnavia.sk", true }, { "felixaufreisen.de", true }, { "felixbarta.de", true }, @@ -13425,8 +13681,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "femtomind.com", true }, { "fence-stlouis.com", true }, { "feng-hhcm.com", true }, - { "feng-in.com", true }, - { "feng-in.net", true }, { "feng.si", true }, { "fengyi.tel", true }, { "fenster-bank.at", true }, @@ -13440,6 +13694,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ferienhaeuser-krummin.de", true }, { "ferienhaus-polchow-ruegen.de", false }, { "ferienhausprovence.ch", true }, + { "ferienwohnung-hafeninsel-stralsund.de", true }, + { "ferienwohnung-wiesengrund.eu", true }, { "feriespotter.dk", true }, { "ferm-rotterdam.nl", true }, { "fermabel.com.br", true }, @@ -13460,6 +13716,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "festaprylar.se", true }, { "festival-tipps.com", true }, { "festivaljapon.com", true }, + { "festx.co.za", true }, { "fettlaus.de", true }, { "feudalisten.de", true }, { "feuerhuhn.de", true }, @@ -13473,8 +13730,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "feuerwehr-oberkotzau.de", true }, { "feuerwehr-offenbach-bieber.de", false }, { "feuerwehr-vechta.de", true }, + { "feuerwehrbadwurzach.de", true }, { "feuerwerksmanufaktur.de", true }, { "feuetgloire.com", true }, + { "fewo-hafeninsel-stralsund.de", true }, { "fewo-thueringer-wald.de", true }, { "fexco.com", true }, { "feybiblia.com", true }, @@ -13482,15 +13741,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ff-bad-hoehenstadt.de", true }, { "ff-getzersdorf.at", true }, { "ff-obersunzing-niedersunzing.de", true }, - { "ff14-mstdn.xyz", true }, + { "ff14-mstdn.xyz", false }, { "ffb.gov", false }, { "ffbans.org", true }, + { "ffbsee.net", true }, { "ffiec.gov", true }, { "ffis.me", true }, { "ffkoenigsberg.de", true }, { "ffmradio.de", true }, { "ffprofile.com", true }, - { "ffsociety.nl", true }, { "ffta.eu", true }, { "ffw-zeven.de", true }, { "ffzeven.de", true }, @@ -13501,7 +13760,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fhdhelp.de", false }, { "fhdhilft.de", false }, { "fhfaoig.gov", true }, - { "fhg90.com", true }, { "fhmkh.cn", true }, { "fi.google.com", true }, { "fi.search.yahoo.com", false }, @@ -13511,9 +13769,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fiasgo.com", true }, { "fiasgo.dk", true }, { "fiasgo.i.ng", true }, + { "fibabanka.com.tr", true }, { "fibo-forex.org", true }, + { "fibra.click", true }, { "fibretv.co.nz", true }, { "fibretv.tv", true }, + { "fibromuebles.com", true }, { "fichier-pdf.fr", true }, { "fickweiler.nl", true }, { "ficlab.com", true }, @@ -13529,6 +13790,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fierlafijn.net", true }, { "fierscleaning.nl", true }, { "fiery.me", true }, + { "fifautstore.com", true }, { "fifei.de", true }, { "fifichachnil.paris", true }, { "fifieldtech.com", true }, @@ -13539,6 +13801,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fight215.com", true }, { "fight215.org", true }, { "figinstitute.org", true }, + { "figliasons.com", true }, { "figshare.com", true }, { "figurasdelinguagem.com.br", true }, { "figure.nz", true }, @@ -13548,12 +13811,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fijnefeestdageneneengelukkignieuwjaar.nl", true }, { "fijnewoensdag.nl", true }, { "fiken.no", true }, + { "fikst.com", true }, + { "fil-tec-rixen.com", true }, { "fil.fi", true }, { "filanthropystar.org", true }, { "file-cloud.eu", true }, { "file-pdf.it", true }, { "filecopa.com", true }, { "files.from-me.org", true }, + { "fileservicios.com.ar", true }, { "filestar.io", true }, { "filestartest.io", true }, { "filetransfer.one", true }, @@ -13572,7 +13838,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "filleritemsindia.com", true }, { "fillo.sk", true }, { "film-colleges.com", true }, - { "film-storyboards.com", true }, { "film-storyboards.fr", true }, { "film-tutorial.com", true }, { "filme-onlines.com", true }, @@ -13588,7 +13853,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "filterlists.com", true }, { "filtr.me", true }, { "fimsquad.com", true }, + { "finagosolo.com", true }, { "final-expense-quotes.com", true }, + { "finalprice.net", true }, { "finalrewind.org", true }, { "finalx.nl", true }, { "finance-colleges.com", true }, @@ -13602,7 +13869,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "finchnest.co.uk", true }, { "find-job-in.com", true }, { "find-mba.com", true }, - { "find-your-happy-place.de", true }, { "findapinball.com", true }, { "findcarspecs.com", true }, { "findhoustonseniorcare.com", true }, @@ -13615,19 +13881,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "findstorenearme.co.uk", true }, { "findstorenearme.us", true }, { "findthatnude.com", true }, + { "findyourtrainer.com", true }, { "findyourvoice.ca", true }, { "fine-services.paris", true }, { "finecocoin.io", true }, { "finefriends.nl", true }, { "finelovedolls.com", true }, { "finenet.com.tw", true }, + { "finevegashomes.com", true }, { "finfev.de", true }, { "finflix.net", true }, { "finform.ch", true }, { "fini-de-jouer.ch", true }, { "finisron.in", true }, { "finkelstein.fr", true }, - { "finkenberger.org", false }, { "finkmartin.com", true }, { "finn.io", true }, { "finnclass.cz", true }, @@ -13638,7 +13905,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fintechnics.com", false }, { "fintry.ca", true }, { "finvantage.com", true }, + { "finwe.info", true }, + { "fionafuchs.de", true }, { "fionamcbride.com", true }, + { "fioristionline.it", true }, + { "fioristionline.net", true }, { "fioulmarket.fr", true }, { "fir3net.com", true }, { "fire-schools.com", true }, @@ -13655,7 +13926,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "firefly-iii.org", true }, { "firegoby.jp", true }, { "firegore.com", true }, - { "firekoi.com", true }, { "fireleadership.gov", true }, { "firemudfm.com", true }, { "firenza.org", true }, @@ -13671,7 +13941,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fireworksshowvr.com", true }, { "firma-cerny.cz", true }, { "firma-offshore.com", true }, - { "firmale.com", true }, + { "firmament.space", true }, { "firmapi.com", true }, { "firmen-assekuranz.de", true }, { "firmenwerbung-vermarktung.de", true }, @@ -13704,10 +13974,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fishermansbendcorporation.com.au", true }, { "fishermansbendtownhouses.com.au", true }, { "fishexport.eu", true }, - { "fishfinders.info", true }, { "fishgen.no", true }, { "fishserver.net", true }, { "fishtacos.blog", true }, + { "fisinfomanagerdr.com", true }, { "fistu.la", true }, { "fit-4u.ch", true }, { "fit-mit-nina.com", true }, @@ -13724,7 +13994,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fiuxy.bz", true }, { "fiuxy.co", true }, { "fiuxy.me", true }, - { "fiveboosts.xyz", true }, { "fivethirtyeight.com", true }, { "fixatom.com", true }, { "fixed.supply", true }, @@ -13739,15 +14008,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fiziktedavi.name.tr", true }, { "fizyoterapi.name.tr", true }, { "fizz.buzz", false }, + { "fj.je", true }, { "fj.search.yahoo.com", false }, { "fj.simple.com", false }, + { "fjdekermadec.com", true }, { "fjharcu.com", true }, { "fjordboge.dk", true }, { "fjugstad.com", true }, + { "fjzone.org", true }, { "fkcdn.de", true }, { "fkfev.de", true }, { "fktpm.ru", true }, - { "flacandmp3.ml", true }, { "flaemig42.de", false }, { "flagburningworld.com", true }, { "flagfox.net", true }, @@ -13779,6 +14050,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flavr.be", true }, { "flawlesscowboy.xyz", true }, { "fleep.io", true }, + { "fleesty.dynv6.net", true }, { "fleetcor.at", true }, { "fleetcor.ch", true }, { "fleetcor.cz", true }, @@ -13803,15 +14075,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fleuryfleury.com", true }, { "flexapplications.se", true }, { "flexfunding.com", true }, - { "fleximaal.com", true }, { "fleximal.com", true }, { "fleximus.org", false }, { "flexport.com", true }, { "flexstart.me", true }, { "flextrack.dk", true }, - { "flextribly.xyz", true }, { "fliacuello.com.ar", true }, { "flickcritter.com", true }, + { "fliesen-waldschmidt.de", true }, { "flight.school", true }, { "flightdeckfriend.com", true }, { "flightmedx.com", true }, @@ -13832,7 +14103,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flirtee.net", true }, { "flirtfaces.de", true }, { "flirtos.de", true }, - { "flixhaven.net", true }, + { "flixports.com", true }, { "flmortgagebank.com", true }, { "floatationlocations.com", true }, { "floaternet.com", true }, @@ -13840,6 +14111,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flocktofedora.org", true }, { "floersheimer-openair.de", true }, { "floffi.media", true }, + { "floify.com", true }, + { "floj.tech", true }, { "flokinet.is", true }, { "floless.co.uk", true }, { "flomeyer.de", true }, @@ -13850,6 +14123,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flooringsourcetx.com", true }, { "floors4lessbay.com", true }, { "floort.net", false }, + { "floraclick.net", true }, + { "floraexpress.it", true }, { "florence.uk.net", true }, { "florenceapp.co.uk", true }, { "florent-tatard.fr", true }, @@ -13865,27 +14140,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "floriantanner.ch", true }, { "floridafabrication.net", true }, { "floridafieros.org", true }, + { "floridagulfbeachrealty.com", true }, { "floridahomesinvest.com", true }, + { "floridasexhealth.com", true }, { "florinlungu.it", true }, { "florismoo.nl", true }, { "florismouwen.com", false }, { "florisvdk.net", true }, { "floriswesterman.nl", true }, { "flosch.at", false }, - { "floseed.fr", true }, { "floskelwolke.de", true }, + { "flourishtogether.com", true }, { "flow.su", true }, { "flowair24.ru", true }, { "flowcom.de", true }, - { "flowcount.xyz", true }, { "flowersbylegacy.com", true }, { "flowinvoice.com", true }, { "flowreader.com", true }, { "flra.gov", true }, { "flucky.xyz", true }, - { "flucto.com", true }, - { "flue-ducting.co.uk", true }, { "fluffycloud.de", true }, + { "fluggesellschaft.de", true }, { "fluhrers.de", true }, { "fluidmeterusa.com", true }, { "fluids.ac.uk", true }, @@ -13915,6 +14190,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flyingrub.me", true }, { "flymns.fr", true }, { "flynn.io", true }, + { "flyp.me", true }, + { "flypenge.dk", true }, { "flyserver.co.il", true }, { "flyshe.co.uk", true }, { "flyssh.net", true }, @@ -13923,20 +14200,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "flytoadventures.com", true }, { "fm-cdn.de", true }, { "fm.ie", true }, - { "fmapplication.com", true }, { "fmarchal.fr", true }, { "fmc.gov", true }, { "fmdance.cl", true }, - { "fmi.gov", true }, { "fminsight.net", true }, { "fmodoux.biz", true }, { "fmussatmd.com", true }, { "fnanen.net", true }, { "fnb-griffinonline.com", true }, { "fnbnokomis.com", true }, + { "fnh-expert.net", true }, { "fnkr.net", true }, { "fnof.ch", true }, { "fnordserver.eu", true }, + { "fnpro.eu", true }, { "fnzc.co.nz", true }, { "foairbus.fr", true }, { "foairbussas.fr", true }, @@ -13958,7 +14235,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fokan.be", true }, { "fokep.no", true }, { "fokkusu.fi", true }, - { "fol.tf", true }, { "folio.no", true }, { "foljeton.dk", true }, { "folk.as", true }, @@ -13973,7 +14249,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foluomeng.net", true }, { "folv.es", true }, { "folwark.krakow.pl", true }, - { "folwarkwiazy.pl", true }, { "fomopop.com", true }, { "fondationwiggli.ch", true }, { "fondsdiscountbroker.de", true }, @@ -13991,7 +14266,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foo.hamburg", true }, { "foodattitude.ch", true }, { "foodblogger.club", true }, - { "foodcowgirls.com", true }, { "foodev.de", true }, { "foodsafety.gov", true }, { "foodsafetyjobs.gov", true }, @@ -14004,6 +14278,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fooster.io", true }, { "foot.fr", true }, { "footagecrate.com", true }, + { "football.de", true }, { "footballforum.de", true }, { "footloose.co.uk", true }, { "for.care", true }, @@ -14027,28 +14302,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foresdon.jp", true }, { "foresthillhomes.ca", true }, { "forestraven.net", true }, - { "foreverssl.com", true }, { "foreversummertime.com", true }, { "forewordreviews.com", true }, - { "forex-plus.com", true }, { "forex.ee", true }, { "forexchef.de", true }, { "forexee.com", true }, + { "forexsignals7.com", true }, { "forextickler.com", true }, { "forextimes.ru", false }, { "forfunssake.co.uk", true }, { "forge-goerger.eu", true }, - { "forglemmigej.net", true }, { "forgotten-legends.org", true }, + { "form3w.nl", true }, + { "formacionyestudios.com", true }, { "forman.store", true }, { "formapi.io", true }, { "format-paysage.ch", true }, { "formation-assureur.com", true }, { "formation-mac.ch", true }, { "formationseeker.com", true }, - { "formbetter.com", true }, { "formini.dz", true }, - { "formkiq.com", true }, + { "formsbyair.com", true }, { "formula-ot.ru", true }, { "formulacionquimica.com", true }, { "formulastudent.de", true }, @@ -14057,20 +14331,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foro.io", false }, { "forodeespanol.com", true }, { "forodieta.com", true }, + { "forokd.com", true }, { "forologikidilosi.com.gr", true }, { "forourselves.com", true }, { "forpc.us", true }, { "forrestheller.com", true }, + { "forro.berlin", true }, { "forro.info", true }, { "forsakringsarkivet.se", true }, { "forschbach-janssen.de", true }, { "forsec.nl", true }, { "forstbetrieb-hennecke.de", true }, { "forstprodukte.de", true }, - { "fort.eu", true }, { "forteggz.nl", true }, { "fortesanshop.it", true }, - { "fortknox.cz", true }, { "fortnine.ca", true }, { "fortnitemagic.ga", true }, { "fortran.io", true }, @@ -14095,6 +14369,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foscamcanada.com", true }, { "fosdem.org", true }, { "foshanshequ.com", false }, + { "fossforward.com", true }, { "fossilfreeyale.org", true }, { "fotella.com", true }, { "fotikpro.ru", true }, @@ -14102,7 +14377,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foto-leistenschneider.de", true }, { "foto-leitner.com", true }, { "foto-leitner.de", true }, - { "foto-pro.by", true }, { "foto-robitsch.at", true }, { "foto-roma.ru", true }, { "foto.by", true }, @@ -14111,6 +14385,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fotoflits.net", true }, { "fotografechristha.nl", true }, { "fotografiadellalucerossa.com", true }, + { "fotografiamakro.pl", true }, { "fotohome.dk", true }, { "fotokomorkomania.pl", true }, { "fotoleitner.com", true }, @@ -14138,13 +14413,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "foxbnc.co.uk", true }, { "foxdev.co", true }, { "foxesare.sexy", true }, - { "foxhound.com.br", true }, { "foxing.club", true }, { "foxo.blue", true }, { "foxontheinter.net", true }, { "foxphotography.ch", true }, { "foxquill.com", true }, - { "foyale.io", true }, + { "foxstreetcomms.co.za", true }, { "fpaci.org", true }, { "fpc.gov", false }, { "fpersona.com", true }, @@ -14169,6 +14443,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "framezdakkapellen.nl", true }, { "fran.cr", true }, { "francescopalazzo.com", true }, + { "francescopandolfibalbi.it", true }, { "francescoservida.ch", true }, { "francetraceur.fr", true }, { "franchini.email", true }, @@ -14179,6 +14454,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "franckyz.com", true }, { "francois-gaillard.fr", true }, { "francois-occasions.be", true }, + { "francoisbelangerboisclair.com", true }, { "francoiscarrier.com", true }, { "francoise-paviot.com", true }, { "francoisharvey.ca", true }, @@ -14196,21 +14472,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frankierprofi.de", true }, { "frankierstar.de", true }, { "frankinteriordesign.co.uk", true }, + { "frankl.in", true }, { "frankmorrow.com", true }, { "frankopol-sklep.pl", true }, + { "frankpalomeque.com", true }, { "franksiler.com", true }, { "frankslaughterinsurance.com", true }, { "frankwei.xyz", true }, { "frankyan.com", true }, - { "fransallen.com", true }, { "frantic1048.com", true }, - { "frantorregrosa.me", true }, { "franz-vatter.de", true }, { "franz.beer", true }, { "franziska-pascal.de", true }, { "franzknoll.de", true }, { "frappant.cc", true }, { "fraselab.ru", true }, + { "frasesconemocion.com", true }, { "frasesdodia.com", true }, { "frasesparaface.com.br", true }, { "frasesytarjetas.com", true }, @@ -14229,34 +14506,84 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frdl.ch", true }, { "freaksites.dk", true }, { "freaksports.com.au", true }, + { "freakyaweso.me", true }, + { "freakyawesome.band", true }, + { "freakyawesome.blog", true }, + { "freakyawesome.club", true }, + { "freakyawesome.co", true }, + { "freakyawesome.company", true }, + { "freakyawesome.email", true }, + { "freakyawesome.events", true }, + { "freakyawesome.fashion", true }, + { "freakyawesome.fitness", true }, + { "freakyawesome.fm", true }, + { "freakyawesome.fun", true }, + { "freakyawesome.fyi", true }, + { "freakyawesome.games", true }, + { "freakyawesome.guide", true }, + { "freakyawesome.guru", true }, + { "freakyawesome.info", true }, + { "freakyawesome.io", true }, + { "freakyawesome.life", true }, + { "freakyawesome.live", true }, + { "freakyawesome.marketing", true }, + { "freakyawesome.me", true }, + { "freakyawesome.media", true }, + { "freakyawesome.network", true }, + { "freakyawesome.news", true }, + { "freakyawesome.online", true }, + { "freakyawesome.org", true }, + { "freakyawesome.photography", true }, + { "freakyawesome.photos", true }, + { "freakyawesome.press", true }, + { "freakyawesome.recipes", true }, + { "freakyawesome.rentals", true }, + { "freakyawesome.reviews", true }, + { "freakyawesome.services", true }, + { "freakyawesome.shop", true }, + { "freakyawesome.site", true }, + { "freakyawesome.social", true }, + { "freakyawesome.software", true }, + { "freakyawesome.solutions", true }, + { "freakyawesome.store", true }, + { "freakyawesome.team", true }, + { "freakyawesome.tips", true }, + { "freakyawesome.today", true }, + { "freakyawesome.tours", true }, + { "freakyawesome.tv", true }, + { "freakyawesome.video", true }, + { "freakyawesome.website", true }, + { "freakyawesome.work", true }, + { "freakyawesome.world", true }, + { "freakyawesome.xyz", true }, { "frebi.org", true }, { "frebib.co.uk", true }, { "frebib.com", true }, - { "frebib.me", true }, { "frebib.net", true }, { "freddieonfire.tk", false }, { "freddyfazbearspizzeria.com", true }, { "freddysfuncastles.co.uk", true }, { "fredericcote.com", true }, - { "frederickalcantara.com", true }, { "frederik-braun.com", false }, { "frederikvig.com", true }, { "fredloya.com", true }, - { "fredriksslekt.se", true }, + { "fredriksslaktforskning.se", true }, { "fredtec.ru", true }, { "fredvoyage.fr", true }, - { "free-your-pc.com", true }, + { "free-ss.site", true }, { "free.ac.cn", true }, { "free.com.tw", true }, { "freeasyshop.com", true }, { "freebarrettbrown.org", true }, { "freebcard.com", true }, { "freebetoffers.co.uk", true }, - { "freebies.id", true }, { "freebookmakersbetsandbonuses.com.au", true }, { "freeboson.org", true }, + { "freebus.org", true }, { "freecam2cam.site", true }, { "freecloud.at", true }, + { "freecookies.nl", true }, + { "freecycleusa.com", true }, { "freedev.cz", true }, { "freedom.nl", true }, { "freedom.press", true }, @@ -14279,14 +14606,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freelance.boutique", true }, { "freelance.guide", true }, { "freelance.nl", true }, - { "freelancecollab.com", true }, { "freelanceessaywriters.com", true }, { "freelancehunt.com", true }, - { "freelanceshipping.com", true }, { "freelauri.com", true }, { "freelifer.jp", true }, { "freelo.cz", true }, { "freelysurf.cf", true }, + { "freemania.eu", true }, + { "freemania.nl", true }, + { "freemanlogistics.com", true }, { "freemans.com", true }, { "freemomhugs.org", true }, { "freemyipod.org", true }, @@ -14305,6 +14633,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freesoft-board.to", true }, { "freesoftlab.com", true }, { "freesolitaire.win", true }, + { "freesourcestl.org", true }, + { "freesquare.net", true }, { "freessl.tech", true }, { "freesslcertificate.me", true }, { "freethetv.ie", true }, @@ -14329,6 +14659,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freitasul.com.br", true }, { "freitasul.io", true }, { "freiwurst.net", true }, + { "freizeitbad-riff.de", true }, { "freizeitplaza.de", true }, { "frejasdal.dk", true }, { "frenchcreekcog.org", true }, @@ -14342,14 +14673,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "freshdns.nl", true }, { "freshempire.gov", true }, { "freshislandfish.com", true }, - { "freshkiss.com.au", true }, - { "freshmaza.com", true }, + { "freshlymind.com", true }, { "freshmaza.net", true }, { "fretscha.com", true }, { "frettirnar.is", true }, { "fretworksec.com", true }, + { "freundinnen-ausflug.de", true }, + { "freundinnen-kurzurlaub.de", true }, + { "freundinnen-urlaub.de", true }, { "friarsonbase.com", true }, { "fribourgviking.net", true }, + { "frickelboxx.de", true }, { "frickelmeister.de", true }, { "fridayfoucoud.ma", true }, { "fridolinka.cz", true }, @@ -14358,7 +14692,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "friederloch.de", true }, { "friedrich-foto-art.de", true }, { "friedsamphotography.com", true }, - { "friendlysiberia.com", true }, { "friendowment.us", true }, { "friends-of-naz.com", true }, { "friends-socialgroup.org", true }, @@ -14372,8 +14705,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "friezy.ru", true }, { "frigi.ch", true }, { "frigolit.net", true }, - { "friller.com.au", true }, { "frillip.com", true }, + { "fringeintravel.com", true }, { "frinkiac.com", true }, { "frino.de", true }, { "frippz.se", true }, @@ -14391,10 +14724,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "frolova.org", true }, { "from-the-net.com", true }, { "fromscratch.rocks", true }, - { "fromthesoutherncross.com", true }, { "fronteers.nl", false }, { "frontier-ad.co.jp", true }, - { "frontierdiscount.com", true }, + { "frontier.bet", true }, { "frontiers.nl", true }, { "frontlinemessenger.com", true }, { "fropky.com", true }, @@ -14415,16 +14747,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fruchthof24.de", true }, { "fruchtikus.net", true }, { "fruend-hausgeraeteshop.de", true }, - { "frugal-millennial.com", true }, { "frugalfamilyhome.com", true }, { "frugalmechanic.com", true }, { "frugro.be", true }, { "fruition.co.jp", true }, + { "fruitscale.com", true }, { "frusky.de", true }, { "fruttini.de", true }, { "frydrychit.cz", true }, { "fs-community.nl", true }, - { "fs-fitness.eu", true }, { "fs-g.org", true }, { "fs-maistadt.de", true }, { "fs257.com", true }, @@ -14440,12 +14771,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fsdress.com", true }, { "fsfxpackages.com", true }, { "fsg.one", true }, - { "fsj4u.ch", true }, { "fsk.fo", true }, { "fsky.info", true }, { "fsm2016.org", true }, { "fsps.ch", true }, { "fsstyle.com", true }, + { "fsty.uk", true }, { "fsvt.ch", true }, { "ft.com", false }, { "ftc.gov", false }, @@ -14457,26 +14788,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ftptest.net", true }, { "ftrsecure.com", true }, { "ftv.re", true }, - { "fu-li88.com", true }, - { "fu-li88.net", true }, - { "fu639.top", true }, { "fu898.top", true }, { "fuantaishenhaimuli.net", true }, { "fuck-your-false-positive.de", true }, { "fuckav.ru", true }, { "fuckcie.com", true }, { "fucklife.ch", true }, - { "fuckobr.com", true }, - { "fuckobr.net", true }, - { "fuckobr.org", true }, - { "fuckobr.su", true }, { "fuckonthefirst.date", true }, { "fuckup.dk", true }, { "fuckyoupaypal.me", true }, { "fuechschen.org", true }, + { "fuelfirebrand.com", true }, { "fuelingyourdreams.com", true }, { "fuerstenfelder-immobilien.de", true }, - { "fugamo.de", true }, { "fuglede.dk", true }, { "fuite.ch", true }, { "fuites.ch", true }, @@ -14498,6 +14822,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fullhost.com", true }, { "fullhub.ru", true }, { "fullmatch.net", true }, + { "fullstack.love", true }, { "fullstacknotes.com", true }, { "fumblers.ca", true }, { "fumerolles.ch", true }, @@ -14505,7 +14830,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fun-bounce.co.uk", true }, { "fun-tasia.co.uk", true }, { "fun4kidzbouncycastles.co.uk", true }, + { "fun4tomorrow.com", true }, { "fun4ubouncycastles.co.uk", true }, + { "fun888city.com", true }, + { "fun888city.net", true }, { "funadvisor.ca", true }, { "funadvisorfrance.com", true }, { "funandbounce.com", true }, @@ -14520,7 +14848,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fundingempire.com", true }, { "fundort.ch", true }, { "funds.ddns.net", true }, - { "funerariahogardecristo.cl", true }, { "funfactorleeds.co.uk", true }, { "funfair.io", true }, { "funfoodco.co.uk", true }, @@ -14535,7 +14862,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "funkygamer1.de", true }, { "funniestclip.com", true }, { "funnybikini.com", true }, - { "funoverip.net", true }, + { "funsochi.ru", true }, { "funspins.com", true }, { "funtasticinflatablesdurham.co.uk", true }, { "funtime-inflatables.co.uk", true }, @@ -14545,10 +14872,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "funtimesbouncycastles.co.uk", true }, { "fur.red", true }, { "furaje-iasi.com", true }, + { "furcdn.net", true }, { "furcity.me", true }, { "furgo.love", true }, { "furigana.info", true }, - { "furikake.xyz", true }, { "furkancaliskan.com", true }, { "furkot.com", true }, { "furkot.de", true }, @@ -14559,28 +14886,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "furlan.co", true }, { "furlog.it", true }, { "furnfurs.com", true }, + { "furnishedproperty.com.au", true }, { "furry.cat", true }, { "furry.dk", true }, - { "furry.zone", false }, { "furrybot.me", true }, { "furrytech.network", true }, { "furrytf.club", true }, { "furryyiff.site", true }, - { "furtherfood.com", true }, + { "fursuitbutts.com", true }, { "fusa-miyamoto.jp", true }, { "fuselight.nl", true }, { "fuseos.net", true }, { "fushee.com", true }, { "fusiongaming.de", true }, { "fussball-xxl.de", true }, + { "fussell.io", true }, + { "futa.moe", true }, { "futaba-works.com", true }, { "futagro.com", true }, { "futbomb.com", true }, { "futcre.com", true }, { "futrou.com", true }, { "future-moves.com", true }, + { "futureaudiographics.com", true }, { "futurefund.com", true }, - { "futurefundapp.com", true }, { "futuregrowthva.com", true }, { "futurehack.io", true }, { "futurenda.com", true }, @@ -14611,16 +14940,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fxopen.ru", true }, { "fxp.co.il", true }, { "fxseo.com.au", true }, + { "fxtalk.cn", true }, { "fxthai.com", true }, { "fxtrade-lab.com", true }, { "fxweb.co", true }, { "fxwebsites.com.au", true }, { "fxwebsites.net.au", true }, { "fxwebstudio.net.au", true }, + { "fydjbsd.cn", true }, { "fyfywka.com", true }, { "fyksen.me", true }, { "fyn.nl", true }, { "fyol.xyz", false }, + { "fyreek.me", true }, { "fyretrine.com", true }, { "fysesbjerg.dk", true }, { "fysio123.nl", true }, @@ -14636,9 +14968,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "fzx750.ru", true }, { "g-ds.de", true }, { "g-m-w.eu", true }, - { "g-o.pl", true }, { "g-p-design.com", true }, { "g-rom.net", true }, + { "g.co", true }, { "g0881.com", true }, { "g0man.com", true }, { "g1.ie", true }, @@ -14661,7 +14993,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gabemack.com", true }, { "gabinetpsychoterapii.krakow.pl", true }, { "gabriel.to", true }, - { "gabrielsimonet.ch", true }, + { "gabriele.tips", true }, { "gabrielsteens.nl", true }, { "gachimuchi.ru", true }, { "gachiyase.com", true }, @@ -14673,6 +15005,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gaengler.com", true }, { "gaest.com", true }, { "gaestehaus-monika.com", true }, + { "gaetanosonline.com", true }, + { "gaff-rig.co.uk", true }, { "gaflooring.com", true }, { "gafunds.com", true }, { "gagliarducci.it", true }, @@ -14684,6 +15018,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gagygnole.ch", true }, { "gaiavanderzeyp.com", true }, { "gaichon.com", true }, + { "gailfellowsphotography.com", true }, { "gaines-sodiamex.fr", true }, { "gaio-automobiles.fr", true }, { "gaireg.de", true }, @@ -14693,7 +15028,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gakkainavi-epsilon.jp", true }, { "gakkainavi-epsilon.net", true }, { "gakkainavi.jp", true }, - { "gakkainavi.net", true }, { "gakkainavi4.jp", true }, { "gakkainavi4.net", true }, { "gaku-architect.com", true }, @@ -14703,12 +15037,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "galactic-crew.org", true }, { "galak.ch", true }, { "galanight.cz", true }, + { "galaxy.edu.pe", true }, { "galecia.com", true }, { "galeria42.com", true }, + { "galerialottus.com.br", true }, + { "galeriarr.pl", true }, { "galeriart.xyz", true }, - { "galerieautodirect.com", true }, { "galeries.photo", true }, - { "galgopersa.com.br", true }, { "galilahiskye.com", true }, { "galileanhome.org", true }, { "galilel.cloud", true }, @@ -14723,7 +15058,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gallifreypermaculture.com.au", true }, { "gallun-shop.com", true }, { "galpaoap.com.br", true }, - { "gamajo.com", true }, { "gamberorosso.menu", true }, { "gambetti.fr", true }, { "gambit.pro", true }, @@ -14735,6 +15069,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gamblersgaming.eu", true }, { "game4less.com", true }, { "game7.de", true }, + { "game88city.net", true }, { "gameanalytics.com", true }, { "gameblabla.nl", true }, { "gamebrott.com", true }, @@ -14759,6 +15094,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gamer-portal.com", true }, { "gamercredo.com", true }, { "gamereader.de", true }, + { "gamerezo.com", true }, { "gamerzdot.com", true }, { "games4theworld.org", true }, { "gamesaviour.com", true }, @@ -14779,6 +15115,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gamingwithcromulent.com", true }, { "gamingzoneservers.com", true }, { "gamishou.fr", true }, + { "gamismodernshop.com", true }, + { "gamismurahonline.com", true }, { "gamivo.com", true }, { "gamoloco.com", true }, { "gan.wtf", true }, @@ -14793,15 +15131,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ganggalbichler.at", true }, { "gansleit.com", false }, { "ganztagplus.de", true }, + { "gao.ci", true }, { "gao.rocks", true }, + { "gaojianli.me", true }, { "gaojianli.tk", true }, { "gaos.org", true }, { "gapdirect.com", true }, { "gapfa.org", true }, { "gaphag.ddns.net", true }, - { "gar-nich.net", false }, { "garage-leone.com", true }, { "garage-meynard.com", true }, + { "garagedejan.ch", true }, { "garageenginuity.com", true }, { "garagegoossens.be", true }, { "garagemhermetica.org", true }, @@ -14815,13 +15155,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "garderobche.eu", true }, { "gardikagigih.com", true }, { "gardinte.com", true }, + { "gardis.ua", true }, { "garedtech.com", false }, { "garethbowker.com", true }, + { "garethkirk.com", true }, + { "garethkirkreviews.com", true }, { "garethrhugh.es", true }, { "garforthgolfclub.co.uk", true }, { "gargazon.net", true }, + { "garnuchbau.de", true }, { "garron.net", true }, { "garrowmediallc.com", true }, + { "gartenbaur.de", true }, { "gartenplanung-brendes.de", true }, { "garycarmell.com", true }, { "garycwaite.com", true }, @@ -14850,8 +15195,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gavins.stream", true }, { "gavinsblog.com", true }, { "gawrimanecuta.com", true }, - { "gaya-sa.org", true }, - { "gayforgenji.com", true }, + { "gaycc.cc", true }, { "gaymerconnect.net", true }, { "gaymerx.com", true }, { "gaymerx.net", true }, @@ -14875,7 +15219,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gcguild.net", true }, { "gchq.wtf", true }, { "gcoded.de", true }, - { "gcodetools.com", true }, { "gcs-ventures.com", true }, { "gcsepod.com", true }, { "gdax.com", true }, @@ -14884,6 +15227,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gdhzcgs.com", true }, { "gdiary.net", true }, { "gdngs.de", true }, + { "gdoce.es", true }, { "gdpr-pohotovost.cz", true }, { "gdv.me", true }, { "gdz-spishy.com", true }, @@ -14891,11 +15235,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ge3k.net", false }, { "gear4you.shop", true }, { "gearallnews.com", true }, + { "gearboxhero.com", true }, { "gearev.net", true }, { "gearfinder.nl", true }, - { "gearseo.com.br", true }, { "gearset.com", true }, - { "geass.xyz", true }, { "geba-online.de", true }, { "gebn.co.uk", true }, { "gebn.uk", true }, @@ -14907,6 +15250,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geckler-ee.de", true }, { "geder.at", true }, { "gedlingcastlehire.co.uk", true }, + { "gedlingtherapy.co.uk", true }, { "gee.is", true }, { "geecrat.com", true }, { "geek-hub.de", true }, @@ -14955,14 +15299,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gelis.ch", true }, { "gelodosul.com.br", true }, { "gelog-software.de", false }, + { "gelonghui.com", true }, { "geloofindemocratie.nl", false }, { "geluidsstudio.com", true }, - { "gem-info.fr", true }, + { "geluk.io", true }, + { "gem-indonesia.net", false }, { "gemeentemolenwaard.nl", true }, { "gemeinsam-ideen-verwirklichen.de", true }, { "gemgroups.in", true }, { "gemini.com", true }, { "gemquery.com", true }, + { "genbright.com", true }, { "genchev.io", true }, { "gencmedya.com", true }, { "genderidentiteit.nl", true }, @@ -14979,7 +15326,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "general-anaesthesia.com", true }, { "general-anaesthetics.com", true }, { "general-anesthesia.com", true }, - { "general-insurance.tk", true }, { "generali-worldwide.com", true }, { "generalinsuranceservices.com", true }, { "generationgoat.com", true }, @@ -14992,6 +15338,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "genesysmi.com", true }, { "genetargetsolutions.com.au", true }, { "genetidyne.com", true }, + { "genevachauffeur.com", true }, { "geneve-naturisme.ch", true }, { "genevoise-entretien.ch", true }, { "genfaerd.dk", true }, @@ -15011,7 +15358,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gensicke.de", true }, { "genslerapps.com", true }, { "genslerwisp.com", true }, - { "gensokyo.chat", true }, { "gensokyo.re", true }, { "gensonline.eu", true }, { "gentianes.ch", true }, @@ -15019,16 +15365,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gentooblog.de", true }, { "genusshotel-riegersburg.at", true }, { "genuxtsg.com", true }, - { "genxnotes.com", true }, + { "geocar.com", true }, { "geocompass.at", true }, { "geofox.org", true }, { "geography-schools.com", true }, + { "geoinstinct.com", true }, { "geoip.fedoraproject.org", true }, { "geoip.stg.fedoraproject.org", true }, { "geojs.io", true }, { "geology-schools.com", true }, { "geometra.roma.it", true }, { "geomex.be", true }, + { "geomonkeys.com", true }, { "geoponika.gr", true }, { "geoport.al", true }, { "georadar-algerie.com", true }, @@ -15045,6 +15393,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "georgiaautoglass.net", true }, { "georgiaglassrepair.com", true }, { "georgiastuartyoga.co.uk", true }, + { "georgiaurologist.com", true }, { "georgioskontaxis.com", true }, { "georgioskontaxis.net", true }, { "georgioskontaxis.org", true }, @@ -15053,7 +15402,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geoscope.ch", true }, { "geosphereservices.com", true }, { "geotab.com", true }, - { "gepe.ch", true }, { "gepgroup.gr", true }, { "gepps.de", true }, { "geraintwhite.co.uk", true }, @@ -15064,6 +15412,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gerardozamudio.mx", true }, { "gerbyte.co.uk", true }, { "gerbyte.com", true }, + { "gerbyte.uk", true }, { "germancraft.net", true }, { "germandarknes.net", true }, { "germanssky.de", true }, @@ -15078,9 +15427,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "geschwinder.net", true }, { "gesica.cloud", true }, { "gessettirotti.it", true }, + { "gestorehotel.com", true }, { "gestormensajeria.com", true }, { "gesundheitmassage.com", true }, { "gesundheitswelt24.de", true }, + { "gesundheitszentrum-am-reischberg.de", true }, { "get-erp.ru", true }, { "get-it-live.com", true }, { "get-it-live.de", true }, @@ -15101,6 +15452,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "getdash.io", true }, { "getdeveloper.de", true }, { "geteckeld.nl", true }, + { "geteduroam.no", true }, { "getenv.io", true }, { "geterp.ru", true }, { "getfedora.org", true }, @@ -15120,6 +15472,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "getmango.com", true }, { "getmdl.io", true }, { "getmerch.eu", true }, + { "getmovil.com", true }, { "getnib.com", true }, { "getnikola.com", true }, { "getoutofdebt.org", true }, @@ -15136,7 +15489,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "getsensibill.com", true }, { "getsetbounce.co.uk", true }, { "getsilknow.com", true }, - { "getsmartaboutdrugs.gov", true }, + { "getsmartaboutdrugs.gov", false }, { "getsport.mobi", true }, { "getswadeshi.com", true }, { "getteamninja.com", true }, @@ -15150,6 +15503,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "getwisdom.io", true }, { "getyeflask.com", true }, { "getyourlifestraight.com", true }, + { "gevelreinigingtiel.nl", true }, { "geyduschek.be", true }, { "gf-franken.de", true }, { "gf5fcalc.com", true }, @@ -15167,7 +15521,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gforce.ninja", true }, { "gfoss.eu", true }, { "gfournier.ca", true }, - { "gfwno.win", false }, { "gfxbench.com", true }, { "ggdcpt.com", true }, { "gginin.today", true }, @@ -15181,12 +15534,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ggx.us", true }, { "gha.st", true }, { "ghaglund.se", true }, + { "ghettonetflix.de", true }, + { "ghfip.com.au", true }, { "ghini.com", true }, { "ghislainphu.fr", true }, { "ghostblog.info", false }, { "ghostcir.com", true }, { "ghou.me", true }, - { "ghowell.io", true }, { "ghrelinblocker.info", true }, { "ghrelinblocker.org", true }, { "ghuntley.com", false }, @@ -15196,6 +15550,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "giacomopelagatti.it", true }, { "giaithich.net", true }, { "giakki.eu", false }, + { "giannademartini.com", true }, { "gianproperties.com", true }, { "giant-panda.com", true }, { "giant-tortoise.com", true }, @@ -15212,6 +15567,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "giethoorn.com", true }, { "gietvloergarant.nl", false }, { "giftcard.net", true }, + { "giftcardgranny.com", true }, { "giftedconsortium.com", true }, { "giftking.nl", false }, { "giftmaniabrilhos.com.br", true }, @@ -15222,6 +15578,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "giga.nl", true }, { "gigabitz.pw", true }, { "gigacog.com", true }, + { "gigantar.com", true }, { "gigantism.com", true }, { "gigawa.lt", true }, { "giggletotz.co.uk", true }, @@ -15234,6 +15591,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gigseekr.com", true }, { "gigtroll.eu", true }, { "gijsbertus.com", true }, + { "gijswesterman.nl", true }, { "gikovatelojavirtual.com.br", true }, { "gilangcp.com", true }, { "gileadpac.com", true }, @@ -15245,9 +15603,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gillmanandsoame.co.uk", true }, { "gillyscastles.co.uk", true }, { "gilmoreid.com.au", true }, + { "gilmourluna.com", true }, { "gilnet.be", true }, + { "gilpinmanagement.com", true }, { "gimme.money", true }, { "gina-architektur.design", true }, + { "ginabaum.com", true }, + { "ginacat.de", true }, { "gingersutton.com", true }, { "ginionusedcars.be", true }, { "ginja.co.th", true }, @@ -15255,6 +15617,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ginniemae.gov", true }, { "gino-gelati.de", true }, { "ginza-luce.net", true }, + { "ginza-viola.com", true }, { "ginzadelunch.jp", true }, { "ginzaj.com", true }, { "giochi-online.ws", true }, @@ -15269,7 +15632,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "girlan.net", true }, { "girlsforum.com", true }, { "girlsgenerationgoods.com", true }, - { "girlsnet.work", true }, { "girlz.jp", true }, { "girsa.org", true }, { "girvas.ru", true }, @@ -15280,7 +15642,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gisher.video", true }, { "gishiko.net", true }, { "gistr.io", true }, - { "git.ac.cn", true }, { "git.market", true }, { "git.sb", true }, { "git.tt", true }, @@ -15295,6 +15656,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gittigidiyor.com", true }, { "gittr.ch", true }, { "giuem.com", true }, + { "giulianosdeli.com", true }, { "giunchi.net", true }, { "giuseppemacario.men", true }, { "givastar.com", true }, @@ -15309,7 +15671,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "givip.eu", true }, { "gixtools.com", true }, { "gixtools.net", true }, - { "gizmo.ovh", true }, { "gj-bochum.de", true }, { "gjcampbell.co.uk", true }, { "gjengset.com", true }, @@ -15318,8 +15679,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gkoenig-innenausbau.de", true }, { "gkralik.eu", true }, { "gl.search.yahoo.com", false }, - { "gla-hyperloop.com", true }, + { "gla-hyperloop.com", false }, { "glaciernursery.com", true }, + { "gladiatorboost.com", true }, { "gladwellentertainments.co.uk", true }, { "glahcks.com", true }, { "glamguru.co.il", true }, @@ -15335,6 +15697,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glass.google.com", true }, { "glasschmuck-millefiori.de", true }, { "glassexpertswa.com", true }, + { "glassrainbowtrust.org.je", true }, { "glasweld.com", true }, { "glavsudexpertiza.ru", true }, { "glazedmag.fr", true }, @@ -15366,16 +15729,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "globalhorses.de", true }, { "globalipaction.ch", true }, { "globalisierung-fakten.de", true }, + { "globalitac.com", true }, { "globalityinvestment.com", true }, { "globalonetechnology.com", true }, { "globalprojetores.com.br", true }, { "globalresearchcouncil.org", true }, + { "globalresistancecorporation.com", true }, { "globalventil.com", true }, { "globcoin.io", true }, { "globelink-group.com", true }, { "glocalworks.jp", true }, { "glofox.com", true }, { "gloneta.com", false }, + { "gloning.name", true }, + { "gloria.tv", true }, { "glosiko.com", true }, { "glossopnorthendafc.co.uk", true }, { "glotech.co.uk", true }, @@ -15383,28 +15750,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "glotechrepairs.co.uk", true }, { "glu3cifer.rocks", true }, { "glueck-im-norden.de", true }, - { "gluecksgriff-taschen.de", true }, { "glueckskindter.de", true }, { "gluedtomusic.com", true }, { "gluit.de", true }, { "glutenfreelife.co.nz", true }, { "glutenfreevr.com", true }, { "glykofridis.nl", true }, + { "glyph.ws", true }, { "glyxins.com", true }, { "gm-net.jp", true }, { "gm.search.yahoo.com", false }, + { "gmacedo.com", true }, { "gmail.com", false }, - { "gmantra.org", true }, { "gmbh-kiekin.de", true }, { "gmc.uy", true }, { "gmccar.it", true }, { "gmcd.co", true }, { "gmdu.net", true }, + { "gme.one", true }, { "gmind.ovh", true }, { "gmod.de", true }, { "gmpark.dk", true }, { "gmpartsdb.com", true }, - { "gmplab.com", true }, { "gmslparking.co.uk", true }, { "gmta.nl", true }, { "gmtplus.co.za", true }, @@ -15431,7 +15798,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gnucashtoqif.us", true }, { "gnunet.org", true }, { "gnuplus.me", true }, - { "gnylf.com", true }, { "go-dutch.eu", true }, { "go-embedded.de", true }, { "go-propiedades.cl", true }, @@ -15445,10 +15811,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goalongtravels.com", true }, { "goanalyse.co.uk", true }, { "goand.run", true }, + { "goarmy.eu", true }, { "goatbot.xyz", true }, { "goatcloud.com", true }, { "gobarrelroll.com", true }, - { "goblintears.com", true }, { "gobouncy.co.uk", true }, { "gobouncy.com", true }, { "gobranding.com.vn", true }, @@ -15456,22 +15822,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gochu.se", true }, { "gocleanerslondon.co.uk", true }, { "god-clan.hu", true }, - { "god-esb.com", true }, { "godaxen.tv", true }, - { "godbo9.cc", true }, - { "godbo9.com", true }, - { "godbo9.net", true }, { "godclan.hu", true }, - { "godesb.com", true }, { "godesigner.ru", true }, { "godofnea.com", true }, { "godrive.ga", true }, - { "godruoyi.com", true }, { "godsofhell.com", true }, { "godsofhell.de", true }, { "goededoelkerstkaarten.nl", true }, + { "goedkoopstecartridges.nl", true }, + { "goedkopecartridgeskopen.nl", true }, { "goedkopelaptopshardenberg.nl", true }, { "goedkopeonesies.nl", true }, + { "goedkopetonerkopen.nl", true }, { "goedverzekerd.net", true }, { "goemail.me", true }, { "goerlitz-zgorzelec.org", true }, @@ -15497,6 +15860,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goingreen.com.au", true }, { "gokhankesici.com", true }, { "gokmenguresci.com", true }, + { "golang.org", true }, { "golang.zone", true }, { "golangnews.com", true }, { "gold24.ru", true }, @@ -15515,7 +15879,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goldmark.com.au", true }, { "goldpreisfinder.at", true }, { "goldsecurity.com", true }, + { "goldsilver.org.ua", true }, { "goldstein.tel", true }, + { "goldytechspecialists.com", true }, { "golf18network.com", true }, { "golf18staging.com", true }, { "golfhausmallorca.com", true }, @@ -15524,6 +15890,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "golfscape.com", true }, { "golighthouse.com", true }, { "golik.net.pl", false }, + { "golser-schuh.at", true }, { "golser.info", true }, { "gomasy.jp", true }, { "gomelchat.com", true }, @@ -15531,17 +15898,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gommista.roma.it", true }, { "gondawa.com", true }, { "gondelvaartdwarsgracht.nl", true }, + { "gongjianwei.com", true }, { "gongjuhao.com", true }, { "gonx.dk", true }, { "goo.gl", true }, { "gooby.co", false }, { "good-tips.pro", true }, { "gooday.life", true }, - { "gooddomainna.me", true }, - { "goodenough.nz", false }, + { "goodenough.nz", true }, { "goodhealthtv.com", true }, { "goodquote.gq", true }, + { "goodryb.top", true }, { "goodshepherdmv.com", true }, + { "goodth.ink", true }, { "google", true }, { "google-analytics.com", true }, { "googleandroid.cz", true }, @@ -15550,13 +15919,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "googlesource.com", true }, { "goombi.fr", true }, { "goonersworld.co.uk", true }, + { "goontopia.com", true }, { "goooo.info", true }, { "gootlijsten.nl", true }, + { "goover.de", true }, { "goow.in", true }, { "goozp.com", true }, { "gopher.tk", true }, { "goproallaccess.com", true }, + { "goproinspectiongroup.com", true }, { "goquiq.com", true }, + { "gordeijnsbouw.nl", true }, { "gordonscouts.com.au", true }, { "gorealya.com", true }, { "gorf.chat", true }, @@ -15599,33 +15972,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "goup.com.tr", true }, { "gouptime.ml", true }, { "gourmetfestival.de", true }, + { "gourmetspalencia.com", true }, { "gov.tc", true }, { "governmentjobs.gov", true }, { "governorhub.com", true }, { "govisitcostarica.co.cr", true }, { "govisitcostarica.com", true }, - { "govtjobs.blog", true }, { "govtrack.us", true }, { "govype.com", true }, { "gowe.wang", false }, { "gowildrodeo.co.uk", true }, - { "gowin9.com", true }, - { "gowin9.net", true }, { "gowithflo.de", true }, { "gozenhost.com", true }, { "gpcsolutions.fr", true }, - { "gpdimaranathasiantar.org", true }, + { "gpdimaranathasiantar.org", false }, { "gpfclan.de", true }, { "gpgscoins.com", true }, { "gplans.us", true }, { "gpm.ltd", true }, { "gprs.uk.com", true }, - { "gps.com.br", true }, - { "gpsarena.ro", true }, { "gpscamera.nl", true }, { "gpsfix.cz", true }, { "gpsolarpanels.com", true }, { "gpsvideocanada.com", true }, + { "gpureport.cz", true }, { "gpws.ovh", true }, { "gqmstore.com.br", true }, { "gr.search.yahoo.com", false }, @@ -15655,6 +16025,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grafoteka.pl", true }, { "graft.community", true }, { "graft.observer", true }, + { "grahambaker.ca", true }, { "grahamcarruthers.co.za", true }, { "grahamcluley.com", true }, { "grailians.com", true }, @@ -15688,6 +16059,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grantcooper.com", true }, { "grantdb.ca", true }, { "grantmorrison.net", true }, + { "grantplatform.com", true }, + { "grantsplatform.com", true }, { "granular.ag", true }, { "graonatural.com.br", true }, { "grapee.jp", true }, @@ -15696,7 +16069,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "graphene.software", true }, { "graphic-schools.com", true }, { "graphic-shot.com", true }, - { "graphire.io", true }, { "grapholio.net", true }, { "grasmark.com", true }, { "grassenberg.de", true }, @@ -15719,6 +16091,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grawe-blog.at", true }, { "grayclub.co.il", true }, { "grayhatter.com", true }, + { "grayiron.io", true }, { "graymalk.in", true }, { "grayowlworks.com", true }, { "grayscale.co", true }, @@ -15728,23 +16101,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "greatagain.gov", true }, { "greatestwebsiteonearth.com", true }, { "greatfire.org", true }, + { "greathairtransplants.com", true }, + { "greathosts.biz", true }, { "greatislandarts.ca", true }, { "greatlakeside.de", true }, - { "greatlengthshairextensionssalon.com", true }, { "greatlifeinsurancegroup.com", true }, { "greatskillchecks.com", true }, { "greboid.co.uk", true }, { "greboid.com", true }, { "greditsoft.com", true }, - { "greedbutt.com", true }, { "greek.dating", true }, + { "greeklish.gr", true }, { "green-attitude.be", true }, { "green-care.nl", true }, - { "green-light.cf", true }, { "green-light.co.nz", true }, - { "green-light.ga", true }, - { "green-light.gq", true }, - { "green-light.ml", true }, { "greenaddress.it", true }, { "greenapproach.ca", true }, { "greenbaysecuritysolutions.com", true }, @@ -15775,7 +16145,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "greg.red", true }, { "gregbrimble.com", true }, { "greger.me", true }, - { "gregmilton.com", true }, + { "gregmarziomedia-dev.com", true }, + { "gregmarziomedia.com", true }, { "gregmote.com", true }, { "grego.pt", true }, { "gregoirow.be", true }, @@ -15799,14 +16170,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grexx.de", true }, { "grexx.nl", true }, { "grey.house", true }, - { "greybeards.ca", true }, + { "greyhash.se", true }, { "greymattertechs.com", true }, { "greysky.me", true }, { "greyskymedia.com", true }, { "greysolutions.it", true }, { "greywizard.com", true }, + { "greywolf.cz", true }, { "grh.am", true }, { "griassdi-reseller.de", true }, + { "gricargo.com", true }, { "griechische-pfoetchen.de", true }, { "griecopelino.com", true }, { "grieg-gaarden.no", true }, @@ -15826,7 +16199,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grimneko.de", true }, { "grimstveit.no", true }, { "grinnellplans.com", true }, - { "gripnijmegen.rip", true }, { "grippe-impftermin.de", true }, { "gritte.ch", true }, { "grizzlys.com", true }, @@ -15834,9 +16206,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grocerybuild.com", true }, { "grocock.me.uk", true }, { "groenaquasolutions.nl", true }, - { "groenders.nl", true }, { "groenewoud.me", true }, { "groentebesteld.nl", true }, + { "groenteclub.nl", true }, { "groepjam-usedcars.be", true }, { "grog.pw", true }, { "grokker.com", true }, @@ -15856,7 +16228,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "groth.xyz", true }, { "grothoff.org", true }, { "grottenthaler.eu", true }, - { "grouchysysadmin.com", true }, { "groundlevelup.com", true }, { "group4layers.net", true }, { "groupe-neurologique-nord.lu", true }, @@ -15865,6 +16236,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "grouphomes.com.au", false }, { "groupme.com", true }, { "groups.google.com", true }, + { "grove-archiv.de", true }, { "growingallthings.co.uk", true }, { "growit.events", true }, { "growy.ch", true }, @@ -15874,6 +16246,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gruble.de", true }, { "gruebebraeu.ch", true }, { "gruenderlehrstuhl.de", true }, + { "gruenderwoche-dresden.de", true }, { "gruene-im-rvr.de", true }, { "gruene-wattenscheid.de", true }, { "gruenes-wp.de", true }, @@ -15890,6 +16263,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gruselgrotte.com", true }, { "grusenmeyer.be", true }, { "grusig-geil.ch", true }, + { "gruver.de", true }, { "gruwa.net", true }, { "gs93.de", true }, { "gsaj114.net", true }, @@ -15907,29 +16281,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gt-network.de", true }, { "gta-arabs.com", true }, { "gtaforum.nl", true }, - { "gtalife.net", true }, { "gtchipsi.org", true }, { "gtcprojects.com", true }, - { "gtdgo.com", true }, { "gtlaun.ch", true }, { "gtlfsonlinepay.com", true }, { "gtmasterclub.it", false }, { "gtmetrix.com", true }, + { "gtoepfer.de", true }, { "gtopala.com", true }, + { "gtopala.net", true }, { "gtour.info", false }, { "gtravers-basketmaker.co.uk", true }, { "gts-dp.de", true }, - { "gtts.space", true }, { "gtxbbs.com", true }, + { "gtxmail.de", true }, { "guajars.cl", true }, + { "guannan.net.cn", true }, { "guanyembadalona.org", true }, { "guanzhong.ca", true }, { "guardian360.nl", true }, + { "guardianportal.us", true }, { "guardianproject.info", true }, { "guardiansoftheearth.org", true }, { "gubagoo.com", true }, { "gubagoo.io", true }, { "gudini.net", true }, + { "gudrunfit.dk", true }, { "guegan.de", true }, { "guelo.ch", true }, { "guenthereder.at", true }, @@ -15940,17 +16317,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guevener.de", true }, { "gueze-ardeche.fr", true }, { "gueze-sas.fr", true }, - { "gufen.ga", true }, { "guffr.it", true }, { "guge.ch", true }, { "gugert.net", true }, { "guhei.net", true }, { "guhenry3.tk", true }, { "guiacidade.com.br", true }, + { "guiaswow.com", true }, { "guichet-entreprises.fr", true }, { "guichet-qualifications.fr", true }, { "guid2steamid.com", true }, { "guid2steamid.pw", true }, + { "guida.org", true }, { "guide-peche-cantal.com", true }, { "guidebook.co.tz", true }, { "guidedselling.net", true }, @@ -15972,14 +16350,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gulchuk.com", true }, { "gulenbase.no", true }, { "gulfstream.ru", true }, - { "gulshankumar.net", true }, { "gumballs.com", true }, { "gume4you.com", true }, { "gumi.ca", true }, { "gunauc.net", true }, { "gunceloyunhileleri.com", true }, + { "gunn.ee", true }, + { "gunsofshadowvalley.com", true }, { "gunwatch.co.uk", true }, { "gunworld.com.au", true }, + { "guochang.xyz", true }, + { "guodong.net", true }, { "guoke.com", true }, { "guoliang.me", true }, { "guozeyu.com", true }, @@ -15991,12 +16372,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "guru-naradi.cz", true }, { "gurucomi.com", true }, { "gurueffect.com", true }, - { "gurugardener.co.nz", true }, + { "gururi.com", true }, { "gus.host", true }, { "gustaff.de", true }, { "gustiaux.com", true }, { "gustom.io", true }, { "gut8er.com.de", true }, + { "gutools.co.uk", true }, + { "guts.me", true }, + { "guts.moe", true }, { "gutschein-spezialist.de", true }, { "gutscheingeiz.de", true }, { "gutuia.blue", true }, @@ -16006,6 +16390,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gv-neumann.de", true }, { "gv-salto.nl", true }, { "gvatas.in", true }, + { "gvc-it.tk", true }, { "gveh.de", true }, { "gvi-timing.ch", true }, { "gviedu.com", true }, @@ -16017,7 +16402,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gw2efficiency.com", true }, { "gw2treasures.com", true }, { "gw2zone.net", true }, - { "gwa-verwaltung.de", true }, { "gwerder.net", true }, { "gwhois.org", true }, { "gwrtech.com", true }, @@ -16026,6 +16410,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gyara.moe", true }, { "gyas.nl", true }, { "gymagine.ch", true }, + { "gymbunny.de", true }, { "gymhero.me", true }, { "gymjp.com", true }, { "gymkirchenfeld.ch", true }, @@ -16044,9 +16429,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "gz-benz.com", true }, { "gz-bmw.com", true }, { "gza.jp", true }, - { "gzitech.com", true }, - { "gzitech.net", true }, - { "gzitech.org", true }, { "gzom.ru", true }, { "h-jo.net", true }, { "h-suppo.com", true }, @@ -16074,6 +16456,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "habarisoft.com", true }, { "habbig.cc", true }, { "habbos.es", true }, + { "haberer.me", true }, { "habitat-domotique.fr", true }, { "habr.com", true }, { "habtium.com", true }, @@ -16089,6 +16472,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hack.club", true }, { "hackademix.net", true }, { "hackanders.com", true }, + { "hackattack.com", true }, { "hackbarth.guru", true }, { "hackbeil.name", true }, { "hackcraft.net", true }, @@ -16106,7 +16490,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hackerco.com", true }, { "hackereyes.com", true }, { "hackergateway.com", true }, - { "hackerlite.xyz", true }, { "hackernet.se", true }, { "hackerone-ext-content.com", true }, { "hackerone-user-content.com", true }, @@ -16114,7 +16497,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hackerone.com", true }, { "hackerone.net", true }, { "hackerone.org", true }, - { "hackerpoints.com", true }, { "hackerschat.net", true }, { "hackerstxt.org", true }, { "hackettrecipes.com", true }, @@ -16133,22 +16515,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hadaly.fr", true }, { "hadleighswimmingclub.co.uk", true }, { "hadouk.in", true }, - { "hadret.com", true }, - { "hadret.sh", true }, { "hadrons.org", true }, { "haefligermedia.ch", true }, + { "haemka.de", true }, { "haens.li", true }, { "haerwu.biz", true }, { "haferman.net", true }, { "haferman.org", true }, { "hafniatimes.com", true }, + { "haggeluring.su", true }, { "hagiati.gr", true }, + { "hagier.pl", true }, { "hagueaustralia.com.au", true }, { "haha-raku.com", true }, { "hahay.es", true }, { "haiboxu.com", true }, { "haidihai.ro", true }, { "hailer.com", true }, + { "hailstorm.nl", true }, { "haim.bio", true }, { "haimablog.ooo", true }, { "hairbeautyartists.it", true }, @@ -16177,8 +16561,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "halitopuroprodutos.com.br", true }, { "halkirkbouncycastles.co.uk", true }, { "halkyon.net", true }, + { "halledesprix.fr", true }, { "hallelujahsoftware.com", true }, - { "halletienne.fr", true }, { "hallettxn.com", true }, { "hallhuber.com", true }, { "halliday.work", true }, @@ -16186,7 +16570,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hallmarkestates.ca", true }, { "hallucinogen.com", true }, { "hallucinogens.org", true }, + { "hallumlaw.com", true }, { "halo.fr", true }, + { "halocredit.pl", true }, { "halongbaybackpackertour.com", true }, { "haloobaloo.com", true }, { "haloria.com", true }, @@ -16198,7 +16584,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hamcram.io", true }, { "hamiltonlinen.com", true }, { "hamiltonmedical.nl", true }, - { "hammer-corp.com", true }, { "hammer-schnaps.com", true }, { "hammer-sms.com", true }, { "hampl.tv", true }, @@ -16217,14 +16602,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "handmade-workshop.de", true }, { "handmadehechoamano.com", true }, { "handy-center.net", true }, - { "handyglas.com", true }, { "handymanlondonplease.co.uk", true }, - { "handynummer.online", true }, { "handysex.live", true }, { "handyticket.de", true }, { "hanfox.co.uk", false }, { "hanfverband-erfurt.de", true }, - { "hang333.moe", true }, { "hangar.hosting", true }, { "hangcapnach.com", true }, { "hangouts.google.com", true }, @@ -16233,6 +16615,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hanksacservice.com", true }, { "hannah.link", true }, { "hannahi.com", true }, + { "hannasecret.de", true }, { "hannoluteijn.nl", true }, { "hannover.de", true }, { "hanoibuffet.com", true }, @@ -16254,20 +16637,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hao-zhang.com", true }, { "haogoodair.ca", true }, { "haoqi.men", true }, + { "haorenka.cc", true }, { "haotown.cn", true }, { "haozhang.org", true }, { "haozhexie.com", true }, { "haozi.me", true }, + { "haozijing.com", true }, { "hapheemraadssingel.nl", true }, { "hapijs.cn", true }, - { "hapissl.com", true }, - { "hapivm.com", true }, { "happndin.com", true }, { "happy-baby.info", true }, { "happy-end-shukatsu.com", true }, { "happyagain.de", true }, { "happyagain.se", true }, { "happyandrelaxeddogs.eu", true }, + { "happybeerdaytome.com", true }, { "happybirthdaywisher.com", true }, { "happybounce.co.uk", true }, { "happycarb.de", true }, @@ -16275,6 +16659,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "happydietplan.com", true }, { "happydoq.ch", true }, { "happygadget.me", true }, + { "happyhealthylifestyle.com", true }, { "happykidscastles.co.uk", true }, { "happylifestyle.com", true }, { "happyschnapper.com", true }, @@ -16287,6 +16672,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harald-pfeiffer.de", true }, { "harapecorita.com", true }, { "harbor-light.net", true }, + { "hardeman.nu", true }, { "hardenize.com", true }, { "hardergayporn.com", true }, { "hardertimes.com", true }, @@ -16299,6 +16685,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hardrain980.com", true }, { "hardtfrieden.de", true }, { "hardwareschotte.de", true }, + { "harekaze.info", true }, { "haribilalic.com", true }, { "harilova.fr", true }, { "harion.fr", true }, @@ -16316,11 +16703,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "harringtonca.com", true }, { "harrisonswebsites.com", true }, { "harrisonvillenaz.org", true }, + { "harry-baker.com", true }, { "harrymclaren.co.uk", true }, { "harryphoto.fr", true }, { "harrysgardengamehire.co.uk", true }, { "harrysmallbones.co.uk", true }, { "harrysqnc.co.uk", true }, + { "hartie95.de", true }, { "hartlep.email", true }, { "hartlieb.me", true }, { "hartzer.com", true }, @@ -16353,6 +16742,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hashnode.com", true }, { "hashru.nl", true }, { "hashworks.net", true }, + { "hashxp.org", true }, { "hasilocke.de", true }, { "haskovec.com", true }, { "hasselbach-dellwig.de", true }, @@ -16360,7 +16750,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hatpakha.com", true }, { "hatul.info", true }, { "haucke.xyz", true }, - { "hauntedfishtank.com", false }, { "hauntedhouserecords.co.uk", true }, { "haus-garten-test.de", true }, { "haus-henne.de", true }, @@ -16378,13 +16767,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "havasuhomepage.com", true }, { "havasuinsurance.com", true }, { "havasutacohacienda.com", true }, + { "have.jp", true }, { "haveabounce.co.uk", true }, + { "haveacry.com", true }, { "haveforeningen-enghaven.dk", true }, { "havefunbiking.com", true }, { "haveibeenpwned.com", true }, { "havellab.de", true }, { "havelland-obstler.de", true }, + { "havencyber.com", true }, { "havenstrategies.com", true }, + { "havernbenefits.com", true }, { "haverstack.com", true }, { "havetherelationshipyouwant.com", true }, { "hawaar.com", true }, @@ -16392,7 +16785,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hawkeyeinsight.com", true }, { "hawkinsonkiaparts.com", true }, { "hawkofgeorgia.com", true }, + { "hawkon.dk", true }, { "hawksguild.com", true }, + { "hawksracing.de", true }, + { "hax.to", true }, { "haxdroid.com", true }, { "haxo.nl", false }, { "hayai.space", true }, @@ -16402,11 +16798,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "haydentomas.com", true }, { "hayfordoleary.com", true }, { "haynes-davis.com", true }, - { "hayvid.com", false }, + { "hayvid.com", true }, { "haz.cat", true }, { "haze.productions", true }, + { "hazeltime.se", true }, { "hazeover.com", true }, - { "hazloconlapix.com", true }, { "hazukilab.com", true }, { "hb8522.com", true }, { "hbcu-colleges.com", true }, @@ -16415,14 +16811,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hbpowell.com", true }, { "hcaz.io", true }, { "hcbj.io", true }, + { "hcie.pl", false }, + { "hcscrusaders.com", true }, { "hd-gaming.com", true }, { "hd-offensive.at", false }, { "hd-only.org", true }, { "hd-outillage.com", true }, - { "hda.me", true }, { "hdc.cz", true }, { "hdcamvids.com", true }, { "hdcenter.cc", true }, + { "hddrecovery.net.au", true }, { "hdeaves.uk", true }, { "hdf.world", true }, { "hdfgroup.org", true }, @@ -16430,13 +16828,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hdhoang.space", true }, { "hdkandsons.com", true }, { "hdnastudio.com", true }, - { "hdritalyphotos.com", true }, { "hdrsource.com", true }, { "hdrtranscon.com", true }, { "hds-lan.de", true }, { "hdv.paris", true }, { "heaaart.com", true }, - { "head.org", true }, { "head.ru", true }, { "headjapan.com", true }, { "headlinepublishing.be", true }, @@ -16473,8 +16869,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "healthyteame.com", true }, { "heap.zone", true }, { "heapkeeper.org", true }, + { "hearinghelpexpress.com", true }, { "hearmeraw.uk", true }, - { "heart.taxi", true }, { "heartbeat24.de", true }, { "heartgames.pl", true }, { "heartlandbiomed.com", true }, @@ -16492,6 +16888,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hearty.ooo", true }, { "hearty.org.tw", true }, { "hearty.taipei", true }, + { "hearty.tw", true }, { "hearty.us", true }, { "heartyapp.tw", true }, { "heartycraft.com", true }, @@ -16501,6 +16898,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heavensattic.co.uk", true }, { "heavensinferno.net", true }, { "heavyequipments.org", true }, + { "heayao.com", true }, + { "hebamme-cranio.ch", true }, { "hebergeurssd.com", true }, { "hebikhiv.nl", true }, { "hebingying.cn", true }, @@ -16519,8 +16918,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hedweb.co.uk", true }, { "hedweb.net", true }, { "hedweb.org", true }, - { "heeler.blue", true }, - { "heeler.red", true }, { "heello.es", true }, { "hefengautoparts.com", true }, { "heftkaufen.de", true }, @@ -16535,6 +16932,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heidisheroes.org", true }, { "heijblok.com", true }, { "heijdel.nl", true }, + { "heikegastmann.com", true }, { "heikorichter.name", true }, { "heiland.io", true }, { "heiliger-gral.info", true }, @@ -16562,7 +16960,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heldundsexgott.de", true }, { "heleendebruyne.be", true }, { "helenaknowledge.com", true }, - { "helencrump.co.uk", true }, + { "helenekurtz.com", true }, { "helenelefauconnier.com", true }, { "helenkellersimulator.org", true }, { "helfordriversc.co.uk", true }, @@ -16574,11 +16972,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heliosvoting.org", true }, { "helix.am", true }, { "hellenicagora.co.uk", true }, + { "hellerarko.de", true }, { "hellersgas.com", true }, + { "hellerup.net", true }, { "helles-koepfchen.de", true }, { "helloacm.com", true }, { "hellobrian.me", true }, { "hellomouse.net", true }, + { "helloworldhost.com", false }, { "hellsgamers.pw", true }, { "hellsh.com", true }, { "helmut-a-binser.de", true }, @@ -16593,6 +16994,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hematoonkologia.pl", true }, { "hemdal.se", true }, { "hemnet.se", true }, + { "hemtest.com", true }, { "hen.ne.ke", true }, { "henchman.io", true }, { "hendersonvalleyautomotive.co.nz", true }, @@ -16611,13 +17013,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hennadesigns.org", true }, { "hennecke-forstbetrieb.de", true }, { "henneke.me", true }, + { "hennies.org", true }, { "henningkerstan.de", true }, { "hennymerkel.com", true }, { "henok.eu", true }, { "henriksen.is", true }, { "henrikwelk.de", true }, { "henrilammers.nl", true }, - { "henrock.net", true }, { "henry.gg", true }, { "henryphan.com", false }, { "henrysautodetail.com", true }, @@ -16630,8 +17032,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heptafrogs.de", true }, { "her25.com", false }, { "heracles-hotel.eu", true }, - { "herbal-id.com", true }, - { "herbandpat.org", true }, { "herberichfamily.com", true }, { "herbert.io", true }, { "herbhuang.com", true }, @@ -16646,20 +17046,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "heritagebaptistchurch.com.ph", true }, { "herkam.pl", true }, { "hermanbrouwer.nl", true }, - { "hermann.in", true }, { "hermes-net.de", true }, { "hermes.cat", true }, { "herminghaus24.de", true }, { "herndl.org", true }, { "herni-kupony.cz", true }, + { "hernn.com", true }, { "herocentral.de", true }, { "herofil.es", true }, { "herohirehq.co.uk", true }, { "heroiclove.com", true }, { "heroicpixel.com", true }, { "heroku.com", true }, + { "heromuster.com", true }, { "herpes-no.com", true }, - { "herr-webdesign.de", true }, { "herranzramia.com", false }, { "herrderzeit.de", true }, { "herrenmuehle-wein.de", true }, @@ -16676,6 +17076,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "herzogglass.com", true }, { "hesaplama.net", true }, { "hessen-liebe.de", true }, + { "hesslag.com", true }, { "hestervanderheijden.nl", true }, { "hestia-systeme.be", true }, { "hestia-systeme.com", true }, @@ -16683,13 +17084,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hestia-systeme.fr", true }, { "hesyifei.com", true }, { "hetene.nl", true }, - { "hethely.ch", true }, { "hetluisterbos.be", true }, { "heute-kaufen.de", true }, { "heute.training", true }, - { "heverhagen.rocks", true }, { "hevertonfreitas.com.br", true }, - { "hex.bz", true }, { "hex.nl", true }, { "hexagon-e.com", true }, { "hexapt.com", true }, @@ -16699,14 +17097,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hexiaohu.cn", true }, { "hexicurity.com", true }, { "hexid.me", true }, - { "hexieshe.com", true }, + { "hexo.io", false }, { "hexony.com", true }, { "hexr.org", true }, { "hexstream.net", true }, { "hexstream.xyz", true }, { "hexstreamsoft.com", true }, { "hexxagon.com", true }, - { "heyfringe.com", true }, { "heywood.cloud", true }, { "hf-tekst.nl", true }, { "hf51.nl", true }, @@ -16745,7 +17142,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "higgsboson.tk", true }, { "higgstools.org", true }, { "higherpress.org", true }, - { "highland-webcams.com", true }, { "highlatitudestravel.com", true }, { "highlegshop.com", true }, { "highlevelwoodlands.com", true }, @@ -16753,7 +17149,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "highlnk.com", true }, { "highspeed-arnsberg.de", true }, { "highspeedinternet.my", true }, - { "highspeedinternetservices.ca", true }, { "hightechbasementsystems.com", true }, { "highwaytohoell.de", true }, { "higilopocht.li", true }, @@ -16761,10 +17156,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hikarukujo.com", true }, { "hike.pics", true }, { "hikerone.com", true }, + { "hikinggearlab.com", true }, { "hikingguy.com", true }, { "hilahdih.cz", true }, - { "hilaolu.studio", true }, - { "hilariousbeer.com.mx", true }, { "hilaryhutler.com", true }, { "hilchenba.ch", true }, { "hilde.link", true }, @@ -16784,6 +17178,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "himens.com", true }, { "hin10.com", true }, { "hinata-hidetoshi.com", true }, + { "hindi-movie.org", true }, + { "hindimoviedownload.net", true }, + { "hindimovieonline.net", true }, { "hintergrundbewegung.de", true }, { "hinterhofbu.de", true }, { "hinterposemuckel.de", true }, @@ -16810,7 +17207,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hiring-process.com", true }, { "hiromuogawa.com", true }, { "hirotaka.org", true }, - { "hirte-digital.de", true }, { "hirtzfr.eu", true }, { "hirzaconsult.ro", true }, { "hisbrucker.net", true }, @@ -16824,6 +17220,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "history.google.com", false }, { "hitandhealth.nl", true }, { "hiteco.com", true }, + { "hiteshbrahmbhatt.com", true }, { "hititgunesi-tr.com", true }, { "hitmanstat.us", true }, { "hitn.at", true }, @@ -16832,6 +17229,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hitokoto-mania.com", true }, { "hitokoto.cn", true }, { "hitomecha.com", true }, + { "hitrek.ml", true }, { "hitter-lauzon.com", true }, { "hitter.family", true }, { "hitterfamily.com", true }, @@ -16848,6 +17246,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hj-mosaiques.be", true }, { "hj.rs", true }, { "hj3455.com", true }, + { "hj99vip.com", true }, { "hjartasmarta.se", true }, { "hjkbm.cn", true }, { "hjort.land", true }, @@ -16855,10 +17254,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hjphoto.co.uk", true }, { "hjtky.cn", true }, { "hjw-kunstwerk.de", true }, + { "hjyl9898.com", true }, { "hk.search.yahoo.com", false }, { "hkbsurgery.com", true }, { "hkdobrev.com", true }, { "hkr.at", true }, + { "hks-projekt.at", true }, { "hks.pw", true }, { "hktkl.com", true }, { "hkustmbajp.com", true }, @@ -16876,6 +17277,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hlsmandarincentre.com", true }, { "hlucas.de", true }, { "hm773.net", true }, + { "hm773.org", true }, { "hmcdj.cn", true }, { "hmhotelec.com", false }, { "hmoegirl.com", true }, @@ -16910,27 +17312,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hoeren.club", true }, { "hoesnelwasik.nl", true }, { "hoeveiligismijn.nl", true }, - { "hoevenstein.nl", true }, + { "hoevenstein.nl", false }, { "hoewler.ch", true }, { "hoezzi.nl", true }, { "hof-mulin.ch", true }, { "hofapp.de", true }, { "hofauer.de", true }, { "hoflerlawfirm.com", true }, + { "hogarthdavieslloyd.com", true }, { "hogepad.com", true }, { "hogl.dk", true }, { "hogrebe.de", true }, { "hogwarts.io", true }, { "hohenleimbach.de", true }, { "hohm.in", true }, + { "hoikuen-now.top", true }, { "hoiquanadida.com", true }, { "hoish.in", true }, { "hoken-wakaru.jp", true }, { "hokieprivacy.org", true }, - { "hokify.at", true }, - { "hokify.ch", true }, - { "hokify.de", true }, + { "hokioisecurity.com", true }, { "holad.de", true }, + { "holadinero.es", true }, + { "holadinero.mx", true }, { "holboxwhalesharktours.com", true }, { "holebedeljek.hu", true }, { "holidaysportugal.eu", true }, @@ -16949,14 +17353,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "holo.ovh", true }, { "holodeck.us", true }, { "holofono.com", true }, + { "holofox.ru", true }, { "holoxplor.space", true }, - { "holstphoto.com", true }, { "holvonix.com", true }, { "holycrossphl.org", true }, + { "holycrossverobeach.org", true }, { "holydragoon.jp", true }, + { "holyfamilyphilly.org", true }, + { "holyfamilyrussell.org", true }, + { "holyghost-church.org", true }, { "holygrail.games", true }, { "holyhiphopdatabase.com", true }, { "holymartyrschurch.org", true }, + { "holyspiritpalmyra.com", true }, + { "holyspiritweb.org", true }, { "holytransaction.com", true }, { "holywhite.com", true }, { "holz.nu", true }, @@ -16968,20 +17378,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "holzundgarten.de", true }, { "holzvergaser-forum.de", true }, { "homatism.com", true }, + { "hombresconestilo.com", true }, { "home-handymen.co.uk", true }, - { "home-insurance-quotes.tk", true }, { "homeautomated.com", true }, { "homebasedsalons.com.au", true }, { "homebodyalberta.com", true }, { "homecareassociatespa.com", true }, - { "homecarpetcleaning.co.uk", true }, { "homecheck.gr", true }, { "homefacialpro.com", false }, { "homegardeningforum.com", true }, { "homegardenresort.nl", true }, { "homegreenmark.com", true }, { "homehuntertoronto.com", true }, - { "homehunting.pt", true }, { "homeimagician.com.au", true }, { "homem-viril.com", true }, { "homeodynamics.com", true }, @@ -16992,8 +17400,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "homepage.shiga.jp", true }, { "homeporn.stream", true }, { "homeprivate.de", true }, + { "homes-in-norcal.com", true }, + { "homes-in-stockton.com", true }, { "homeseller.com", true }, { "homeserver-kp.de", true }, + { "homestay.id", true }, { "homesteadandprepper.com", true }, { "homesteadfarm.org", true }, { "homewatt.co.uk", true }, @@ -17021,6 +17432,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hoodtrader.com", true }, { "hoofddorp-centraal.nl", true }, { "hookany.com", true }, + { "hookbin.com", true }, { "hoooc.com", true }, { "hooowl.com", true }, { "hoop.la", true }, @@ -17028,21 +17440,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hooplessinseattle.com", true }, { "hooray.beer", true }, { "hoorr.com", true }, + { "hoosa.de", true }, { "hootworld.net", false }, { "hoovism.com", true }, { "hoowhen.cn", true }, { "hopconseils.ch", true }, { "hopconseils.com", true }, { "hope-line-earth.jp", true }, + { "hopemeet.info", true }, + { "hopemeet.me", true }, { "hopesanddreams.org.uk", true }, { "hopla.sg", true }, { "hoplongtech.com", true }, { "hoponmedia.de", true }, { "hopps.me", true }, { "hoppyx.com", true }, + { "hopzone.net", true }, { "hor.website", true }, { "horaceli.com", true }, { "horackova.info", true }, + { "horairetrain.fr", true }, { "hord.ca", true }, { "horecaapparatuurkobezuijen.nl", true }, { "horecatiger.eu", true }, @@ -17050,8 +17467,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "horeizai.net", true }, { "horizonhomes-samui.com", true }, { "horizonlawncare.tk", true }, + { "horizonresourcesinc.com", true }, { "horizonshypnosis.ca", true }, - { "horkel.cf", true }, { "horn.co", true }, { "hornertranslations.com", true }, { "hornyforhanzo.com", true }, @@ -17093,28 +17510,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hostix.de", true }, { "hostma.ma", true }, { "hostmark.pl", true }, - { "hostme.co.il", false }, + { "hostme.co.il", true }, { "hostmijnpagina.nl", true }, { "hostmodern.com.au", true }, { "hosts.cf", true }, - { "hostserv.org", true }, { "hostworkz.com", true }, { "hotcandlestick.com", true }, { "hotchillibox.com", true }, { "hotcoin.io", true }, { "hotdoc.com.au", true }, + { "hotel-kontorhaus-stralsund.de", true }, + { "hotel-kontorhaus.de", true }, { "hotel-kronjuwel.de", true }, { "hotel-le-vaisseau.ch", true }, { "hotel-pension-sonnalp.eu", true }, { "hotel-rosner.at", true }, { "hotelamgarnmarkt.at", false }, { "hotelarevalo.com", true }, + { "hotelbretagne.dk", true }, { "hotelcoliber.pl", true }, + { "hoteles4you.com", true }, { "hotelflow.com.br", true }, { "hotelident.de", true }, { "hotello.io", true }, { "hotelmap.com", true }, { "hotelpostaorvieto.it", true }, + { "hotelromacuernavaca.com.mx", true }, { "hotels-insolites.com", true }, { "hotels3d.com", true }, { "hotels4teams.com", true }, @@ -17123,8 +17544,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hotelsinncoventry.com", true }, { "hotelvalena.com", true }, { "hotelvillaluisa.de", true }, - { "hotesb.com", true }, - { "hotesb.net", true }, { "hothbricks.com", true }, { "hotnewhiphop.com", true }, { "hoto.us", true }, @@ -17147,7 +17566,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "houseofyee.com", true }, { "houser.lu", true }, { "housese.at", true }, - { "housetalk.ru", true }, { "houstonapartmentinsiders.com", true }, { "houstonauthorizedrepair.com", true }, { "houstoncreditlaw.com", true }, @@ -17166,13 +17584,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "howmanymilesfrom.com", true }, { "howsecureismypassword.net", true }, { "howsmyssl.com", true }, - { "howsmytls.com", true }, { "howsyourhealth.org", true }, { "howtocommunicate.com.au", true }, { "howtogeek.com", true }, { "howtogeekpro.com", true }, { "howtogosolar.org", true }, - { "howtoinstall.co", true }, { "howtolaser.com", true }, { "howtoteachviolin.com", true }, { "howtotech.de", true }, @@ -17182,16 +17598,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hpac-portal.com", true }, { "hpage.com", true }, { "hpbn.co", true }, - { "hpepub.com", true }, { "hpisavageforum.com", true }, { "hpkp-faq.de", true }, - { "hpnow.com.br", true }, + { "hps.digital", true }, { "hps.hu", true }, + { "hpsdigital.hu", true }, + { "hqhh.org", true }, { "hquest.pro.br", true }, { "hqwebhosting.tk", false }, { "hqy.moe", true }, { "hr-tech.shop", true }, - { "hr98.xyz", true }, { "hrabogados.com", true }, { "hraesvelg.net", true }, { "hranicka.cz", true }, @@ -17200,9 +17616,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hrdns.de", false }, { "href.one", true }, { "hreflang.info", true }, - { "hrjfeedstock.com", true }, { "hrjfeedstock.org", true }, - { "hrk.io", true }, + { "hrltech.com.br", true }, + { "hrobert.hu", true }, { "hroling.nl", true }, { "hroschyk.cz", true }, { "hrsa.gov", true }, @@ -17215,12 +17631,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hs-umformtechnik.de", true }, { "hsappstatic.net", true }, { "hscorp.de", true }, - { "hsex.tv", true }, { "hsivonen.com", true }, { "hsivonen.fi", true }, { "hsivonen.iki.fi", true }, { "hsmr.cc", true }, - { "hsn.com", true }, { "hsr.gov", false }, { "hsts.eu", true }, { "hsts.me", true }, @@ -17243,7 +17657,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "htmlyse.com", true }, { "htmue.net", true }, { "htmue.org", true }, - { "htp2.top", true }, { "htsure.ma", true }, { "http2.eu", true }, { "http2.pro", true }, @@ -17268,20 +17681,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hu8777.com", true }, { "hu8bet.com", true }, { "hu8hu8.com", true }, - { "hua-in.com", true }, - { "hua-in.net", true }, - { "hua-li88.com", true }, - { "hua-li88.net", true }, { "huagati.com", true }, { "huahinpropertylisting.com", true }, { "huang-haitao.com", true }, + { "huangjia71.com", true }, + { "huangjia72.com", true }, + { "huangjia73.com", true }, + { "huangjia74.com", true }, + { "huangjia75.com", true }, + { "huangjia76.com", true }, + { "huangjia77.com", true }, + { "huangjia78.com", true }, + { "huangjia79.com", true }, + { "huangjia99.com", true }, { "huangjiaint.com", true }, { "huangjingjing.com", true }, - { "huangliangbo.com", true }, { "huangzenghao.cn", false }, { "huaqian.art", true }, { "huashan.co.uk", true }, - { "huaxueba.com", true }, { "hub.org.ua", true }, { "hub385.com", true }, { "hubapi.com", true }, @@ -17302,6 +17719,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hugi.is", true }, { "hugizrecords.com", true }, { "huglen.info", true }, + { "hugo.pro", true }, { "hugo6.com", true }, { "hugofs.com", true }, { "hugolynx.fr", true }, @@ -17309,8 +17727,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "huguesditciles.com", true }, { "huh.gdn", true }, { "huh.today", true }, - { "hui-in.com", true }, - { "hui-in.net", true }, { "huihui.moe", true }, { "huininga.com", true }, { "huininga.nl", true }, @@ -17333,7 +17749,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "humanenrich.com", true }, { "humanesources.com", true }, { "humanity.com", true }, - { "humankode.com", true }, { "humans.io", true }, { "humanzee.com", true }, { "humass.nl", true }, @@ -17362,12 +17777,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "humblebeeshop.ca", true }, { "humblebeeshop.com.au", true }, { "humbledot.com", true }, + { "humboldthomeguide.com", true }, { "humboldtmfg.com", true }, { "humeur.de", true }, { "humexe.com", true }, { "hummy.tv", true }, { "humorcaliente.com", true }, - { "humorce.com", false }, { "humpchies.com", true }, { "humpen.se", true }, { "humppakone.com", true }, @@ -17378,9 +17793,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hundter.com", true }, { "hunger.im", true }, { "huniverse.co", true }, + { "hunstoncanoeclub.co.uk", true }, { "hunter-read.com", true }, { "hunter.io", true }, - { "hunterjohnson.io", true }, { "hunterkehoe.com", true }, { "huntexpired.com", true }, { "huntingdonbouncers.co.uk", true }, @@ -17393,7 +17808,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hupp.se", true }, { "hurd.is", true }, { "huren.nl", true }, - { "hurleyhomestead.com", true }, { "huroji.com", true }, { "hurtigtinternet.dk", true }, { "husakbau.at", true }, @@ -17422,7 +17836,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hvtuananh.com", true }, { "hwaddress.com", true }, { "hwag-pb.de", true }, - { "hwinfo.com", true }, { "hwlibre.com", true }, { "hx53.de", true }, { "hxp.io", true }, @@ -17451,6 +17864,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hynek.me", true }, { "hyparia.fr", true }, { "hype.ru", true }, + { "hypeitems.pl", true }, { "hypemgmt.com", true }, { "hyper-text.org", true }, { "hyperalgesia.com", true }, @@ -17468,7 +17882,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "hypotheekbond.nl", true }, { "hypothes.is", true }, { "hypothyroidmom.com", true }, - { "hysh.jp", true }, + { "hyr.mn", true }, { "hytzongxuan.com", true }, { "hyundai.no", true }, { "hyvanilmankampaamo.fi", true }, @@ -17478,6 +17892,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "i-geld.de", true }, { "i-hakul.net", true }, { "i-logic.co.jp", false }, + { "i-meto.com", true }, { "i-office.com.vn", true }, { "i-proswiss.com", true }, { "i-red.info", true }, @@ -17490,13 +17905,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "i1314.gdn", true }, { "i1place.com", true }, { "i2b.ro", true }, + { "i2gether.org.uk", true }, { "i5y.co.uk", true }, { "i5y.org", true }, { "i66.me", true }, { "i879.com", true }, - { "i95.me", false }, { "ia.net", true }, { "iaco.li", true }, + { "iacono.com.br", false }, { "iactu.info", true }, { "iaeste.no", true }, { "iaeste.or.jp", true }, @@ -17509,6 +17925,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ialis.me", true }, { "iam.lc", true }, { "iam.soy", true }, + { "iamanewme.com", true }, { "iambozboz.co.uk", true }, { "iamcarrico.com", true }, { "iamcryptoki.com", true }, @@ -17530,7 +17947,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iankmusic.com", true }, { "ianmooreis.me", true }, { "ianmoriarty.com.au", true }, - { "ianvisits.co.uk", true }, { "ianwalsh.org", false }, { "iap.network", true }, { "ias-gruppe.net", true }, @@ -17549,6 +17965,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ibexcore.com", true }, { "ibigawamizueco.com", true }, { "ibin.co", true }, + { "ibiu.xyz", true }, { "ibiz.mk", true }, { "iblackfriday.ro", true }, { "ibodyiq.com", true }, @@ -17556,13 +17973,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ibrom.eu", true }, { "ibstyle.tk", true }, { "ibuki.run", true }, + { "ibutikk.no", true }, { "ibwc.gov", true }, { "ibykos.com", true }, { "ic-lighting.com.au", true }, { "ic-spares.com", true }, { "ic3.gov", true }, { "icafecash.com", true }, - { "icake.life", true }, { "icanhasht.ml", true }, { "icarlos.net", true }, { "icasture.top", true }, @@ -17572,11 +17989,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iceberg.academy", true }, { "icebook.co.uk", true }, { "icecars.net", true }, - { "icedream.tech", true }, { "icetiger.eu", true }, { "ich-hab-die-schnauze-voll-von-der-suche-nach-ner-kurzen-domain.de", true }, { "ich-tanke.de", true }, - { "ichasco.com", true }, { "ichbinein.org", true }, { "ichbinkeinreh.de", true }, { "ichmachdas.net", true }, @@ -17585,7 +18000,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "icloudlogin.com", true }, { "icmhd.ch", true }, { "icmp2018.org", true }, - { "icmshoptrend.com", true }, + { "icnsoft.cf", true }, { "icobench.com", true }, { "icodeconnect.com", true }, { "icoh.it", true }, @@ -17623,7 +18038,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idealimplant.com", true }, { "idealinflatablehire.co.uk", true }, { "idealninajemce.cz", false }, - { "idealsegurancaeletronica.com.br", true }, + { "idealsegurancaeletronica.com.br", false }, { "idealtruss.com", true }, { "idealtruss.com.tw", true }, { "idealwhite.space", true }, @@ -17631,7 +18046,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ideasenfoto.com", true }, { "ideashop.com", true }, { "ideaweb.de", true }, - { "ideiasefinancas.com.br", true }, { "idenamaislami.com", true }, { "idensys.nl", false }, { "ident-clinic.be", true }, @@ -17650,6 +18064,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idgard.de", false }, { "idgateway.co.uk", true }, { "idhosts.co.id", true }, + { "idid.tk", true }, { "idiotentruppe.de", true }, { "idisposable.co.uk", true }, { "idlethoughtsandramblings.com", true }, @@ -17659,11 +18074,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idoc24.com", true }, { "idodiandina.com", true }, { "idolf.dk", true }, - { "idolish7.fun", true }, { "idolknow.com", true }, { "idolshop.dk", true }, { "idolshop.me", true }, { "idontplaydarts.com", true }, + { "idoparadoxon.hu", true }, { "idranktoomuch.coffee", true }, { "idratherbequilting.com", true }, { "idraulico-roma.it", true }, @@ -17671,11 +18086,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "idraulico.roma.it", true }, { "idrinktoomuch.coffee", true }, { "idrissi.eu", true }, + { "idrottsnaprapaten.se", true }, { "idrycleaningi.com", true }, { "idtheft.gov", true }, { "idubaj.cz", true }, { "idunno.org", true }, { "idvl.de", true }, + { "idxforza.com", true }, { "ie.search.yahoo.com", false }, { "iea-annex61.org", true }, { "ieedes.com", true }, @@ -17683,27 +18100,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ieeesb.nl", true }, { "ieeesbe.nl", true }, { "ieeespmb.org", true }, + { "ieffalot.me", true }, { "ieji.de", false }, - { "iemas.azurewebsites.net", true }, { "iemb.tk", true }, { "ienakanote.com", false }, { "ies-italia.it", true }, + { "iesonline.co.in", true }, { "ieval.ro", true }, { "iewar.com", true }, - { "ifamily.top", false }, { "ifangpei.cn", true }, { "ifangpei.com.cn", true }, { "ifcfg.jp", true }, { "ifelse.io", true }, { "ifengge.cn", true }, { "ifengge.me", true }, + { "ifgcdn.com", true }, { "ifibe.com", true }, { "ifightsurveillance.com", true }, { "ifightsurveillance.net", true }, { "ifightsurveillance.org", true }, { "ifixe.ch", true }, { "iflare.de", true }, - { "ifly.pw", true }, { "ifort.fr", true }, { "ifosep.fr", true }, { "ifoss.me", true }, @@ -17717,7 +18134,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ifyou.live", true }, { "ig.com", true }, { "iga-semi.jp", true }, - { "igaryhe.io", true }, { "igcc.jp", true }, { "igeh-immo.at", true }, { "igglabs.com", true }, @@ -17739,6 +18155,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ignitedlocal.com", true }, { "ignitedmindz.in", true }, { "ignitelocal.com", true }, + { "igorrealestate.com", true }, { "igorw.org", true }, { "igotoffer.com", false }, { "igrivi.com", true }, @@ -17748,11 +18165,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ihacklabs.com", true }, { "ihakkitekin.com", true }, { "ihatethissh.it", true }, - { "ihc.im", true }, - { "ihcr.top", true }, + { "ihcprofile.com", true }, + { "iheartmary.org", true }, { "ihkk.net", true }, { "ihls.stream", true }, - { "ihls.world", true }, + { "ihmphila.org", true }, { "ihoey.com", true }, { "ihollaback.org", true }, { "ihopeit.works", true }, @@ -17760,13 +18177,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ihotel.io", false }, { "ihrhost.com", true }, { "ihtdenisjaccard.com", true }, + { "ihuan.me", true }, + { "ii74.com", true }, { "iiit.pl", true }, - { "iiong.com", false }, + { "iimarckus.org", true }, + { "iiong.com", true }, { "iirii.com", true }, { "iix.se", true }, { "ijm.io", true }, { "ijohan.nl", true }, { "ijr.com", true }, + { "ijsbaanwitten.nl", true }, { "ijsblokjesvormen.nl", true }, { "ijsclubtilburg.nl", true }, { "ijsclubwanneperveen.nl", true }, @@ -17787,6 +18208,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ikk.me", true }, { "ikkatsu-satei.jp", true }, { "ikkbb.de", true }, + { "ikke-coach.nl", true }, { "ikkev.de", true }, { "ikkoku.de", true }, { "iklive.org", false }, @@ -17810,6 +18232,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ile-sapporo.jp", true }, { "ileci.de", true }, { "ilektronika-farmakeia-online.gr", true }, + { "ilemonrain.com", true }, + { "ilformichiere.com", true }, { "ilhan.name", true }, { "ilhansubasi.com", true }, { "iliastsi.net", true }, @@ -17817,7 +18241,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iligang.com", true }, { "iligang.link", true }, { "iligang.xin", true }, + { "ilkeakyildiz.com", true }, { "illambias.ch", true }, + { "illative.net", true }, { "illegalpornography.com", true }, { "illegalpornography.me", true }, { "illerzell.de", true }, @@ -17830,24 +18256,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "illumed.net", true }, { "illuminationis.com", true }, { "illusionephemere.com", true }, + { "illusionunlimited.com", true }, { "illustrate.biz", true }, { "illuxat.com", true }, { "ilmataat.ee", true }, { "ilmiobusinessonline.it", true }, { "ilmiogiardiniere.it", true }, { "ilmuk.org", false }, + { "ilonewolfs.com", true }, { "ilookz.nl", true }, { "ilove.fish", true }, { "ilovequiz.ru", true }, { "ilovethiscampsite.com", true }, { "ilrg.com", true }, + { "iltec-prom.ru", true }, { "iltec.ru", true }, - { "iltisim.ch", true }, { "ilweb.es", true }, { "ilya.pp.ua", true }, { "im-c-shop.com", true }, { "im-haus-sonnenschein.de", true }, { "im2net.com", true }, + { "im4h.de", true }, + { "im4h.eu", true }, + { "im4h.info", true }, { "im66.net", true }, { "ima-tourcoing.fr", true }, { "imacs.org", true }, @@ -17868,22 +18299,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imanageproducts.uk", true }, { "imanesdeviaje.com", true }, { "imanolbarba.net", true }, - { "imaple.org", true }, + { "imap2imap.de", true }, { "imarkethost.co.uk", true }, { "imask.ml", true }, { "imawhale.com", true }, { "imbianchino.roma.it", true }, { "imbushuo.net", true }, { "imcsx.co", true }, + { "imdemos.com", true }, + { "ime.moe", true }, { "imedes.de", true }, { "imediafly.com", true }, { "imedikament.de", true }, { "imeds.pl", true }, { "imefuniversitario.org", true }, - { "imeid.de", true }, + { "imeid.de", false }, { "imex-dtp.com", true }, { "imforza.com", true }, { "img.mg", true }, + { "img.ovh", true }, { "imga.ch", true }, { "imgaa.com", true }, { "imgbb.com", true }, @@ -17900,14 +18334,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "imjustcreative.com", true }, { "imkerei-freilinger.de", false }, { "imkerverein-moenchswald.de", true }, - { "imlinan.com", true }, + { "immarypoppinsyall.tk", true }, { "immaterium.de", true }, { "immatix.xyz", true }, + { "immersa.co.uk", true }, { "immersion-pictures.com", true }, - { "immersivewebportal.com", true }, + { "immersionwealth.com", true }, + { "immigrantdad.com", true }, { "immigrationdirect.com.au", true }, { "immo-agentur.com", true }, { "immo-passion.net", true }, + { "immo-vk.de", true }, { "immobilien-badlippspringe.de", true }, { "immobilien-in-istanbul.de", true }, { "immobilien-zirm.de", true }, @@ -17927,10 +18364,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "impas.se", true }, { "impelup.com", true }, { "impendulo.org", true }, + { "impera.at", true }, { "imperdin.com", true }, { "imperial-legrand.com", true }, { "imperialmiami.com", true }, - { "imperiodigital.online", true }, { "imperiumglass.com.au", true }, { "imperiumnova.info", true }, { "impex.com.bd", true }, @@ -17958,6 +18395,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "impyus.com", true }, { "imququ.com", true }, { "imreh.net", true }, + { "imrejonk.nl", true }, { "imrunner.com", true }, { "imrunner.ru", true }, { "ims-sargans.ch", true }, @@ -17981,11 +18419,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inanyevent.london", true }, { "inares.org", true }, { "inbitcoin.it", true }, - { "inbounder.io", true }, + { "inbounder.io", false }, { "inbox-group.com", true }, { "inbox.google.com", true }, { "inbulgaria.info", true }, { "incarna.co", true }, + { "incco.ir", true }, { "incert.cn", true }, { "incertint.com", true }, { "inchcape-fleet-autobid.co.uk", true }, @@ -18000,6 +18439,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "incompliance.de", true }, { "inconcerts.de", true }, { "incontrixsingle.net", true }, + { "incore.nl", true }, { "incowrimo.org", true }, { "incparadise.net", true }, { "incubos.org", true }, @@ -18015,21 +18455,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "indian-elephant.com", true }, { "indianaantlersupply.com", true }, { "indianaberry.com", true }, + { "indianafoundationpros.com", true }, { "indianapolislocksmithinc.com", true }, { "indiatrademarkwatch.com", true }, { "indiayogastudio.net", true }, { "indicateurs-flash.fr", true }, + { "indie.dog", true }, { "indiecongdr.it", true }, { "indiegame.space", true }, { "indievelopment.nl", true }, { "indigitalagency.com", true }, { "indigoinflatables.com", true }, { "indigosakura.com", true }, + { "indigotreeservice.com", true }, { "inditip.com", true }, { "indochina.io", true }, - { "indogerman.de", true }, { "indogermanstartup.com", true }, - { "indogermantrade.de", true }, { "indoorcomfortteam.com", true }, { "indoorplantsexpert.com", true }, { "indovinabank.com.vn", true }, @@ -18039,6 +18480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "indust.me", true }, { "industriafranchini.com", true }, { "industrialstarter.com", true }, + { "industriasrenova.com", true }, { "industriemeister.io", true }, { "indybay.org", true }, { "ineardisplay.com", true }, @@ -18046,14 +18488,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ineed.coffee", false }, { "inertianetworks.com", true }, { "inesfinc.es", true }, + { "inessoftsec.be", true }, { "inesta.nl", true }, { "inet.se", true }, + { "inethost.eu", true }, { "inetserver.eu", true }, { "inetsoftware.de", true }, - { "inevitavelbrasil.com.br", true }, { "inf-fusion.ca", true }, { "inference.biz.tr", true }, { "infermiere.roma.it", true }, + { "inff.info", true }, { "inficom.org", true }, { "infinite.hosting", true }, { "infinitegroup.info", true }, @@ -18087,6 +18531,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infocommsociety.com", true }, { "infocon.org", true }, { "infocusvr.net", true }, + { "infoduv.fr", true }, { "infogram.com", true }, { "infogrfx.com", true }, { "infomegastore.com", true }, @@ -18097,19 +18542,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infopulsa.com", true }, { "infopuntzorg.nl", true }, { "infor-allaitement.be", true }, - { "informaciondeciclismo.com", true }, { "informatiebeveiliging.nl", true }, { "informatik-handwerk.de", true }, { "informationrx.org", true }, + { "informations-echafaudages.com", true }, { "informhealth.com", true }, { "informnapalm.org", true }, { "infosec-handbook.eu", true }, { "infosec.exchange", false }, { "infosec.pizza", true }, { "infosec.wiki", true }, + { "infosectalks.com", true }, { "infosenior.ch", true }, { "infotainworld.com", true }, - { "infotolium.com", true }, + { "infotolium.com", false }, { "infotrac.net", true }, { "infotune.nl", true }, { "infovision-france.com", true }, @@ -18126,14 +18572,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infrafusion.com", true }, { "infralist.com", true }, { "inframetro.com", true }, + { "inframint.com", true }, { "infranium.com", true }, { "infranium.eu", true }, { "infranium.info", true }, { "infranium.net", true }, { "infranium.org", true }, { "infranotes.com", true }, + { "infranoto.com", true }, { "infranox.com", true }, { "infrapass.com", true }, + { "infrapeer.com", true }, { "infrapilot.com", true }, { "infraping.com", true }, { "infrapirtis.lt", true }, @@ -18146,8 +18595,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "infrazine.com", true }, { "infuzeit.com.au", true }, { "ing-buero-junk.de", true }, - { "ing89.cc", true }, - { "ing89.com", true }, { "ingatlanjogaszok.hu", true }, { "ingatlanneked.hu", true }, { "ingatlanrobot.hu", true }, @@ -18167,7 +18614,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inhaltsangabe.de", true }, { "inheritestate.com", true }, { "inhouseents.co.uk", true }, - { "iniiter.com", true }, { "inima.org", true }, { "inios.fr", true }, { "inishbofin.ie", true }, @@ -18191,31 +18637,35 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inmateintake.com", true }, { "inmobillium.fr", true }, { "inmoodforsex.com", true }, - { "inmusrv.de", true }, { "innerfence.com", true }, { "innerlightcrystals.co.uk", true }, { "innermostparts.org", true }, { "innersafe.com", true }, + { "inno.ch", true }, { "innocenceseekers.net", true }, + { "innogen.fr", true }, { "innohb.com", true }, { "innolabfribourg.ch", true }, { "innoloop.com", true }, { "innophate-security.com", true }, { "innot.net", true }, + { "innotas.com", true }, { "innoteil.com", true }, + { "innotel.com.au", true }, { "innovaptor.at", true }, { "innovaptor.com", true }, { "innovate-indonesia.com", true }, { "innovation-workshop.ro", true }, { "innovation.gov", false }, + { "innover.se", true }, { "innovum.cz", false }, { "innsalzachsingles.de", true }, - { "innwan.com", true }, { "inoa8.com", true }, { "inobun.jp", true }, { "inovat.ma", true }, { "inovatecsystems.com", true }, { "inpas.co.uk", true }, + { "inputmag.com", true }, { "inquant.de", true }, { "ins-kreativ.de", true }, { "ins.to", true }, @@ -18223,6 +18673,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "insblauehinein.nl", true }, { "inscomers.net", true }, { "inscripcionessena.com", true }, + { "insecret.com.ua", true }, + { "insecret.trade", true }, { "insecure.org.je", true }, { "insertcoins.net", true }, { "insgesamt.net", true }, @@ -18231,6 +18683,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inside19.com", true }, { "insideaudit.com", true }, { "insidebedroom.com", true }, + { "insidesolutions.nl", true }, { "insidethefirewall.tk", true }, { "insightera.co.th", true }, { "insighti.com", true }, @@ -18240,11 +18693,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "insignificant.space", true }, { "insinuator.net", true }, { "insistel.com", true }, + { "insofttransfer.com", true }, { "insolent.ch", true }, { "insolved.com", true }, { "insping.com", true }, { "inspirationalquotesuk.co.uk", true }, + { "inspired-creations.co.za", true }, { "inspired-lua.org", true }, + { "inspiredrealtyinc.com", true }, { "insrt.uk", true }, { "insside.net", true }, { "instafind.nl", true }, @@ -18257,6 +18713,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "instant-thinking.de", true }, { "instant.io", true }, { "instantkhabar.com", true }, + { "instantluxe.cn", true }, + { "instantluxe.co.uk", true }, + { "instantluxe.com", true }, + { "instantluxe.de", true }, + { "instantluxe.it", true }, + { "instantphotocamera.com", true }, { "instava.cz", true }, { "instead.com.au", true }, { "insteagle.com", true }, @@ -18267,12 +18729,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "instinctiveads.com", true }, { "institut-confucius-montpellier.org", true }, { "institutmaupertuis.hopto.org", true }, + { "institutogiuseppe.com", true }, + { "institutogiuseppe.com.ar", true }, { "institutolancaster.com", true }, { "instrumart.ru", false }, { "insult.es", true }, { "insurance321.com", true }, { "insureon.com", true }, { "insurgentsmustdie.com", true }, + { "int64software.com", true }, { "intae.it", true }, { "intafe.co.jp", true }, { "intal.info", true }, @@ -18289,13 +18754,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "integrityoklahoma.com", true }, { "integrogroup.com", true }, { "integromat.com", true }, + { "integroof.com", true }, { "intelhost.cl", true }, + { "intelhost.com", true }, { "intelhost.com.ar", true }, { "intelhost.com.br", true }, { "intelhost.com.co", true }, { "intelhost.com.mx", true }, { "intelhost.com.pe", true }, - { "intelhost.net", true }, { "intellar.com", true }, { "intellectdynamics.com", true }, { "intelligence-explosion.com", true }, @@ -18306,6 +18772,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "intensifyrsvp.com.au", true }, { "inter-corporate.com", true }, { "inter-culinarium.com", true }, + { "interabbit.com", true }, { "interaffairs.com", true }, { "interaktiva.fi", true }, { "interasistmen.se", true }, @@ -18314,16 +18781,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "intercom.io", true }, { "interessiert-uns.net", true }, { "interfesse.net", true }, - { "interfloraservices.co.uk", true }, { "interflores.com.br", true }, { "interfug.de", true }, { "intergozd.si", true }, + { "interguard.net", true }, { "interiery-waters.cz", true }, { "interimages.fr", true }, { "interior-design-colleges.com", true }, { "interiordesignsconcept.com", true }, { "interiorprofesional.com.ar", true }, { "interisaudit.com", true }, + { "interlijn.nl", true }, { "interlingvo.biz", true }, { "intermax.nl", true }, { "intermedinet.nl", true }, @@ -18337,6 +18805,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "internationaltalento.it", true }, { "internect.co.za", true }, { "internet-aukcion.info", true }, + { "internet-pornografie.de", false }, { "internet-software.eu", true }, { "internetaanbieders.eu", true }, { "internetbank.swedbank.se", true }, @@ -18361,6 +18830,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "interserved.com", false }, { "interstateautomotiveinc.com", true }, { "intertime.services", true }, + { "interview-suite.com", true }, { "interways.de", true }, { "intheater.de", true }, { "inthepicture.com", true }, @@ -18381,13 +18851,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "intraobes.com", true }, { "intrasoft.com.au", true }, { "intraxia.com", true }, - { "intreaba.xyz", true }, { "introverted.ninja", true }, { "intune.life", true }, { "intvonline.com", true }, { "intxt.net", true }, { "inumcoeli.com.br", true }, { "inup.jp", true }, + { "inusasha.de", true }, { "inuyasha-petition.tk", true }, { "invadelabs.com", true }, { "invasion.com", true }, @@ -18396,13 +18866,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "inventaire.ch", true }, { "inventionsteps.com.au", true }, { "inventix.nl", true }, - { "inventoryexpress.xyz", true }, { "inventoryimages.co.uk", true }, { "inventoryimages.com", true }, { "inventtatte.com", true }, { "inventtheworld.com.au", true }, { "inventum.cloud", true }, { "inverselink-user-content.com", true }, + { "inversioneseconomicas.com", true }, { "investarholding.nl", true }, { "investigatore.it", true }, { "investigazionimoretti.it", true }, @@ -18414,6 +18884,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "investosure.com", true }, { "investpay.ru", true }, { "invinoaustria.com", true }, + { "invinoaustria.cz", true }, { "invioinc.com", true }, { "inviosolutions.com", true }, { "invisible-college.com", true }, @@ -18421,14 +18892,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "invisionita.com", true }, { "invisiverse.com", true }, { "invitacionesytarjetas.gratis", true }, - { "invitation-factory.tk", true }, - { "invitescene.com", true }, { "invitethemhome.com", true }, { "invkao.com", true }, { "invoiced.com", true }, { "invoicefinance.com", true }, { "invoicefinance.nl", true }, + { "invoicehippo.nl", true }, { "invuite.com", true }, + { "inwao.com", true }, { "inwestcorp.se", true }, { "inzdr.com", true }, { "inzelabs.com", true }, @@ -18457,6 +18928,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iosnoops.com", true }, { "iossifovlab.com", true }, { "iostream.by", true }, + { "iowaent.com", true }, { "iowaschoolofbeauty.com", true }, { "ip-blacklist.net", true }, { "ip-hahn.de", true }, @@ -18467,12 +18939,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ip6.li", false }, { "ipad.li", true }, { "ipadkaitori.jp", true }, - { "ipadportfolioapp.com", true }, { "ipal.im", true }, { "ipal.name", true }, { "ipal.pl", true }, { "ipal.tel", true }, - { "ipawind.com", true }, { "ipcareers.net", true }, { "ipconsulting.se", true }, { "ipemcomodoro.com.ar", true }, @@ -18481,7 +18951,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ipfs.ink", true }, { "ipfs.io", true }, { "iphonekaitori.tokyo", true }, - { "iphoneportfolioapp.com", true }, { "iphoneunlock.nu", true }, { "iphonote.com", true }, { "ipid.me", true }, @@ -18523,14 +18992,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iqsmn.org", true }, { "ir1s.com", true }, { "iramellor.com", true }, - { "iran-geo.com", true }, { "iranian.lgbt", true }, { "iranianholiday.com", true }, { "iranjeunesse.com", true }, { "irasandi.com", true }, { "irayo.net", true }, { "irc-results.com", true }, - { "ircmett.de", true }, { "irdvb.com", true }, { "ireef.tv", true }, { "iren.ch", true }, @@ -18539,13 +19006,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "irfan.id", true }, { "irgendeine.cloud", true }, { "irgit.pl", true }, + { "irgwebsites.com", true }, { "iridiumbrowser.de", true }, { "iridiumflare.de", true }, { "iriomote.com", true }, { "iris-design.info", true }, { "iris-insa.com", true }, { "irish.dating", true }, + { "irish.radio", true }, + { "irishradioplayer.radio", true }, { "irisjieun.com", true }, + { "irkfap.com", true }, { "irland-firma.com", true }, { "irmgard-woelfle.de", true }, { "irmgardkoch.com", true }, @@ -18562,11 +19033,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iruca.co", true }, { "is-going-to-rickroll.me", true }, { "is-sw.net", true }, + { "isaac.world", true }, { "isaacdgoodman.com", true }, - { "isaackabel.ga", true }, - { "isaackabel.gq", true }, - { "isaackabel.ml", true }, - { "isaackabel.tk", true }, { "isaackhor.com", true }, { "isaacman.tech", true }, { "isaacmorneau.com", true }, @@ -18585,15 +19053,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isastylish.com", true }, { "isavings.com", true }, { "isayoga.de", true }, + { "isbaseballstillon.com", true }, { "isbc-telecom.ru", true }, { "isbengrumpy.com", true }, + { "isc2chapter-cny.org", true }, { "iscert.org", true }, - { "isdecolaop.nl", true }, { "isdn.jp", true }, { "isecrets.se", true }, { "iservicio.mx", true }, { "iseulde.com", true }, { "isfff.com", true }, + { "isg-tech.com", true }, { "isgp-studies.com", true }, { "ishamf.com", true }, { "ishangirdhar.com", true }, @@ -18621,6 +19091,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "islavolcan.cl", true }, { "isletech.net", true }, { "isliada.org", true }, + { "islief.com", true }, { "islykaithecutest.cf", true }, { "islykaithecutest.ml", true }, { "ismailkarsli.com", true }, @@ -18630,14 +19101,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ismywebsitepenalized.com", true }, { "isn.cz", true }, { "iso27032.com", true }, - { "isocom.eu", true }, { "isognattori.com", true }, { "isolta.com", true }, { "isolta.de", true }, { "isolta.ee", true }, + { "isolta.fi", true }, { "isolta.lv", true }, { "isolta.se", true }, - { "isondo.com", true }, { "isonet.fr", true }, { "isopres.de", true }, { "isotope.gov", true }, @@ -18661,6 +19131,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "issues.email", true }, { "issuesofconcern.in", true }, { "ist-intim.de", true }, + { "istanbul.systems", true }, { "istdieweltschonuntergegangen.de", true }, { "isteinbaby.de", true }, { "istheapplestoredown.com", true }, @@ -18673,6 +19144,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "istheservicedowncanada.com", true }, { "isthisus.org", true }, { "isthnew.com", true }, + { "istogether.com", true }, { "istore.lt", true }, { "istorrent.is", true }, { "istrazivac-istine.com", true }, @@ -18681,26 +19153,35 @@ static const nsSTSPreload kSTSPreloadList[] = { { "isuzupartscenter.com", true }, { "isvbscriptdead.com", true }, { "isvsecwatch.org", true }, + { "isyu.xyz", true }, { "isz-berlin.de", true }, { "isz.no", true }, { "iszy.me", true }, { "it-academy.sk", true }, - { "it-enthusiasts.tech", true }, + { "it-boss.ro", true }, { "it-faul.de", true }, { "it-fernau.com", true }, { "it-jobbank.dk", true }, - { "it-kron.de", true }, { "it-maker.eu", true }, { "it-rotter.de", true }, + { "it-schamans.de", true }, { "it-seems-to.work", true }, { "it-service24.at", true }, { "it-service24.ch", true }, { "it-service24.com", true }, + { "it-shamans.de", true }, + { "it-shamans.eu", true }, + { "it-stack.de", true }, + { "it-support-nu.se", true }, + { "it-support-stockholm.se", true }, + { "it-support.one", true }, + { "it-supportistockholm.se", true }, { "it-sysoft.com", true }, + { "it-tekniker.nu", true }, { "it-ti.me", true }, + { "it-uws.com", true }, { "it-world.eu", true }, { "it.search.yahoo.com", false }, - { "it1b.com", true }, { "itactiq.com", true }, { "itactiq.info", true }, { "itaiferber.net", true }, @@ -18716,7 +19197,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itamservices.nl", true }, { "itap.gov", true }, { "itb-online.co.uk", true }, - { "itblog.pp.ua", true }, { "itcko.sk", true }, { "itdashboard.gov", true }, { "itecor.net", true }, @@ -18724,10 +19204,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "iteha.de", true }, { "iteke.ml", true }, { "iteke.tk", true }, - { "iteli.eu", true }, { "iterader.com", true }, { "iterasoft.de", true }, - { "iterror.co", true }, { "itesign.de", true }, { "itfh.eu", true }, { "itfix.cz", true }, @@ -18736,19 +19214,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ithakama.cz", true }, { "ithenrik.com", true }, { "ithinc.net", true }, + { "ithink.cf", true }, + { "ithjalpforetag.se", true }, { "itikon.com", true }, + { "itilo.de", true }, { "itis.gov", true }, { "itis4u.ch", true }, { "itjob.ma", true }, { "itkaufmann.at", true }, { "itlitera.com", true }, { "itludens.com", true }, + { "itm-c.de", true }, + { "itmanie.cz", true }, { "itmindscape.com", true }, { "itn.co.uk", true }, { "itneeds.tech", true }, { "itnota.com", true }, { "itochan.jp", true }, { "itooky.com", true }, + { "itouriria.com", true }, { "itpro.ua", true }, { "itraveille.fr", true }, { "itreallyaddsup.com", true }, @@ -18762,6 +19246,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itsanicedoor.co.uk", true }, { "itsasaja.com", true }, { "itsaw.de", true }, + { "itsayardlife.com", true }, { "itsblue.de", true }, { "itsdcdn.com", true }, { "itsecblog.de", true }, @@ -18780,7 +19265,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "itsryan.com", true }, { "itsstefan.eu", true }, { "itstatic.tech", true }, + { "itsuitsyou.co.za", true }, { "itsundef.in", true }, + { "itsupportnacka.se", true }, { "itsv.at", true }, { "itswincer.com", true }, { "itzap.com.au", true }, @@ -18791,7 +19278,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ivanbenito.com", true }, { "ivanboi.com", true }, { "ivancacic.com", false }, - { "ivanilla.org", true }, { "ivanmeade.com", true }, { "ivaoru.org", true }, { "ivfausland.de", true }, @@ -18807,19 +19293,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ivinet.cl", true }, { "ivitalia.it", true }, { "ivo.co.za", true }, + { "ivopetkov.com", true }, { "ivor.io", true }, { "ivor.is", true }, { "ivorvanhese.com", true }, { "ivorvanhese.nl", true }, - { "ivoryonsunset.com", true }, { "ivpn.net", true }, { "ivre.rocks", true }, + { "ivsign.net", true }, { "ivusn.cz", true }, { "ivvl.ru", true }, { "ivy-league-colleges.com", true }, + { "ivy.show", true }, { "iwader.co.uk", true }, { "iwalton.com", true }, + { "iwantexchange.com", true }, + { "iwantpayments.com", true }, { "iwanttoliveinabunker.com", true }, + { "iwanttrack.com", true }, + { "iwascoding.com", true }, { "iwch.tk", true }, { "iwebolutions.com", true }, { "iwell.de", true }, @@ -18838,6 +19330,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ixquick.info", true }, { "ixquick.nl", true }, { "iyassu.com", true }, + { "iyinolaashafa.com", true }, { "iyouewo.com", true }, { "iyuanbao.net", true }, { "iz8mbw.net", true }, @@ -18847,6 +19340,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "izodiacsigns.com", true }, { "izuba.info", true }, { "izumi.tv", true }, + { "izxxs.com", true }, { "izxxs.net", true }, { "izxzw.net", true }, { "izzys.casa", true }, @@ -18859,7 +19353,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "j15h.nu", true }, { "j2h.de", true }, { "j3e.de", true }, + { "ja-dyck.de", true }, { "ja-gps.com.au", true }, + { "ja-publications.agency", true }, { "ja.md", true }, { "jaakkohannikainen.fi", true }, { "jaalits.com", true }, @@ -18879,6 +19375,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jacekowski.org", true }, { "jacik.cz", true }, { "jack2celebrities.com", true }, + { "jackassofalltrades.org", true }, { "jackdawphoto.co.uk", true }, { "jackdelik.de", true }, { "jackf.me", true }, @@ -18892,8 +19389,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jacksorrell.com", true }, { "jacksutton.info", true }, { "jackyliao123.tk", true }, - { "jackyyf.com", false }, - { "jaco.by", true }, { "jacobamunch.com", true }, { "jacobdevans.com", true }, { "jacobhaug.com", false }, @@ -18917,6 +19412,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jahner.xyz", true }, { "jahofmann.de", false }, { "jailbreakingisnotacrime.org", true }, + { "jaion.xyz", true }, { "jaispirit.com", false }, { "jaitnetworking.com", false }, { "jakarta.dating", true }, @@ -18928,7 +19424,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jakecurtis.de", true }, { "jakereynolds.co", true }, { "jakerullman.com", true }, - { "jakeslab.tech", true }, { "jaketremper.com", true }, { "jakewestrip.com", true }, { "jakob-server.tk", true }, @@ -18957,6 +19452,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jamesandpame.la", true }, { "jamesbillingham.com", true }, { "jameschorlton.co.uk", true }, + { "jamesclark.com", true }, { "jamesdorf.com", true }, { "jamesgreenfield.com", true }, { "jameshemmings.co.uk", true }, @@ -18984,6 +19480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jamiepeters.nl", true }, { "jamieweb.net", true }, { "jamieweb.org", true }, + { "jamiewebb.net", true }, { "jamjestsimon.pl", true }, { "jammucake.com", true }, { "jammysplodgers.co.uk", true }, @@ -19001,14 +19498,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "janbrodda.de", true }, { "jandev.de", true }, { "janduchene.ch", true }, - { "janebondsurety.com", true }, + { "jane.com", true }, { "janehamelgardendesign.co.uk", true }, + { "janelauhomes.com", true }, { "janhuelsmann.com", true }, { "jani.media", true }, { "janiat.com", true }, { "janik.xyz", false }, { "janikrabe.com", true }, { "janjoris.nl", true }, + { "jankamp.com", true }, + { "janker.me", true }, { "jankoepsel.com", true }, { "jann.is", true }, { "jannekekaasjager.nl", true }, @@ -19017,6 +19517,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "janoberst.com", true }, { "janokacer.sk", true }, { "janschaumann.de", true }, + { "jansen-schilders.nl", true }, { "janssenwigman.nl", true }, { "janterpstra.eu", true }, { "jantinaboelens.nl", true }, @@ -19024,7 +19525,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "janvaribalint.com", true }, { "jaot.info", true }, { "japanesemotorsports.net", true }, + { "japangids.nl", true }, { "japaniac.de", false }, + { "japanphilosophy.com", false }, { "japanwatches.xyz", true }, { "japon-japan.com", true }, { "jardin-exotique-rennes.fr", true }, @@ -19053,7 +19556,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jasperhammink.com", true }, { "jasperhuttenmedia.com", true }, { "jasperpatterson.me", true }, - { "jastrow.me", true }, { "jaszbereny-vechta.eu", true }, { "javalestari.com", true }, { "javamilk.com", true }, @@ -19093,7 +19595,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jcb.com", true }, { "jcbgolfandcountryclub.com", true }, { "jci.cc", true }, + { "jclynne.com", true }, { "jcra.net", true }, + { "jcsesecuneta.com", true }, { "jctf.team", true }, { "jcwodan.nl", true }, { "jd-group.co.uk", true }, @@ -19123,19 +19627,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeannecalment.com", true }, { "jeannelucienne.fr", true }, { "jeanneret-combustibles.ch", true }, - { "jec-dekrone.be", true }, { "jeda.ch", true }, - { "jedayoshi.me", true }, { "jedayoshi.tk", true }, { "jedepannetonordi.fr", true }, { "jedidiah.eu", false }, { "jedipedia.net", true }, { "jediweb.com.au", true }, { "jedmud.com", true }, + { "jedwarddurrett.com", true }, { "jeec.ist", true }, + { "jeemain.org", true }, { "jeepeg.com", true }, - { "jeepmafia.com", true }, - { "jeffanderson.me", true }, + { "jeeran.com", true }, + { "jeeranservices.com", true }, { "jeffcasavant.com", false }, { "jeffcloninger.net", true }, { "jeffersonregan.co.uk", true }, @@ -19144,27 +19648,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeffhaferman.com", true }, { "jeffmcneill.com", true }, { "jeffreyhaferman.com", true }, + { "jeffrhinelander.com", true }, { "jeffri.me", true }, + { "jeffsanders.com", true }, { "jefftickle.com", true }, { "jeffwebb.com", true }, { "jefrydco.id", true }, + { "jehovahsays.net", true }, { "jej.cz", true }, { "jej.sk", true }, { "jekhar.com", true }, { "jekkt.com", false }, { "jelena-adeli.com", true }, { "jelenkovic.rs", true }, - { "jelewa.de", true }, { "jell.ie", true }, { "jelle.pro", true }, - { "jelleglebbeek.com", true }, { "jelleluteijn.com", true }, { "jelleluteijn.eu", true }, { "jelleluteijn.net", true }, { "jelleluteijn.nl", true }, { "jelleluteijn.pro", true }, { "jelleraaijmakers.nl", true }, - { "jelleschneiders.com", true }, + { "jelleschneiders.com", false }, { "jelly.cz", true }, { "jellybeanbooks.com.au", true }, { "jelmer.co.uk", true }, @@ -19175,7 +19680,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jembatankarir.com", true }, { "jemefaisdesamis.com", true }, { "jena.space", true }, - { "jennedebleser.com", false }, + { "jennierobinson.com", true }, { "jenniferengerwingaantrouwen.nl", true }, { "jennifermason.eu", true }, { "jennifersauer.nl", true }, @@ -19190,6 +19695,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeremy-chen.org", true }, { "jeremy.hu", true }, { "jeremybentham.com", true }, + { "jeremyc.ca", false }, { "jeremycantu.com", true }, { "jeremycrews.com", true }, { "jeremynally.com", true }, @@ -19197,6 +19703,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jeremypaul.me", true }, { "jeremytcd.com", true }, { "jericamacmillan.com", true }, + { "jering.tech", true }, { "jeroendeneef.com", true }, { "jeroensangers.com", true }, { "jerret.de", true }, @@ -19211,32 +19718,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jesseerbach.com", true }, { "jessekaufman.com", true }, { "jessesjumpingcastles.co.uk", true }, + { "jessevictors.com", true }, { "jessgranger.com", false }, { "jessicabenedictus.nl", false }, { "jessicahrehor.com", true }, { "jesters-court.net", true }, { "jesuisadmin.fr", true }, { "jet-stream.fr", true }, - { "jetapi.org", true }, { "jetbbs.com", true }, + { "jetflex.de", true }, { "jetkittens.co.uk", true }, { "jetsetboyz.net", true }, { "jetsieswerda.nl", true }, - { "jettlarue.com", true }, { "jetwhiz.com", true }, { "jeuxetcodes.fr", true }, { "jeweet.net", true }, { "jewishboyscouts.com", true }, + { "jewishquotations.com", true }, { "jexler.net", true }, { "jf-fotos.de", true }, { "jfbst.net", true }, { "jfmhero.me", true }, - { "jfr.im", true }, { "jfreitag.de", true }, { "jfsa.jp", true }, { "jgid.de", true }, { "jgke.fi", true }, { "jglover.com", true }, + { "jgoldgroup.com", true }, + { "jgregory.co.uk", true }, { "jgwb.de", true }, { "jgwb.eu", true }, { "jhalderm.com", true }, @@ -19246,25 +19755,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jhill.de", true }, { "jhollandtranslations.com", true }, { "jhuang.me", true }, - { "jhw-profiles.de", true }, { "jhwestover.com", true }, - { "jiacl.com", true }, { "jiahao.codes", true }, - { "jiangzm.com", false }, + { "jiangxu.site", true }, { "jianji.de", true }, { "jianshu.com", true }, { "jianyuan.pro", true }, + { "jiatingtrading.com", true }, { "jiazhao.ga", true }, { "jicaivvip.com", true }, { "jichi.io", true }, { "jichi000.win", true }, - { "jikegu.com", true }, + { "jieyang2016.com", true }, { "jimbiproducts.com", true }, { "jimbraaten.com", true }, { "jimbutlerkiaparts.com", true }, { "jimdorf.com", true }, { "jimfranke.com", true }, { "jimfranke.nl", true }, + { "jimizhou.xyz", true }, { "jimmycai.com", false }, { "jimmycn.com", false }, { "jimmyroura.ch", true }, @@ -19273,8 +19782,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jinanshen.com", true }, { "jinbo123.com", false }, { "jinbowiki.org", true }, - { "jing-in.com", true }, - { "jing-in.net", true }, { "jing.su", true }, { "jingjo.com.au", true }, { "jinja.ai", true }, @@ -19290,6 +19797,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jisha.site", true }, { "jixun.moe", true }, { "jiyusu.com", true }, + { "jiyuu-ni.com", true }, + { "jiyuu-ni.net", true }, + { "jjhampton.com", true }, { "jjj.blog", true }, { "jjjconnection.com", true }, { "jjlvk.nl", true }, @@ -19300,7 +19810,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jjvanoorschot.nl", true }, { "jk-entertainment.biz", true }, { "jkchocolate.com", true }, - { "jkest.cc", true }, + { "jki.io", true }, { "jkinteriorspa.com", true }, { "jkirsche.com", true }, { "jkrippen.com", true }, @@ -19322,6 +19832,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jmalarcon.es", true }, { "jmarciniak.it", true }, { "jmatt.org", true }, + { "jmbeautystudio.se", true }, { "jmbelloteau.com", true }, { "jmcashngold.com.au", true }, { "jmcataffo.com", true }, @@ -19332,11 +19843,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jmentertainment.co.uk", true }, { "jmfjltd.com", true }, { "jmk.hu", true }, + { "jmorahan.net", true }, { "jmoreau.ddns.net", true }, { "jmpb.hu", true }, { "jmsolodesigns.com", true }, { "jmssg.jp", true }, - { "jmvdigital.com", true }, { "jnjdj.com", true }, { "jnm-art.com", true }, { "jnordell.com", true }, @@ -19345,7 +19856,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joanofarcmtcarmel.org", true }, { "joaoaugusto.net", true }, { "joaosampaio.com.br", true }, + { "joaquimgoliveira.pt", true }, { "job-ofertas.info", true }, + { "job-offer.de", true }, { "job.biz.tr", true }, { "jobatus.com.br", true }, { "jobatus.es", true }, @@ -19362,7 +19875,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joblife.co.za", true }, { "jobmi.com", true }, { "jobmiplayground.com", true }, - { "jobmob.co.il", true }, { "jobs-in-tech.com", true }, { "jobs.at", true }, { "jobs.ch", true }, @@ -19380,7 +19892,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jodlajodla.si", true }, { "joduska.me", true }, { "jodyboucher.com", false }, - { "jodyshop.com", true }, { "joe262.com", true }, { "joedavison.me", true }, { "joedinardo.com", true }, @@ -19400,8 +19911,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joelmarkhamphotography.com.au", true }, { "joelmunch.com", true }, { "joelnichols.uk", true }, + { "joelotu.com", true }, { "joemotherfuckingjohnson.com", true }, { "joepitt.co.uk", false }, + { "joergschneider.com", true }, { "joerosca.com", true }, { "joerss.at", true }, { "joeskup.com", true }, @@ -19427,9 +19940,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "johannesen.tv", true }, { "johanneskonrad.de", true }, { "johannespichler.com", false }, + { "johanpeeters.com", true }, { "johansf.tech", true }, { "johego.org", true }, + { "johnaltamura.com", true }, { "johnbeil.com", true }, + { "johnberan.com", true }, { "johnblackbourn.com", true }, { "johnbpodcast.com", true }, { "johncook.ltd.uk", true }, @@ -19442,7 +19958,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "johnmcc.net", true }, { "johnmcintosh.pro", true }, { "johnmh.me", true }, - { "johnmichel.org", true }, { "johnno.be", true }, { "johnnybet.com", true }, { "johnnybsecure.com", true }, @@ -19451,16 +19966,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "johnrockefeller.net", true }, { "johnsanchez.io", true }, { "johnsegovia.com", true }, + { "johnsiu.com", true }, { "johnsonho.net", true }, { "johnvanhese.nl", true }, { "johnyytb.be", true }, { "joi-dhl.ch", true }, + { "joinhonor.com", true }, { "jointotem.com", true }, { "joinus-outfits.nl", true }, { "jojosplaycentreandcafeteria.co.uk", true }, { "jokedalderup.nl", true }, { "joker.menu", true }, { "jokerice.co.uk", true }, + { "jokesbykids.com", true }, { "jokewignand.nl", true }, { "joliettech.com", true }, { "jollausers.de", true }, @@ -19472,6 +19990,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jomofojo.co", true }, { "jomofojo.com", true }, { "jonahperez.com", true }, + { "jonale.net", true }, { "jonandnoraswedding.com", true }, { "jonas-thelemann.de", true }, { "jonas-wenk.de", false }, @@ -19483,13 +20002,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jonathandupree.com", true }, { "jonathanha.as", true }, { "jonathanj.nl", true }, + { "jonathanlara.com", true }, { "jonathanschle.de", true }, { "jonathanselea.se", true }, { "jonblankenship.com", true }, { "jondarby.com", true }, { "jondevin.com", true }, { "jondowdle.com", true }, - { "jonesopolis.xyz", true }, { "jonespayne.com", false }, { "jonferwerda.net", true }, { "jong030.nl", true }, @@ -19504,6 +20023,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jonnybarnes.uk", true }, { "jonnystoten.com", true }, { "jonoalderson.com", true }, + { "jonola.com", true }, { "jonpads.com", true }, { "jonpavelich.com", true }, { "jons.org", true }, @@ -19519,6 +20039,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "joran.org", true }, { "jorcus.com", true }, { "jordan-jungk.de", true }, + { "jordandevelopment.com", true }, { "jordanhamilton.me", true }, { "jordankmportal.com", true }, { "jordans.co.uk", true }, @@ -19528,7 +20049,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jorgerosales.org", true }, { "jorisdalderup.nl", true }, { "jornalalerta.com.br", true }, - { "josc.com.au", true }, { "joscares.com", true }, { "jose-alexand.re", true }, { "jose-lesson.com", true }, @@ -19536,22 +20056,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "josef-lotz.de", true }, { "josefjanosec.com", true }, { "josefottosson.se", true }, - { "josegerber.ch", true }, { "joseitoda.org", true }, - { "josemikkola.fi", true }, { "josepbel.com", true }, { "josephbleroy.com", true }, + { "josephgeorge.com.au", true }, + { "josephre.es", false }, { "josephsniderman.com", true }, { "josephsniderman.net", true }, { "josephsniderman.org", true }, { "josephv.website", true }, - { "josericaurte.com", true }, { "joshgilson.com", true }, { "joshgrancell.com", true }, { "joshharkema.com", true }, { "joshharmon.me", true }, + { "joshics.in", true }, { "joshlovephotography.co.uk", true }, - { "joshpanter.com", true }, + { "joshpanter.com", false }, { "joshrickert.com", true }, { "joshruppe.com", true }, { "joshschmelzle.com", true }, @@ -19566,20 +20086,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "journalism-schools.com", true }, { "journeyfriday.rocks", true }, { "journeytomastery.net", true }, + { "jouwpaardenbak.nl", true }, { "jovani.com", false }, { "jovic.hamburg", true }, - { "joyceseamone.com", true }, { "joyful.house", true }, { "joyfulexpressions.gallery", true }, { "joynadvisors.com", true }, { "joyofcookingandbaking.com", true }, { "joysinventingblog.com", true }, + { "jpbe.de", true }, { "jpdeharenne.be", true }, { "jpeg.io", true }, { "jphandjob.com", true }, { "jplesbian.com", true }, { "jpmelos.com", true }, { "jpmelos.com.br", true }, + { "jpmguitarshop.com.br", true }, { "jpod.cc", true }, { "jpralves.net", true }, { "jps-selection.co.uk", true }, @@ -19594,9 +20116,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jr5proxdoug.xyz", true }, { "jrabasco.me", true }, { "jrc9.ca", true }, + { "jrchaseify.xyz", true }, { "jreb.nl", true }, { "jreinert.com", true }, { "jrflorian.com", true }, + { "jrlopezoficial.com", true }, { "jross.me", true }, { "jrtapsell.co.uk", true }, { "jrxpress.com", true }, @@ -19613,16 +20137,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jsevilleja.org", true }, { "jskier.com", false }, { "jskoelliken.ch", true }, - { "jslidong.top", true }, { "jsmetallerie.fr", true }, { "jsnfwlr.com", true }, { "jsnfwlr.io", true }, { "jsonsinc.com", true }, { "jsteward.moe", true }, - { "jstore.ch", true }, - { "jsxc.ch", true }, { "jtcat.com", true }, - { "jtcjewelry.com", true }, { "jtconsultancy.sg", true }, { "jthackery.com", false }, { "jtl-software.com", true }, @@ -19633,14 +20153,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ju.io", true }, { "juan23.edu.uy", true }, { "juanfrancisco.tech", true }, + { "juanjovega.com", true }, { "juanmaguitar.com", true }, + { "juanmazzetti.com", true }, { "juanxt.ddns.net", true }, { "jubileum.online", true }, + { "jubileumfotograaf.nl", true }, { "jucca-nautica.si", true }, { "juch.cc", true }, { "juchit.at", true }, - { "jucktehkeinen.de", true }, { "judc-ge.ch", true }, + { "judge2020.com", true }, { "judge2020.me", true }, { "judoprodeti.cz", true }, { "judosaintdenis.fr", true }, @@ -19648,6 +20171,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juef.space", true }, { "juegosycodigos.es", true }, { "juegosycodigos.mx", true }, + { "juegosyolimpicos.com", true }, { "juelda.com", true }, { "juergen-elbert.de", true }, { "juergen-roehrig.de", true }, @@ -19662,8 +20186,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "juhakoho.com", true }, { "juice.codes", true }, { "juk.life", false }, + { "juku-info.top", true }, { "juku-wing.jp", true }, { "jule-spil.dk", true }, + { "julenlanda.com", false }, { "julian-uphoff.de", true }, { "julian-weigle.de", true }, { "juliangonggrijp.com", true }, @@ -19674,6 +20200,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "julianskitchen.ch", true }, { "julianvmodesto.com", true }, { "julianweigle.de", true }, + { "julianxhokaxhiu.com", true }, { "juliazeengardendesign.co.uk", true }, { "julibear.com", true }, { "julibon.com", true }, @@ -19710,7 +20237,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jumpingjacksbouncycastles.co.uk", true }, { "jumpinjaes.co.uk", true }, { "jumpinmonkeys.co.uk", true }, + { "jumpintogreenerpastures.com", true }, { "jumpnplay.co.uk", true }, + { "jundongwu.com", true }, { "junespina.com", true }, { "junethack.net", true }, { "jungaa.fr", true }, @@ -19720,7 +20249,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "junglejackscastles.co.uk", true }, { "junglememories.co.uk", true }, { "junglist.org", true }, - { "jungundwild-design.de", true }, + { "jungundwild-design.de", false }, { "juni.io", true }, { "junias-fenske.de", true }, { "juniperroots.ca", true }, @@ -19734,11 +20263,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jurassicgolf.nl", true }, { "juridoc.com.br", true }, { "jurijbuga.de", true }, - { "jurisprudent.by", true }, - { "juristas.com.br", true }, + { "jurriaan.ninja", true }, + { "just-a-clanpage.de", true }, { "just-vet-and-drive.fr", true }, { "justanothercompany.name", true }, - { "justbelieverecovery.com", true }, { "justbelieverecoverypa.com", true }, { "justbookexcursions.com", true }, { "justbookhotels.com", true }, @@ -19751,15 +20279,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "justice.gov", true }, { "justice4assange.com", true }, { "justin-tech.com", false }, - { "justinellingwood.com", true }, { "justinharrison.ca", true }, { "justinho.com", true }, + { "justinmuturifoundation.org", true }, + { "justinribeiro.com", true }, { "justinstandring.com", true }, { "justmensgloves.com", true }, { "justpaste.it", true }, { "justsmart.io", true }, + { "justsome.info", true }, { "justtalk.site", true }, - { "justthinktwice.gov", true }, + { "justthinktwice.gov", false }, { "justupdate.me", true }, { "justyy.com", true }, { "juszkiewicz.com.pl", true }, @@ -19786,6 +20316,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jwmmarketing.com", true }, { "jwnotifier.org", true }, { "jwod.gov", true }, + { "jwplay.ml", true }, { "jwschuepfheim.ch", true }, { "jwsoft.nl", true }, { "jxltom.com", true }, @@ -19794,9 +20325,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "jyggen.com", true }, { "jym.fit", true }, { "jyoti-fairworks.org", true }, - { "jzachpearson.com", true }, { "jzbk.org", true }, - { "jzcapital.co", true }, { "k-bone.com", true }, { "k-homes.net", true }, { "k-netz.de", true }, @@ -19806,6 +20335,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "k-scr.me", true }, { "k-system.de", true }, { "k-tube.com", true }, + { "k1024.org", true }, { "k258059.net", true }, { "k2mts.org", true }, { "k3508.com", true }, @@ -19819,8 +20349,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "k9swx.com", true }, { "kaamoscreations.com", true }, { "kaangenc.me", true }, + { "kaany.io", true }, { "kaasbesteld.nl", true }, - { "kaashosting.nl", true }, { "kaatha-kamrater.se", true }, { "kab-s.de", true }, { "kabaca.design", true }, @@ -19832,6 +20362,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kaboom.pw", true }, { "kabu-abc.com", true }, { "kabulpress.org", true }, + { "kacgal.com", true }, { "kachelfm.nl", true }, { "kachlikova2.cz", true }, { "kack.website", true }, @@ -19843,7 +20374,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kagitreklam.com", true }, { "kaheim.de", true }, { "kai-ratzeburg.de", true }, - { "kaibol.com", true }, { "kaigojj.com", true }, { "kaikei7.com", true }, { "kaileymslusser.com", true }, @@ -19862,7 +20392,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kakie-gobocha.jp", true }, { "kakie-kolesa.ru", true }, { "kakolightingmuseum.or.jp", true }, - { "kakuto.me", true }, { "kalakarclub.com", true }, { "kalamos-psychiatrie.be", true }, { "kalastus.com", true }, @@ -19883,12 +20412,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kalterersee.ch", true }, { "kalwestelectric.com", true }, { "kam-serwis.pl", true }, - { "kamatajisyaku.tokyo.jp", true }, { "kamikaichimaru.com", false }, { "kamikatse.net", true }, { "kaminbau-laub.de", true }, + { "kamisato-ent.com", true }, { "kamixa.se", true }, { "kamppailusali.fi", true }, + { "kampunginggris-ue.com", true }, { "kamranmirhazar.com", true }, { "kamui.co.uk", true }, { "kan3.de", true }, @@ -19898,7 +20428,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kanag.pl", true }, { "kanal-schaefer.de", true }, { "kanal-tv-haensch.de", true }, - { "kandalife.com", true }, { "kandianshang.com", true }, { "kanecastles.com", true }, { "kanehusky.com", true }, @@ -19912,30 +20441,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kangaroovalleyolives.com.au", true }, { "kangaroovalleyshow.org.au", true }, { "kangaroovalleywoodcrafts.com.au", true }, + { "kangkai.me", true }, { "kangooroule.fr", true }, { "kanis.ag", true }, { "kankimaru.com", true }, { "kanna.cf", true }, - { "kannchen.de", true }, { "kanobu.ru", true }, { "kansaiyamamoto.jp", true }, { "kantankye.nl", true }, { "kantanmt.com", true }, { "kantorkita.net", true }, { "kantorosobisty.pl", true }, - { "kanuvu.de", false }, + { "kanuvu.de", true }, { "kany.me", false }, - { "kanzakiranko.jp", true }, + { "kanzakiranko.jp", false }, { "kanzashi.com", true }, { "kanzlei-gaengler.de", true }, { "kanzlei-myca.de", true }, { "kanzlei-oehler.com", true }, { "kanzlei-sixt.de", true }, - { "kaotik4266.com", true }, { "kap-genial.de", true }, { "kapgy-moto.com", true }, - { "kapiorr.duckdns.org", true }, - { "kappenstein.org", true }, + { "kappenstein.org", false }, { "kapseli.net", true }, { "kaptadata.com", true }, { "kaptamedia.com", true }, @@ -19948,11 +20475,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karalane.com", true }, { "karamomo.net", true }, { "karanjthakkar.com", true }, - { "karanlyons.com", true }, { "karasik.by", true }, { "karateka.org", true }, { "karateka.ru", true }, { "kardize24.pl", true }, + { "kardolocksmith.com", true }, { "karewan.ovh", true }, { "kargl.net", true }, { "karguine.in", true }, @@ -19973,6 +20500,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "karmaspa.se", true }, { "karn.nu", true }, { "karneid.info", true }, + { "karoverwaltung.de", true }, { "karsofsystems.com", true }, { "karsten-voigt.de", true }, { "karta-paliwowa.pl", true }, @@ -19982,6 +20510,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kartec.com", true }, { "karten-verlag.de", true }, { "kartonmodellbau.org", true }, + { "karula.org", true }, { "karupp-did.net", true }, { "kasadara.com", true }, { "kasei.im", true }, @@ -19996,7 +20525,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kastorsky.ru", true }, { "kat.marketing", true }, { "katagena.com", true }, - { "katalogbutikker.dk", true }, + { "katalogbajugamismu.com", true }, { "katata-kango.ac.jp", true }, { "katcleaning.com.au", true }, { "katedra.de", true }, @@ -20025,27 +20554,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kau-boys.com", true }, { "kau-boys.de", true }, { "kaufberatung.community", true }, - { "kaverti.com", true }, - { "kavik.no", true }, + { "kaufmanbankruptcylaw.com", true }, { "kavovary-kava.cz", true }, { "kawaii.io", true }, - { "kawaiii.link", true }, { "kaweus.de", true }, { "kay.la", true }, { "kayakabovegroundswimmingpools.com", true }, - { "kayleen.net", true }, { "kayscs.com", true }, { "kazakov.lt", true }, + { "kazancci.com", true }, { "kazand.lt", true }, { "kazandaemon.ru", true }, { "kazek.com.pl", true }, { "kazekprzewozy.pl", true }, { "kazu.click", true }, { "kazuhirohigashi.com", true }, - { "kazumi.ooo", true }, { "kazumi.ro", true }, { "kazy111.info", true }, { "kb3.net", true }, + { "kb88.com", true }, { "kba-online.de", true }, { "kbb-ev.de", true }, { "kbbouncycastlehire.co.uk", true }, @@ -20058,10 +20585,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kc1hbk.com", true }, { "kc3.moe", true }, { "kc5mpk.com", true }, + { "kcc.sh", true }, { "kcliner.com", true }, { "kcmicapital.com", true }, { "kcolford.com", false }, - { "kcptun.com", true }, { "kcshipping.co.uk", true }, { "kcsordparticipation.org", true }, { "kd.net.nz", true }, @@ -20069,6 +20596,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kdfans.com", true }, { "kdw.cloud", true }, { "kdyby.org", true }, + { "ke.fo", true }, { "ke7tlf.us", true }, { "keakon.net", true }, { "keane.space", true }, @@ -20081,7 +20609,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kecht.at", true }, { "kedarastudios.com", true }, { "kedibizworx.com", true }, - { "keditor.biz", true }, + { "kediri.win", true }, { "kedv.es", true }, { "keeleysam.com", true }, { "keelove.net", true }, @@ -20122,7 +20650,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kellygrenard.com", true }, { "kellyskastles.co.uk", true }, { "kellyssportsbarandgrill.com", true }, - { "kelmarsafety.com", true }, + { "kelsa.io", true }, { "kelvinfichter.com", true }, { "kemmerer-net.de", true }, { "kempkens.io", true }, @@ -20137,13 +20665,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kengilmour.com", true }, { "kenguntokku.jp", true }, { "kenia-vakantie.nl", true }, - { "kennedy.ie", true }, { "kenners.org", true }, { "kennethaasan.no", true }, { "kennethferguson.com", true }, { "kennethlim.me", true }, { "kenneths.org", true }, { "kenny-peck.com", true }, + { "kennynet.co.uk", true }, { "keno.im", true }, { "kenokallinger.at", true }, { "kenoschwalb.com", false }, @@ -20151,7 +20679,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kens.pics", true }, { "kensbouncycastles.co.uk", true }, { "kenscustomfloors.com", true }, - { "kensparkesphotography.com", true }, { "kentec.net", true }, { "kenterlis.gr", true }, { "kenvix.com", true }, @@ -20162,15 +20689,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kepkonyvtar.hu", true }, { "keralit.nl", true }, { "kerebro.com", true }, - { "kerem.xyz", true }, { "kerforhome.com", true }, { "kerijacoby.com", true }, + { "kermadec.com", true }, + { "kermadec.fr", true }, + { "kermadec.net", true }, { "kernel-error.de", true }, { "kernelpanics.nl", true }, { "kerrfrequencycombs.org", true }, { "kerrnel.com", true }, { "kersbergen.nl", true }, - { "kersmexico.com", true }, { "kerstkaart.nl", true }, { "kersvers.agency", true }, { "kerus.net", true }, @@ -20188,6 +20716,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ketty-voyance.com", true }, { "keutel.net", true }, { "kevin-darmor.eu", true }, + { "kevin-ta.com", true }, { "kevinapease.com", true }, { "kevinbowers.me", true }, { "kevinbusse.de", true }, @@ -20200,7 +20729,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kevinlocke.name", true }, { "kevinmeijer.nl", true }, { "kevinmorssink.nl", true }, - { "kevinpirnie.com", true }, + { "kevinpirnie.com", false }, { "kevinrandles.com", true }, { "kevinratcliff.com", true }, { "kevyn.lu", true }, @@ -20218,9 +20747,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "keyihao.cn", true }, { "keyinfo.io", true }, { "keylaserinstitute.com", true }, + { "keylength.com", true }, { "keymach.com", true }, { "keypersonins.com", true }, - { "keys.fedoraproject.org", true }, + { "keys.jp", true }, { "keystoneok.com", false }, { "keysupport.org", true }, { "keywebdesign.nl", true }, @@ -20234,6 +20764,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kfz-hantschel.de", true }, { "kgm-irm.be", true }, { "kgnk.ru", true }, + { "kgv-schlauroth.de", true }, { "khaledgarbaya.net", false }, { "khanovaskola.cz", true }, { "khas.co.uk", true }, @@ -20245,6 +20776,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "khmb.ru", true }, { "khoury-dulla.ch", true }, { "khs1994.com", true }, + { "khslaw.com", true }, { "khudothiswanpark.vn", true }, { "khushiandjoel.com", true }, { "kiadoapartman.hu", true }, @@ -20261,9 +20793,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kickedmycat.com", true }, { "kickstart.com.pk", false }, { "kicou.info", true }, - { "kiddies.academy", true }, { "kiddieschristian.academy", true }, - { "kiddieschristianacademy.co.za", true }, { "kiddyboom.ua", true }, { "kids-at-home.ch", true }, { "kids-castles.com", true }, @@ -20281,7 +20811,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kidzpartiesllp.co.uk", true }, { "kidzsmile.co.uk", true }, { "kiebel.de", true }, - { "kiedys.net", true }, { "kiehls.pt", true }, { "kiekin.org", true }, { "kiekko.pro", true }, @@ -20291,6 +20820,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kiesuwkerstkaart.nl", true }, { "kiffmarks.com", true }, { "kigmbh.com", true }, + { "kiisu.club", true }, { "kikbb.com", true }, { "kiki-voice.jp", true }, { "kikimilyatacado.com.br", true }, @@ -20299,6 +20829,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kilianvalkhof.com", true }, { "killaraapartments.com.au", true }, { "killdeer.com", true }, + { "killedbynlp.com", true }, { "killerit.in", true }, { "killerkink.net", true }, { "killerrobots.com", true }, @@ -20313,7 +20844,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kimisia.net", true }, { "kimmel.com", true }, { "kimmel.in", true }, - { "kimo.se", true }, { "kimono-rental-one.com", true }, { "kimotodental.com", true }, { "kimsufi-jordi.tk", true }, @@ -20323,13 +20853,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kinautas.com", true }, { "kinderbasar-luhe.de", true }, { "kinderchor-bayreuth.de", true }, + { "kinderjugendfreizeitverein.de", true }, { "kinderkleding.news", true }, + { "kinderpneumologie.ch", true }, { "kindertagespflege-rasselbande-halle.de", true }, { "kinderzahn-bogenhausen.de", true }, + { "kindfotografie.nl", true }, { "kindleworth.com", true }, { "kindlezs.com", true }, { "kine-duthil.fr", true }, { "kinepolis-studio.be", true }, + { "kinerd.me", true }, + { "kinesiomed-cryosauna.gr", true }, { "kinetiq.com", true }, { "king-of-the-castles.com", true }, { "kingant.net", true }, @@ -20342,9 +20877,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kingofthecastlesentertainments.co.uk", true }, { "kingofthecastlesouthwales.co.uk", true }, { "kingofthecastlesrhyl.co.uk", true }, + { "kingsfoot.com", true }, { "kingsgateseptic.com", true }, + { "kingsley.cc", true }, { "kingstclinic.com", true }, { "kingtecservices.com", true }, + { "kingwoodtxlocksmith.com", true }, { "kini24.ru", true }, { "kinkcafe.net", true }, { "kinkenonline.com", true }, @@ -20365,27 +20903,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kipa.at", true }, { "kipiradio.com", true }, { "kippenbart.gq", true }, - { "kipriakipita.gr", true }, { "kiragameforum.net", true }, - { "kirainmoe.com", true }, { "kiraku.co", true }, { "kirbear.com", true }, { "kirche-dortmund-ost.de", true }, { "kirchen-im-web.de", false }, { "kirchengemeinde-markt-erlbach.de", true }, + { "kircp.com", true }, { "kirei.se", true }, { "kirig.ph", true }, { "kirikira.moe", true }, { "kirill.ws", true }, { "kirillaristov.com", true }, - { "kirillpokrovsky.de", true }, { "kirinas.com", true }, { "kirinuki.jp", true }, { "kirkforcongress.com", true }, { "kirkforillinois.com", true }, { "kirkify.com", true }, { "kirkovsky.com", true }, - { "kirrie.pe.kr", true }, { "kirsch-gestaltung.de", true }, { "kirschbaum.me", true }, { "kirslis.com", true }, @@ -20395,25 +20930,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kis-toitoidixi.de", true }, { "kisallatorvos.hu", true }, { "kisalt.im", true }, + { "kisel.org", true }, { "kisiselveri.com", true }, + { "kiskeedeesailing.com", true }, { "kisma.de", true }, - { "kissesb.com", true }, - { "kissesb.net", true }, { "kissflow.com", true }, { "kissgyms.com", true }, { "kissmycreative.com", true }, { "kissoft.ro", true }, - { "kisstube.tv", true }, { "kitabnamabayi.com", true }, + { "kitacoffee.com", true }, { "kitbag.com.au", true }, { "kitchen-profi.by", true }, { "kitchen-profi.com.ua", true }, { "kitchen-profi.kz", true }, - { "kitchenalley.ca", true }, - { "kitchenalley.com", true }, { "kitchenpunx.com", false }, { "kiteadventure.nl", true }, - { "kitegarage.eu", true }, { "kiteschooledam.nl", true }, { "kiteschoolijmuiden.nl", true }, { "kiteschoolkatwijk.nl", true }, @@ -20426,14 +20958,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kittpress.com", true }, { "kittyhacker101.tk", true }, { "kivitelezesbiztositas.hu", true }, + { "kiwi-bird.xyz", true }, { "kiwi.com", true }, { "kiwi.digital", true }, { "kiwi.wiki", true }, - { "kiwico.com", true }, { "kiyotatsu.com", true }, { "kj-prince.com", true }, - { "kj1396.net", true }, - { "kj1397.com", true }, { "kjaer.io", true }, { "kjarni.cc", true }, { "kjarrval.is", true }, @@ -20447,12 +20977,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kki.org", true }, { "kkovacs.eu", true }, { "kkr-bridal.net", true }, + { "kkren.me", true }, { "kks-karlstadt.de", true }, { "kksg.com", true }, - { "kkws.co", true }, { "kkyy.me", true }, { "kkzxak47.com", true }, { "kl-diaetist.dk", true }, + { "klaasmeijerbodems.nl", true }, { "klaim.us", true }, { "klamathrestoration.gov", true }, { "klanggut.at", true }, @@ -20460,7 +20991,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klarika.com", true }, { "klarmobil-empfehlen.de", true }, { "klasfauseweh.de", true }, - { "klausbrinch.dk", true }, + { "klausbrinch.dk", false }, { "klausen.dk", true }, { "klaver.it", true }, { "klaw.xyz", true }, @@ -20475,11 +21006,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kleim.fr", true }, { "kleinblogje.nl", false }, { "kleine-dingen.nl", true }, + { "kleine-strandburg-heringsdorf.de", true }, + { "kleine-strandburg.com", true }, { "kleine-strolche-lich.de", true }, { "kleineanfragen.de", true }, + { "kleinestrandburg-heringsdorf.de", true }, + { "kleinestrandburg-usedom.de", true }, + { "kleineviecherei.de", true }, { "kleinfein.co", true }, { "kleinreich.de", true }, { "kleinsys.com", true }, + { "kleintransporte.net", true }, + { "kleppe.co", true }, { "kleteckova.cz", true }, { "klicke-gemeinsames.de", true }, { "klickstdu.com", true }, @@ -20490,6 +21028,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klimapartner.net", true }, { "klimchuk.by", true }, { "klimchuk.com", true }, + { "klingenundmesser.com", true }, { "klinikac.co.id", false }, { "klinkenberg.ws", true }, { "klinkerstreet.com.ua", false }, @@ -20500,7 +21039,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kloia.com", true }, { "klose.family", true }, { "klosko.net", true }, - { "klotz-labs.com", true }, { "kloudboy.com", true }, { "kls-agency.com.ua", false }, { "klseet.com", true }, @@ -20508,8 +21046,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "klubxanadu.cz", true }, { "kluck.me", true }, { "klugemedia.de", true }, - { "klustekeningen.nl", true }, { "klustermedia.com", true }, + { "klusweb-merenwijk.nl", true }, { "klva.cz", true }, { "klzwzhi.com", true }, { "kmashworth.co.uk", true }, @@ -20523,9 +21061,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "knarcraft.net", true }, { "kncg.pw", true }, { "kndkv.com", true }, + { "kndrd.io", true }, { "kneblinghausen.de", true }, { "knechtology.com", true }, - { "knegten-agilis.com", true }, { "knep.me", true }, { "knetterbak.nl", true }, { "kngk-group.ru", true }, @@ -20537,10 +21075,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "knightsblog.de", true }, { "knightsbridge.net", true }, { "knightsbridgewine.com", true }, + { "knihovnajablonne.cz", true }, { "knip.ch", true }, { "knispel-online.de", true }, { "knitfarious.com", true }, { "knmv.nl", true }, + { "knnet.ch", true }, { "knockendarroch.co.uk", true }, { "knop.info", true }, { "knot-store.com", true }, @@ -20548,8 +21088,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "knowledgeforce.com", true }, { "knowlevillagecc.co.uk", true }, { "knthost.com", true }, - { "knuckles.tk", true }, { "knurps.de", true }, + { "knuthildebrandt.de", true }, { "knutur.is", true }, { "knygos.lt", true }, { "ko-sys.com", true }, @@ -20559,7 +21099,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kobejet.com", true }, { "kobezda.net", true }, { "kobofarm.com", true }, - { "koboldcraft.ch", true }, { "kobolya.hu", true }, { "kocherev.org", true }, { "kochereva.com", true }, @@ -20610,12 +21149,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koka-shop.de", true }, { "kokensupport.com", true }, { "koketteriet.se", true }, + { "kokobaba.com", true }, { "kokona.ch", true }, { "kokumoto.com", true }, - { "kolania.com", true }, { "kolania.de", true }, - { "kolania.net", true }, - { "kolaykaydet.com", true }, { "kolbeinsson.se", true }, { "kolcsey.eu", true }, { "koldanews.com", true }, @@ -20632,6 +21169,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kolpingsfamilie-vechta-maria-frieden.de", true }, { "koluke.co", true }, { "koluke.com", true }, + { "komall.net", true }, { "komandakovalchuk.com", false }, { "kombidorango.com.br", true }, { "komelin.com", true }, @@ -20640,7 +21178,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "komidoc.com", true }, { "komiksbaza.pl", true }, { "kominfo.go.id", true }, - { "kominfo.net", true }, + { "kominfo.net", false }, { "kominki-sauny.pl", true }, { "komintek.ru", true }, { "komischkeszeug.de", true }, @@ -20668,6 +21206,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "konst.se", true }, { "kontaxis.org", true }, { "kontorhaus-schlachte.de", true }, + { "kontorhaus-stralsund.de", true }, + { "kontrolapovinnosti.cz", true }, { "konventa.net", true }, { "konyalian.com", true }, { "konzertheld.de", true }, @@ -20693,7 +21233,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "koreaboo.com", true }, { "koretech.nl", true }, { "korinar.com", true }, + { "kornrunner.net", true }, { "korobi.io", true }, + { "korobkovsky.ru", true }, { "koroknaimedical.hu", true }, { "korono.de", true }, { "korosiprogram.hu", true }, @@ -20712,8 +21254,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kostecki.org", true }, { "kostecki.tel", true }, { "kostya.ws", true }, - { "kotausaha.com", true }, - { "kotelezobiztositas.eu", true }, + { "kosuzu.moe", true }, + { "kother.org", true }, { "kotilinkki.fi", true }, { "kotitesti.fi", true }, { "kotly-marten.com.ua", true }, @@ -20721,17 +21263,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kotois.com", true }, { "kotonoha.cafe", true }, { "kotori.love", true }, - { "kottur.is", true }, { "kouki-food.com", true }, { "koumakan.cc", true }, { "koumuwin.com", true }, { "koushinjo.org", true }, + { "kouten-jp.com", true }, { "kov.space", true }, { "koval.io", true }, { "kovaldo.ru", true }, { "kovals.sk", true }, { "kovehitus.ee", true }, - { "kovnsk.net", true }, { "kovspace.com", true }, { "kovuthehusky.com", true }, { "kowalmik.tk", true }, @@ -20746,8 +21287,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kpinvest.eu", true }, { "kplasticsurgery.com", true }, { "kplnet.net", true }, - { "kpmgpublications.ie", true }, { "kpop.re", true }, + { "kpopsource.com", true }, { "kpumuk.info", true }, { "kpx1.de", true }, { "kr.search.yahoo.com", false }, @@ -20760,7 +21301,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kraftzeiten.de", true }, { "krag.be", true }, { "kraga.sk", true }, - { "kraiwan.com", true }, { "kraiwon.com", true }, { "kraken.io", true }, { "kraken.site", true }, @@ -20773,10 +21313,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kramsj.uk", true }, { "krang.org.uk", true }, { "krankenpflege-haushaltshilfe.de", true }, + { "kranz.space", true }, { "krasnodar-avia.ru", true }, { "krasovsky.me", true }, - { "krausoft.hu", true }, { "krautomat.com", true }, + { "krayx.com", true }, { "krazyboi.com", true }, { "krazykastles.co.uk", true }, { "krazykoolkastles.com", true }, @@ -20788,6 +21329,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kredit-abzocke.com", true }, { "kredita.dk", true }, { "kreditkacs.cz", true }, + { "kredytzen.pl", true }, { "kreen.org", true }, { "krehl.io", true }, { "kremalicious.com", true }, @@ -20814,13 +21356,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kristinbailey.com", false }, { "kristofba.ch", true }, { "kristofdv.be", true }, + { "kritikos.io", true }, { "krizevci.info", true }, { "krmeni.cz", false }, { "krokedil.se", true }, { "kromamoveis.com.br", true }, { "kromonos.net", true }, - { "kronaw.it", true }, { "krony.de", true }, + { "kroon.email", true }, { "kropkait.pl", true }, { "kroy.io", true }, { "krsn.de", true }, @@ -20832,23 +21375,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "krukhmer.com", true }, { "krumberconsulting.com", true }, { "krupa.net.pl", false }, + { "kruselegal.com.au", true }, { "krutka.cz", true }, { "kruu.de", true }, { "kruzhki-s-kartinkami.ru", true }, { "kry.no", true }, { "kry.se", true }, { "kryglik.com", true }, + { "krypmonet.com", true }, { "krypsys.com", true }, { "krypt.com", true }, { "kryptera.se", true }, - { "kryptomodkingz.com", true }, { "krytykawszystkiego.com", true }, { "krytykawszystkiego.pl", true }, { "kryx.de", true }, { "ks-watch.de", true }, { "kschv-rdeck.de", true }, { "kselenia.ee", true }, + { "ksero.center", true }, { "ksero.wroclaw.pl", true }, + { "ksham.net", true }, { "kshlm.in", true }, { "kspg.tv", true }, { "kssk.de", true }, @@ -20861,6 +21407,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ktsofas.gr", true }, { "ktw.lv", true }, { "ku-7.club", true }, + { "ku.io", false }, + { "kuaimen.bid", true }, { "kuaitiyu.org", true }, { "kualiti.net", true }, { "kualo.co.uk", true }, @@ -20873,12 +21421,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kubik-rubik.de", false }, { "kubkprf.ru", true }, { "kublis.ch", true }, + { "kuchen-am-stiel.de", true }, { "kuchenfeelisa.de", true }, { "kuchentraum.eu", true }, { "kucnibudzet.com", true }, { "kucukayvaz.com", true }, { "kudo.co.id", true }, - { "kueche-co.de", false }, { "kuechenprofi-group.de", false }, { "kuehndel.org", true }, { "kuehnel-bs.de", true }, @@ -20922,8 +21470,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kuroinu.jp", true }, { "kurona.ga", true }, { "kuronekogaro.com", true }, - { "kurrende.nrw", false }, - { "kurrietv.nl", true }, { "kurschies.de", true }, { "kurserne.dk", true }, { "kurswahl-online.de", true }, @@ -20936,6 +21482,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kutinsoft.com", true }, { "kutny.cz", true }, { "kutsankaplan.com", true }, + { "kuttler.eu", true }, { "kutukupret.com", true }, { "kutus.ee", true }, { "kuzbass-pwl.ru", true }, @@ -20956,7 +21503,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kwcolville.com", true }, { "kwedo.com", true }, { "kwench.com", true }, - { "kwok.cc", true }, + { "kwoll.de", true }, { "kwyxz.org", true }, { "kx197.com", true }, { "kxah35.com", true }, @@ -20969,14 +21516,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kylegutschow.com", true }, { "kylejohnson.io", true }, { "kylelaker.com", true }, - { "kylescastles.co.uk", true }, { "kylinj.com", false }, { "kynastonwedding.co.uk", true }, { "kyobostory-events.com", true }, { "kyoko.org", true }, { "kyosaku.org", true }, { "kyoto-mic.com", true }, - { "kyoto-sake.net", true }, { "kyoto-tomikawa.jp", true }, { "kyoto-tomoshibi.jp", true }, { "kyprexxo.com", true }, @@ -20989,6 +21534,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "kzsdabas.hu", true }, { "l-lab.org", true }, { "l0re.com", true }, + { "l17r.eu", true }, { "l2guru.ru", true }, { "l33te.net", true }, { "l4n-clan.de", true }, @@ -20996,7 +21542,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "l7world.com", true }, { "l9.fr", false }, { "la-baldosa.fr", true }, - { "la-cave-a-nodo.fr", false }, + { "la-cave-a-nodo.fr", true }, { "la-compagnie-des-elfes.fr", true }, { "la-fenice-neheim.de", true }, { "la-ganiere.com", true }, @@ -21010,6 +21556,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laatikko.io", true }, { "laatjeniethackmaken.nl", true }, { "labande-annonce.fr", true }, + { "labanochjonas.se", true }, + { "labanskoller.se", true }, + { "labanskollermark.se", true }, { "labcenter.com", true }, { "labcoat.jp", true }, { "labms.com.au", true }, @@ -21034,6 +21583,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lachlan-harris.com", true }, { "lachlan.com", true }, { "lachosetypo.com", true }, + { "lachyoga-schwieberdingen.de", true }, { "lacicloud.net", true }, { "lacigf.org", true }, { "laclaque.ch", true }, @@ -21049,37 +21599,38 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ladbroke.net", true }, { "ladenzeile.at", true }, { "ladenzeile.de", true }, + { "ladislavbrezovnik.com", true }, { "ladraiglaan.com", true }, { "lady-2.jp", true }, { "ladyanna.de", true }, { "ladyofhopeparish.org", true }, + { "laermschmiede.de", true }, { "laeso.es", true }, { "laextra.mx", true }, { "lafayette-rushford.com", true }, { "lafcheta.info", true }, - { "lafeemam.fr", true }, - { "lafema.de", true }, { "lafillepolyvalente.ca", true }, { "lafillepolyvalente.com", true }, { "lafka.org", true }, { "lafkor.de", true }, { "laflash.com", true }, - { "lafosseobservatoire.be", true }, - { "lag-gbr.gq", true }, { "lagarderob.ru", false }, { "lagazzettadigitale.it", true }, { "lagerauftrag.info", true }, { "lagit.in", true }, { "laglab.org", false }, - { "lagodny.eu", true }, { "lagout.org", true }, { "lagriffeduservice.fr", true }, { "laguiadelvaron.com", true }, + { "laguinguette.fr", true }, + { "lagunacoastrealestate.com", true }, { "lahipotesisgaia.com", true }, { "lahnau-akustik.de", true }, { "lahora.com.ec", true }, { "lai.is", true }, + { "laibcoms.com", true }, { "lain.at", true }, + { "lain.li", true }, { "laindonleisure.co.uk", true }, { "lak-berlin.de", true }, { "lakarwebb.se", true }, @@ -21119,7 +21670,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lamboo.be", true }, { "lamclam.site", true }, { "lame1337.xyz", true }, - { "lamiaposta.email", false }, + { "lamed.se", true }, { "lamikvah.org", true }, { "laminine.info", true }, { "lamontre.ru", true }, @@ -21138,20 +21689,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lampy.pl", true }, { "lamunyon.com", true }, { "lan.biz.tr", true }, - { "lana.swedbank.se", true }, { "lanahallen.com", true }, { "lanbroa.eu", true }, { "lancashirecca.org.uk", true }, { "lancejames.com", true }, { "lancelafontaine.com", true }, { "lanceyip.com", true }, - { "lancork.net", true }, { "lancyvbc.ch", true }, { "land.nrw", false }, + { "landbetweenthelakes.us", true }, { "landchecker.com.au", true }, { "landflair-magazin.de", true }, { "landhaus-christmann.de", true }, + { "landhaus-havelse.de", true }, { "landinfo.no", true }, + { "landingear.com", true }, { "landlordy.com", true }, { "landofelves.net", true }, { "landrovermerriamparts.com", true }, @@ -21183,11 +21735,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "langkahteduh.com", true }, { "langkawitrip.com", true }, { "langotie.com.br", true }, + { "langsam-dator.se", true }, { "langstreckensaufen.de", true }, { "languagecourse.net", true }, { "languageterminal.com", true }, { "langworth.com", true }, { "langzijn.nl", true }, + { "lanhhuyet510.tk", true }, { "lanna.io", true }, { "lannainnovation.com", true }, { "lanodan.eu", true }, @@ -21195,7 +21749,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lanre.org", true }, { "lanroamer.de", true }, { "lansechensilu.com", true }, - { "lanseyujie.com", false }, { "lanternalauth.com", true }, { "lanternhealth.org", true }, { "lantian.pub", true }, @@ -21208,9 +21761,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "laozhu.me", true }, { "laparoscopia.com.mx", true }, { "lapassiondutrading.com", true }, + { "lapetition.be", true }, { "lapicena.eu", true }, { "lapidge.net", true }, - { "lapix.com.co", true }, { "laplacesicherheit.de", true }, { "laplanetebleue.com", true }, { "lapolla.com", true }, @@ -21218,11 +21771,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lapparente-aise.ch", true }, { "lappari.com", true }, { "lara.photography", true }, + { "larabergmann.de", true }, { "laracode.eu", true }, { "laraeph.com", true }, { "laraigneedusoir.com", true }, { "laranara.se", true }, { "laranjada.org", true }, + { "laraveldirectory.com", true }, { "laravelsaas.com", true }, { "larbertbaptist.org", true }, { "lareclame.fr", true }, @@ -21231,6 +21786,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "largeviewer.com", true }, { "lariposte.org", true }, { "lariscus.eu", true }, + { "larky.top", true }, { "larondinedisinfestazione.com", true }, { "larptreff.de", true }, { "larraz.es", true }, @@ -21247,6 +21803,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "larvatoken.org", true }, { "lasalle.wa.edu.au", true }, { "lasarmas.com", true }, + { "lasavonnerieducroisic.fr", true }, { "lascana.co.uk", true }, { "lasereyess.net", true }, { "laserfuchs.de", true }, @@ -21256,6 +21813,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lasertechsolutions.com", true }, { "lask.in", true }, { "laskas.pl", true }, + { "lasowy.com", true }, { "laspequenassemillas.com", true }, { "lasrecetascocina.com", true }, { "lasrecetasdeguada.com", true }, @@ -21266,7 +21824,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lasseleegaard.org", true }, { "lassesworld.com", true }, { "lassesworld.se", true }, + { "lastbutnotyeast.com", true }, { "lastchancetraveler.com", true }, + { "lastharo.com", true }, { "lastpass.com", false }, { "lastrada-minden.de", true }, { "lastweekinaws.com", true }, @@ -21291,12 +21851,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "latitudesign.com", true }, { "latremebunda.com", true }, { "latrine.cz", true }, - { "latterdaybride.com", true }, { "lattyware.co.uk", true }, { "lattyware.com", true }, { "laubacher.io", true }, { "lauchundei.at", true }, - { "lauensteiner.de", true }, + { "lauensteiner.de", false }, { "laufers.pl", true }, { "laufpix.de", true }, { "lauftreff-himmelgeist.de", true }, @@ -21306,6 +21865,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "launchkey.com", false }, { "launchmylifend.com", true }, { "launchpad-app2.com", true }, + { "launchpadder2.com", true }, { "lauraandwill.wedding", false }, { "lauraenvoyage.fr", true }, { "laurakashiwase.com", true }, @@ -21341,18 +21901,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "law-colleges.com", true }, { "law-peters.de", true }, { "law.co.il", true }, + { "law22.com", true }, + { "lawbirduk.com", true }, + { "lawformt.com", true }, { "lawn-seeds.com", true }, { "lawnuk.com", true }, { "lawrenceberg.nl", true }, { "lawrencemurgatroyd.com", true }, { "lawrencewhiteside.com", true }, + { "lawyerdigital.co.bw", true }, { "lawyerkf.com", true }, { "laylo.io", false }, { "laylo.nl", false }, { "layoutsatzunddruck.de", true }, { "lazistance.com", true }, { "lazowik.pl", true }, - { "lazurit.com", true }, { "lazyboston.com", true }, { "lazyclock.com", true }, { "lazyframe.com", true }, @@ -21364,6 +21927,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lbgconsultores.com", true }, { "lbihrhelpdesk.com", true }, { "lbls.me", true }, + { "lbmblaasmuziek.nl", true }, { "lbphacker.pw", true }, { "lbs-logics.com", true }, { "lbsi-nordwest.de", true }, @@ -21399,13 +21963,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "le-palantir.com", true }, { "le-traiteur-parisien.fr", true }, { "le0.me", true }, + { "le0yn.ml", true }, { "le130rb.com", true }, { "le23.fr", true }, { "le42mars.fr", true }, { "leadbox.cz", true }, { "leaderoftheresistance.com", false }, { "leaderoftheresistance.net", false }, + { "leadership9.com", true }, + { "leadgenie.me", true }, + { "leadinfo.com", true }, { "leadingsalons.com", true }, + { "leadplan.ru", true }, { "leadquest.nl", true }, { "leafandseed.co.uk", true }, { "leafans.tk", false }, @@ -21413,6 +21982,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leakforums.net", true }, { "leamsigc.com", true }, { "leandre.cn", true }, + { "leankit.com", true }, { "leanplando.com", true }, { "leap-it.be", true }, { "leapandjump.co.uk", true }, @@ -21424,6 +21994,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "learningis1.st", true }, { "learninglaw.com", true }, { "learningman.top", true }, + { "learnlux.com", true }, { "learnpianogreece.com", true }, { "learnplayground.com", true }, { "learntube.cz", true }, @@ -21444,6 +22015,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lebens-fluss.at", true }, { "lebensraum-fitness-toenisvorst.de", true }, { "lebensraum-im-garten.de", true }, + { "lebensraum-kurse.ch", true }, { "lebihan.pl", true }, { "leblanc.io", true }, { "lebourgeo.is", true }, @@ -21452,7 +22024,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lecoinchocolat.com", true }, { "lectricecorrectrice.com", true }, { "led-jihlava.cz", true }, - { "led.xyz", true }, { "ledecologie.com.br", true }, { "ledeguisement.com", true }, { "lederer-it.com", true }, @@ -21460,8 +22031,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ledscontato.com.br", true }, { "ledzom.ru", false }, { "lee-fuller.co.uk", true }, + { "leeaaronsrealestate.com", true }, { "leebiblestudycentre.co.uk", true }, - { "leech360.com", false }, { "leeclemens.net", false }, { "leedev.org", true }, { "leekspin.ml", true }, @@ -21470,7 +22041,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leerliga.de", true }, { "leertipp.de", true }, { "leesilvey.com", true }, - { "leet2.com", true }, { "leetcode.com", true }, { "leetcode.net", true }, { "leetgamers.asia", true }, @@ -21486,14 +22056,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "legacy.bank", true }, { "legadental.com", true }, { "legaillart.fr", true }, + { "legalcontrol.info", true }, + { "legaldesk.com", true }, { "legalinmotion.es", true }, { "legalrobot.com", true }, - { "legatofmrc.fr", true }, - { "legendarycamera.com", true }, { "legendesdechine.ch", true }, { "legendofkrystal.com", true }, { "legends-game.ru", false }, { "legible.es", true }, + { "legilimens.de", true }, { "legioniv.org", true }, { "legiscontabilidade.com.br", true }, { "legissa.ovh", true }, @@ -21502,7 +22073,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "legland.fr", true }, { "legoutdesplantes.be", true }, { "legrandvtc.fr", true }, - { "legumefederation.org", true }, { "legumeinfo.org", true }, { "lehighmathcircle.org", true }, { "lehti-tarjous.net", true }, @@ -21515,10 +22085,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leipziger-triathlon.de", true }, { "leisure-blog.com", true }, { "leisure-supplies-show.co.uk", true }, - { "leition.com", true }, - { "leitionusercontent.com", true }, { "leiyun.me", true }, { "lejardindesmesanges.fr", true }, + { "lektier.cf", true }, { "lel.ovh", true }, { "lelambiental.com.br", true }, { "lemarcheelagrandeguerra.it", true }, @@ -21526,7 +22095,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lemni.top", true }, { "lemoine.at", true }, { "lemondenumerique.com", true }, - { "lemondrops.xyz", true }, + { "lemonlawnow.com", true }, { "lemonop.com", true }, { "lemonparty.co", true }, { "lemonrockbiketours.com", true }, @@ -21537,9 +22106,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lenagroben.de", true }, { "lenaneva.ru", true }, { "lence.net", true }, + { "lendahandmissionteams.org", true }, { "lendingclub.com", true }, { "lenget.com", true }, - { "lenguajedeprogramacion.com", true }, { "lengzzz.com", true }, { "lenidh.de", true }, { "leninalbertop.com.ve", true }, @@ -21554,8 +22123,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lenyip.me", true }, { "lenyip.works", true }, { "leoandpeto.com", true }, - { "leochedibracchio.com", true }, - { "leodaniels.com", true }, { "leodraxler.at", true }, { "leola.cz", true }, { "leola.sk", true }, @@ -21569,13 +22136,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leondenard.com", true }, { "leonklingele.de", true }, { "leontiekoetter.de", true }, + { "leopoldina.net", true }, + { "leovanna.co.uk", true }, { "leowkahman.com", true }, { "lep.gov", true }, { "lepenetapeti.com", true }, { "lepidum.jp", true }, { "leponton-lorient.fr", true }, { "leppis-it.de", true }, - { "leprado.com", true }, { "lepsos.com", true }, { "lequerceagriturismo.com", true }, { "lereporter.ma", true }, @@ -21589,17 +22157,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lernplattform-akademie.de", true }, { "lerp.me", true }, { "les-ateliers-de-melineo.be", true }, + { "les-inoxydables.com", true }, { "les-pingouins.com", true }, { "lesaffre.es", true }, { "lesancheslibres.fr", true }, { "lesarts.com", true }, { "lesberger.ch", true }, - { "lesconteursavis.org", true }, + { "lesbrillantsdaristide.com", true }, { "lescourtiersbordelais.com", true }, { "leseditionsbraquage.com", true }, { "lesfilmsavivre.com", true }, { "lesgoodnews.fr", true }, - { "lesharris.com", true }, { "leshervelines.com", true }, { "lesjardinsdemathieu.net", true }, { "lesmamy.ch", true }, @@ -21618,6 +22186,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "letemps.ch", true }, { "leto12.xyz", true }, { "letraba.com", true }, + { "letranif.net", true }, { "lets-bounce.com", true }, { "lets-go-acoustic.de", true }, { "lets-ktai.jp", true }, @@ -21647,6 +22216,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "levanscatering.com", true }, { "levelaccordingly.com", true }, { "levelcheat.com", true }, + { "levelonetrainingandfitness.com", true }, { "leveluplv.com", true }, { "leveluprails.com", true }, { "levendwater.org", true }, @@ -21654,6 +22224,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "leverj.io", true }, { "levermann.eu", true }, { "leviaan.nl", true }, + { "levineteamestates.com", true }, { "levinus.de", true }, { "leviscop.com", true }, { "leviscop.de", true }, @@ -21687,26 +22258,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lgpecasoriginais.com.br", true }, { "lhajn.cz", true }, { "lhakustik.se", true }, + { "lhalbert.xyz", true }, { "lhamaths.online", true }, { "lhconsult.tk", false }, { "lhgavarain.com", true }, { "lhost.su", true }, { "li-ke.co.jp", true }, { "li.search.yahoo.com", false }, + { "lialion.de", true }, { "liam-w.io", true }, { "liamelliott.me", true }, { "liamlin.me", true }, - { "lian-in.com", true }, - { "lian-in.net", true }, - { "liang-li88.com", true }, - { "liang-li88.net", true }, { "lianye1.cc", true }, { "lianye2.cc", true }, { "lianye3.cc", true }, { "lianye4.cc", true }, { "lianye5.cc", true }, { "lianye6.cc", true }, - { "liautard.fr", true }, { "lib64.net", true }, { "libbitcoin.org", true }, { "libble.eu", true }, @@ -21722,6 +22290,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "librarytools.com", false }, { "librazy.org", true }, { "libre-service.de", true }, + { "libre.cr", true }, { "libre.university", true }, { "libreboot.org", true }, { "librebox.de", true }, @@ -21731,10 +22300,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "libreoffice-from-collabora.com", true }, { "libreofficefromcollabora.com", true }, { "librervac.org", true }, + { "librosdescargas.club", true }, { "libscode.com", false }, { "libskia.so", true }, { "libsodium.org", true }, { "libstock.si", true }, + { "libzik.com", true }, { "lichess.org", true }, { "lichtmetzger.de", true }, { "lichtspot.de", true }, @@ -21760,7 +22331,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lie.as", true }, { "liebel.org", true }, { "lieberwirth.biz", true }, - { "lieblingsholz.de", true }, { "liemen.net", true }, { "lierrmm.space", true }, { "lieuu.com", true }, @@ -21770,16 +22340,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lifebetweenlives.com.au", true }, { "lifeboxhealthcare.co.uk", true }, { "lifecism.com", true }, + { "lifeenrichmentnc.com", true }, { "lifegrip.com.au", true }, { "lifeinhex.com", true }, { "lifeinsurancepro.org", true }, - { "lifekiss.ru", true }, + { "lifelenz.com", true }, { "lifematenutrition.com", true }, { "lifemstyle.com", true }, { "lifeqa.net", true }, { "lifequotes-uk.co.uk", true }, + { "lifereset.it", true }, { "lifesafety.com.br", true }, { "lifestyle7788.com", true }, + { "lifestylecent.com", true }, { "lifestylefinancial.ca", true }, { "lifetree.network", true }, { "lifi.digital", true }, @@ -21789,6 +22362,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "light-up.xyz", true }, { "light.mail.ru", true }, { "lightbox.co", true }, + { "lightdark.xyz", true }, { "lightdream.tech", true }, { "lighting-centres.co.uk", true }, { "lightingagoura.com", true }, @@ -21824,13 +22398,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lijncoaching.nl", true }, { "lijstje.be", true }, { "lijstje.nl", true }, - { "likc.me", true }, { "likeablehub.com", true }, { "likeabox.de", true }, { "likebee.gr", true }, { "likegeeks.com", true }, { "likehifi.de", true }, { "likemovies.de", true }, + { "likenewhearing.com.au", true }, { "likere.com", true }, { "likesforinsta.com", true }, { "likui.me", true }, @@ -21838,6 +22412,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "liliang13.com", true }, { "liljohnsanitary.net", true }, { "lillepuu.com", true }, + { "lilliangray.co.za", true }, { "lily-bearing.com", true }, { "lily-inn.com", true }, { "lilyfarmfreshskincare.com", true }, @@ -21856,7 +22431,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "limitededitioncomputers.com", true }, { "limitededitionsolutions.com", true }, { "limitxyz.com", true }, - { "limn.me", true }, { "limoairporttoronto.net", true }, { "limousineservicezurich.com", true }, { "limpid.nl", true }, @@ -21864,15 +22438,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lin.fi", true }, { "linan.blog", true }, { "lincdavis.com", true }, + { "linchpin-it.com", true }, { "lincnaarzorg.nl", true }, { "lincolnfinewines.com", true }, + { "lincolnpedsgroup.com", true }, { "lincolnsfh.com", true }, { "lincolnwayflorist.com", true }, { "lindalap.fi", true }, + { "lindaolsson.com", true }, { "lindemann.space", true }, + { "linden.me", true }, { "lindeskar.se", true }, { "lindholmen.club", true }, { "lindnerhof-taktik.de", true }, + { "lindnerhof.info", true }, { "lindo.ru", true }, { "lindon.pw", true }, { "lindsayanderson.com", true }, @@ -21903,12 +22482,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "linklocker.co", true }, { "linkmaker.co.uk", true }, { "linkmauve.fr", true }, - { "linkonaut.net", true }, + { "linkstream.live", true }, { "linkthis.me", true }, { "linkthis.ml", true }, + { "linkthisstatus.ml", true }, { "linktio.com", true }, { "linky.tk", true }, - { "linkybos.com", true }, { "linkycat.com", true }, { "linode.com", false }, { "linost.com", true }, @@ -21945,11 +22524,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "linzgau.de", true }, { "linzyjx.com", true }, { "lionhosting.nl", true }, - { "lionlyrics.com", true }, { "lionsdeal.com", true }, { "lipartydepot.com", true }, { "lipex.com", true }, { "lipoabaltimore.org", true }, + { "lipthink.com", true }, { "liqd.net", true }, { "liquid.cz", true }, { "liquidhost.co", true }, @@ -21962,6 +22541,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lirnberger.com", true }, { "lisamccorrie.com", true }, { "lisamortimore.com", true }, + { "lisanzauomo.com", true }, { "lisburnhottubnbounce.co.uk", true }, { "liskgdt.net", true }, { "lisky.ru", true }, @@ -21976,10 +22556,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lists.stg.fedoraproject.org", true }, { "litchidova.nl", true }, { "litebit.eu", true }, + { "litebitanalytics.eu", true }, { "litebits.com", true }, { "litemind.com", true }, { "literarymachin.es", true }, { "literature-schools.com", true }, + { "literaturpreis-bad-wurzach.de", true }, { "litfin.name", true }, { "lithan.com", true }, { "lithesalar.se", true }, @@ -21999,10 +22581,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "littlepincha.fr", true }, { "littleprincessandmascotparties.co.uk", true }, { "littleqiu.net", true }, + { "littleredpenguin.com", true }, { "littleredsbakeshop.com", true }, { "littlericket.me", false }, { "littlescallywagsplay.co.uk", true }, - { "littleskin.cn", true }, { "littleswitch.co.jp", true }, { "littlewatcher.com", true }, { "litvideoserver.de", true }, @@ -22013,7 +22595,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "liufengyu.cn", true }, { "liul.in", true }, { "liupeicheng.top", true }, - { "liushuyu.tk", true }, { "liv3d.stream", true }, { "live4k.media", false }, { "livebandphotos.com", true }, @@ -22053,20 +22634,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "livi.co.uk", true }, { "livi.fr", true }, { "living-space.co.nz", true }, + { "living.digital", true }, + { "living.video", true }, { "living24.de", true }, + { "livingafrugallife.com", true }, { "livingforreal.com", true }, { "livinginhimalone.com", true }, + { "livingkingsinc.net", true }, { "livinglocalnashville.com", true }, { "livingworduk.org", true }, { "livnev.me", true }, { "livnev.xyz", true }, { "livolett.de", true }, - { "livrariacoad.com.br", true }, { "livres-et-stickers.com", true }, { "livroseuniformes.com.br", true }, + { "lixiaoyu.live", true }, { "lixtick.com", true }, + { "liyang.pro", false }, { "liyin.date", true }, - { "liyinjia.com", true }, { "liyunbin.com", true }, { "liz.ee", true }, { "lizardsystems.com", true }, @@ -22074,13 +22659,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lizhi123.net", true }, { "lizmooredestinationweddings.com", true }, { "lizzaran.io", true }, + { "lizzwood.com", true }, { "ljason.cn", true }, { "ljc.ro", true }, { "ljs.io", true }, + { "ljskool.com", true }, + { "ljusdalsnaprapatklinik.se", true }, { "lk-hardware.cz", true }, { "lknw.de", true }, { "lkp111138.me", true }, { "llamacuba.com", true }, + { "llamasweet.tech", true }, { "llemoz.com", true }, { "ller.xyz", true }, { "llm-guide.com", true }, @@ -22088,15 +22677,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lloyd-day.me", true }, { "llslb.com", false }, { "lm-pumpen.de", false }, + { "lmbyrne.co.uk", true }, + { "lmbyrne.com", true }, + { "lmcm.io", true }, { "lmddgtfy.net", true }, { "lmerza.com", true }, { "lmintlcx.com", true }, + { "lmmi.nl", true }, { "lmmtfy.io", true }, { "lmsptfy.com", true }, { "lmtls.me", true }, { "lmtm.eu", true }, { "lng-17.org", true }, { "lnhequipmentltd.com", true }, + { "lnmp.me", true }, { "lntu.org", true }, { "lnx.li", true }, { "lnyltx.cn", true }, @@ -22108,10 +22702,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loandolphin.com.au", true }, { "loanreadycredit.com", true }, { "loanstreet.nl", true }, + { "lob-assets-staging.com", true }, + { "lob-assets.com", true }, { "lob-staging.com", true }, { "lob.com", true }, { "lobivia.de", true }, - { "lobosdomain.hopto.org", true }, { "lobsangstudio.com", true }, { "lobstr.co", true }, { "local360.net", true }, @@ -22136,9 +22731,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "locationvoitureportugal.com", true }, { "locatorplus.gov", true }, { "locauxrama.fr", true }, - { "locker.email", true }, { "locker.plus", true }, - { "lockify.com", true }, { "lockpick.nl", true }, { "lockpicks.se", true }, { "lockr.io", true }, @@ -22148,8 +22741,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "locksmithbluff.co.za", true }, { "locksmithdearborn.com", true }, { "locksmithedmonds.com", true }, + { "locksmithfriendswoodtexas.com", true }, { "locksmithgarland-tx.com", true }, { "locksmithgrapevinetx.com", true }, + { "locksmithhumbletx.com", true }, { "locksmithindurban.co.za", true }, { "locksmithlivoniami.com", true }, { "locksmithmadisonheights.com", true }, @@ -22188,7 +22783,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "logexplorer.net", true }, { "logfile.at", true }, { "logfile.ch", true }, - { "logicchen.com", true }, { "logiciel-entreprise-seurann.fr", true }, { "logicio.ch", false }, { "logicio.de", false }, @@ -22219,7 +22813,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "logue.be", true }, { "logze.nl", true }, { "lohanaflores.com.br", true }, - { "lohl1kohl.de", true }, { "lohmeier.it", true }, { "loichot.ch", true }, { "loigiai.net", true }, @@ -22238,7 +22831,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lojaprimemed.com.br", true }, { "lojaprojetoagua.com.br", true }, { "lojasceletro.com.br", true }, - { "lojatema.com.br", true }, { "lojaterrazul.com.br", true }, { "lojavirtualfc.com.br", true }, { "lojavirtualfct.com.br", true }, @@ -22250,10 +22842,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loket.nl", true }, { "lolcorp.pl", true }, { "lolcow.farm", true }, - { "lolhax.org", true }, { "loli.net", true }, { "loli.pet", true }, - { "loli.ski", true }, { "loli.tube", true }, { "loli.world", true }, { "lolibrary.org", true }, @@ -22278,10 +22868,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "londonkeyholdingcompany.co.uk", true }, { "lonelytweets.com", true }, { "lonesomecosmonaut.com", true }, + { "lonestarlandandcommercial.com", true }, { "long-journey.com", true }, - { "long139.com", true }, { "long18.cc", true }, - { "long688.com", true }, + { "longboat.io", true }, { "longhaircareforum.com", true }, { "longhorn-imports.com", true }, { "longhorn.id.au", true }, @@ -22304,27 +22894,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lookastic.ru", true }, { "lookatmysco.re", true }, { "lookbetweenthelines.com", true }, + { "looker.wang", true }, { "lookup-dns.net", true }, { "lookyman.net", true }, { "lookzook.com", true }, { "loom.no", true }, - { "loony.info", true }, - { "loopower.com", true }, { "loopstart.org", true }, { "looseleafsecurity.com", true }, { "loothole.com", true }, { "loovto.net", true }, { "loposchokk.com", true }, { "loqu8.com", true }, + { "loquo.com", true }, { "lord.sh", true }, { "lordofthebrick.com", true }, { "lore.azurewebsites.net", true }, { "lorenadumitrascu.ro", true }, { "loreofthenorth.com", true }, { "loreofthenorth.nl", true }, + { "loricozengeller.com", true }, { "lorientlejour.com", true }, { "loritaboegl.de", true }, - { "lormansas.com", true }, { "losangelestown.com", true }, { "losless.fr", true }, { "losreyesdeldescanso.com.ar", true }, @@ -22352,20 +22942,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "loune.net", true }, { "loungecafe.net", true }, { "loungecafe.org", true }, + { "loungepapillon.com", true }, { "love4taylor.me", true }, + { "loveai.org", true }, { "loveandadoreboutique.com", true }, { "lovebigisland.com", true }, - { "lovebo9.com", true }, - { "lovebo9.net", true }, { "lovecrystal.co.uk", true }, { "loveislandgames.com", true }, { "loveisourweapon.com", true }, - { "lovelens.ch", false }, { "lovelens.li", false }, { "lovelivewiki.com", true }, { "lovelovenavi.jp", true }, - { "lovelytimes.net", true }, { "lovemanagementaccounts.co.uk", true }, + { "lovemiku.info", true }, { "lovemomiji.com", true }, { "lovenwishes.com", true }, { "loveph.one", true }, @@ -22390,10 +22979,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lowsidetna.com", true }, { "lowson.ca", true }, { "loxal.net", true }, - { "loxal.org", true }, + { "loyaleco.it", true }, { "loyaltyondemand.club", true }, { "loyaltyondemand.eu", true }, - { "lp-support.nl", true }, { "lpcom.de", true }, { "lprcommunity.co.za", true }, { "lpt-nebreziny.eu", true }, @@ -22409,7 +22997,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lsmpx.com", true }, { "lsquo.com", true }, { "lsscreens.de", true }, - { "lsys.ac", true }, + { "lsy.cn", true }, { "lt.search.yahoo.com", false }, { "ltaake.com", true }, { "ltecode.com", true }, @@ -22423,20 +23011,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lublin.toys", true }, { "lubomirkazakov.com", true }, { "luc-oberson.ch", true }, + { "luca-steeb.com", true }, { "luca.swiss", true }, { "lucacastelnuovo.nl", false }, { "lucafontana.net", true }, { "lucafrancesca.me", true }, - { "lucakrebs.de", true }, { "lucasantarella.com", true }, { "lucasbergen.ca", true }, - { "lucascobb.com", true }, { "lucasem.com", true }, { "lucasgaland.com", true }, { "lucasgymnastics.com", true }, { "lucaslarson.net", true }, { "luce.life", true }, { "luchscheider.de", false }, + { "lucianoalbanes.com", true }, { "lucid-light.de", true }, { "lucidframeworks.com", true }, { "lucidlight.de", true }, @@ -22469,12 +23057,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luftreiniger.biz", true }, { "lufu.io", true }, { "lugbb.org", true }, + { "lugimax.com", true }, { "luginbuehl.be", true }, - { "luginbuehl.eu", true }, { "lugui.in", true }, { "lui.pink", true }, { "luiscapelo.info", true }, - { "luisgf.es", true }, { "luismaier.de", true }, { "luisyr.com", true }, { "luizkowalski.net", true }, @@ -22482,15 +23069,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lukas-gorr.de", true }, { "lukas-meixner.com", true }, { "lukas-oppermann.de", true }, - { "lukas-schauer.de", true }, - { "lukas.im", true }, - { "lukas2511.de", true }, { "lukasberan.com", true }, { "lukasberan.cz", true }, { "lukasfunk.com", true }, { "lukasoppermann.com", true }, { "lukasoppermann.de", true }, - { "lukasschauer.de", true }, { "lukasschick.de", false }, { "lukaszorn.de", true }, { "lukaszwojcik.net", true }, @@ -22505,6 +23088,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lukesutton.info", true }, { "lukmanulhakim.id", true }, { "lukull-pizza.de", true }, + { "luloboutique.com", true }, { "lumen.sh", true }, { "lumi.pw", true }, { "lumiere.com", true }, @@ -22514,38 +23098,45 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lumminary.com", true }, { "lunafag.ru", true }, { "lunakit.org", true }, + { "lunalove.de", true }, { "lunanova.moe", true }, { "lunapps.com", true }, { "lunar6.ch", true }, + { "lunarichter.de", true }, { "lunarlog.com", true }, { "lunarshark.com", true }, { "lunartail.nl", true }, { "lunasqu.ee", true }, { "lunastrail.com", true }, + { "lunazacharias.com", true }, { "lunchbunch.me", true }, { "lune-indigo.ch", true }, { "lungta.pro", true }, { "lunidea.ch", true }, { "lunidea.com", true }, { "lunis.net", true }, - { "lunix.io", true }, { "lunorian.is", true }, + { "luodaoyi.com", true }, + { "luody.info", true }, { "luoe.me", true }, { "luoh.cc", true }, { "luoh.me", true }, { "luohua.im", true }, { "luongvu.com", true }, + { "luoshifeng.com", true }, { "luowu.cc", true }, { "lupecode.com", true }, { "lupinencyclopedia.com", true }, { "lupinenorthamerica.com", true }, - { "luqsus.pl", true }, + { "lusitom.com", true }, { "luso-livros.net", true }, + { "lusoft.cz", true }, { "lusteniny.cz", true }, { "lustige-zitate.com", true }, { "lustin.fr", true }, { "lustrum.ch", true }, { "lusynth.com", true }, + { "luteijn.biz", true }, { "luteijn.cloud", true }, { "luteijn.email", true }, { "luteijn.pro", true }, @@ -22553,12 +23144,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lutoma.org", true }, { "luukdebruincv.nl", true }, { "luukklene.nl", true }, + { "luukuton.fi", true }, { "luuppi.fi", true }, { "luvare.com", true }, { "luvbridal.com.au", true }, - { "luvplay.co.uk", true }, { "luxcraft.eng.br", true }, { "luxescreenprotector.nl", false }, + { "luxfosdecoenterprise.com", true }, { "luxsci.com", true }, { "luxurynsight.net", true }, { "luxurytimepieces.net", true }, @@ -22572,7 +23164,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "luzfaltex.com", true }, { "lv.search.yahoo.com", false }, { "lv0.it", true }, - { "lv5.top", true }, + { "lvftw.com", true }, + { "lvguitars.com", true }, { "lvmoo.com", true }, { "lvrsystems.com", true }, { "lw-addons.net", true }, @@ -22584,7 +23177,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lycee-saintjoseph-mesnieres.fr", true }, { "lychankiet.name.vn", false }, { "lydudlejning.net", true }, - { "lyfbits.com", true }, { "lyftrideestimate.com", true }, { "lykai.ca", true }, { "lymia.moe", true }, @@ -22604,13 +23196,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "lyrical-nonsense.com", true }, { "lyricfm.ie", true }, { "lys.ch", true }, + { "lysdeau.be", true }, { "lyst.co.uk", true }, { "lyukaacom.ru", true }, { "lyuly.com", true }, { "lyx.dk", true }, + { "lzcreation.com", true }, { "lzh.one", true }, { "lzwc.nl", true }, - { "lzzr.me", true }, { "m-22.com", true }, { "m-chemical.com.hk", true }, { "m-gh.info", true }, @@ -22629,9 +23222,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "m2epro.com", true }, { "m2il.co", true }, { "m2os.com", true }, + { "m4g.ru", true }, { "m4rcus.de", true }, { "ma-eir.nl", true }, - { "ma-plancha.ch", true }, { "ma2t.com", true }, { "maartenderaedemaeker.be", true }, { "maartenvandekamp.nl", true }, @@ -22642,24 +23235,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mabankonline.com", true }, { "mabulledu.net", true }, { "mac-i-tea.ch", true }, + { "mac-service-stockholm.se", true }, + { "mac-servicen.se", true }, { "mac.biz.tr", true }, { "mac1.net", true }, { "macaw.nl", true }, { "macaws.org", true }, + { "macbook.es", true }, { "maceinturecuir.com", true }, { "maces-net.de", true }, { "macgenius.com", true }, { "mach-politik.ch", true }, { "macha.cloud", true }, { "machbach.com", true }, - { "machbach.net", true }, { "machetewp.com", true }, + { "machijun.net", true }, { "machikka.com", false }, { "machinetransport.com", true }, { "macht-elektro.de", true }, { "machtweb.de", true }, { "machu-picchu.nl", true }, - { "maciespartyhire.co.uk", true }, { "macil.tech", true }, { "macinyasha.net", true }, { "macker.io", true }, @@ -22678,10 +23273,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "macosxfilerecovery.com", true }, { "macoun.de", true }, { "macros.co.jp", true }, - { "macstore.pe", true }, + { "macsupportnacka.se", true }, + { "macsupportstockholm.se", true }, { "mactools.com.co", true }, { "mad.ninja", true }, { "madae.nl", true }, + { "madandpissedoff.com", true }, { "madars.org", false }, { "madbicicletas.com", true }, { "madbin.com", true }, @@ -22703,9 +23300,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mader.jp", true }, { "madin.ru", true }, { "madirc.net", true }, + { "madisonent-facialplasticsurgery.com", true }, + { "madisonsquarerealestate.com", true }, { "madmar.ee", true }, + { "madmax-store.gr", true }, { "madoka.nu", true }, + { "madokami.pw", true }, { "madreacqua.org", true }, + { "madrecha.com", true }, + { "madreshoy.com", true }, { "madridartcollection.com", true }, { "madscientistwebdesign.com", true }, { "madtec.de", true }, @@ -22715,10 +23318,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maedchenflohmarkt.de", true }, { "maeln.com", true }, { "maelstrom-fury.eu", true }, + { "maelstrom.ninja", true }, { "maeplasticsurgery.com", true }, { "maestrano.com", true }, { "maff.co.uk", true }, - { "maff.scot", false }, { "mafia.network", true }, { "mafiaforum.de", true }, { "mafiapenguin.club", true }, @@ -22746,29 +23349,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "magical.rocks", true }, { "magicalcircuslv.com", true }, { "magicalshuttle.fr", true }, + { "magicamulet.me", true }, { "magicbroccoli.de", true }, { "magiccards.info", true }, { "magicdaysomagh.co.uk", true }, - { "magickmoments.co.uk", true }, { "magiclen.org", true }, { "magicspaceninjapirates.de", true }, { "magictable.com", true }, { "magicvodi.at", true }, { "magilio.com", true }, { "magnacarebroker.com", true }, + { "magnate.co", true }, { "magnatronic.com.br", true }, { "magneticattraction.com.au", true }, { "magnetpass.uk", true }, { "magnets.jp", true }, { "magnettracker.com", true }, + { "magnificatwellnesscenter.com", true }, { "magnificentdata.com", true }, { "magnoliadoulas.com", true }, { "magnoliastrong.com", true }, { "magnunbaterias.com.br", true }, + { "magodaoferta.com.br", true }, { "magonote-nk.com", true }, + { "magravsitalia.com", true }, { "magu.kz", true }, { "maguire.email", true }, { "magwin.co.uk", true }, + { "mah-nig.ga", true }, { "mahai.me", true }, { "mahatmayoga.org", true }, { "mahefa.co.uk", true }, @@ -22799,14 +23407,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mailinabox.email", true }, { "mailjet.tech", true }, { "maillady-susume.com", true }, - { "maillink.store", true }, { "mailmag.net", false }, + { "mailnara.co.kr", true }, { "mailto.space", true }, { "mailum.org", false }, { "mainechiro.com", true }, { "mainframeserver.space", true }, { "mainlined.org", true }, - { "mainston.com", true }, { "maintenance-traceur-hp.fr", true }, { "mainzelmaennchen.net", true }, { "maioresemelhores.com", true }, @@ -22822,7 +23429,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maitrise-orthopedique.com", true }, { "majahoidja.ee", true }, { "majaweb.cz", true }, - { "majemedia.com", true }, + { "majemedia.com", false }, { "majesnix.org", true }, { "majid.info", true }, { "majkassab.com", true }, @@ -22849,8 +23456,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "makeurbiz.com", true }, { "maki-chan.de", true }, { "makinen.ru", true }, - { "makino.games", true }, { "makkusu.photo", true }, + { "makkyon.com", true }, + { "makos.jp", true }, { "makowitz.cz", true }, { "maktoob.search.yahoo.com", false }, { "maku.edu.tr", true }, @@ -22901,6 +23509,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "malysvet.net", true }, { "mamaasia.info", true }, { "mamadea.be", true }, + { "mamadoma.com.ua", true }, { "mamafit.club", true }, { "mamamoet.ru", true }, { "mamanecesitaungintonic.com", true }, @@ -22910,6 +23519,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mammaw.com", true }, { "mammeitalianeavienna.com", true }, { "mammooc.org", true }, + { "mammothlakesmls.net", true }, { "mamospienas.lt", true }, { "mamot.fr", false }, { "mamuko.nl", true }, @@ -22927,6 +23537,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "manager-efficacement.com", true }, { "manager.linode.com", false }, { "managewp.org", true }, + { "manatees.com.au", true }, { "manatees.net", true }, { "manavgabhawala.com", true }, { "manawill.jp", true }, @@ -22941,6 +23552,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mangahigh.com", true }, { "mangaristica.com", false }, { "mangnhuapvc.com.vn", true }, + { "mangotwoke.co.uk", true }, { "manhattanchoralensemble.org", true }, { "manhole.club", true }, { "manhuagui.com", true }, @@ -22959,7 +23571,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "manns-solutions.co.uk", true }, { "mannschafft.ch", true }, { "manoirdecontres.com", true }, - { "manonamission.de", true }, { "manonandre-avocat.fr", true }, { "manoro.de", true }, { "manowarus.com", true }, @@ -22986,6 +23597,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "manueli.de", true }, { "manuelpinto.in", false }, { "manufacturing.gov", true }, + { "manufacturinginmexico.org", true }, { "manufacturingusa.com", true }, { "manuscript.com", true }, { "manuscriptlink.com", true }, @@ -22997,7 +23609,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "manylots.ru", true }, { "manyue.org", true }, { "maoi.re", true }, - { "maomao.blog", true }, { "maomihz.com", true }, { "maone.net", true }, { "maorseo.com", true }, @@ -23008,6 +23619,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "map4jena.de", true }, { "mapasmundi.com.br", true }, { "mapblender.com", true }, + { "mapchange.org", true }, { "mapeo.io", true }, { "maplanetebeaute.fr", true }, { "maplehome.tk", true }, @@ -23016,15 +23628,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mapstack.org", true }, { "maquettage.com", true }, { "maquinariaspesadas.org", true }, - { "maquininhamercadopoint.com.br", true }, + { "maquinasdecoserplus.com", true }, { "mar-eco.no", true }, { "marabumadrid.com", false }, + { "marabunta.io", true }, { "marakovits.net", true }, { "marble.com", true }, { "marbogardenlidkoping.se", true }, + { "marbree.eu", true }, { "marc-hammer.de", true }, { "marc-schlagenhauf.de", true }, + { "marcaixala.me", true }, { "marcbeije.com", true }, + { "marcberndtgen.de", true }, + { "marcceleiro.cat", true }, { "marcceleiro.com", true }, { "marceau.ovh", true }, { "marcel-preuss.de", true }, @@ -23043,7 +23660,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marcelwolf.coach", true }, { "marcgoertz.de", true }, { "marche-contre-monsanto.ch", true }, - { "marchhappy.tech", false }, { "marchukov.com", true }, { "marchwj.pl", true }, { "marciaimportados.com.br", true }, @@ -23053,9 +23669,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marco-hegenberg.net", true }, { "marco-polo-reisen.com", true }, { "marcocasoni.com", true }, - { "marcohager.de", true }, { "marcoherten.com", true }, + { "marcoklomp.nl", true }, { "marcoslater.com", true }, + { "marcusds.ca", true }, { "marcuskoh.com", true }, { "marcusstafford.com", true }, { "marechal-company.com", true }, @@ -23065,7 +23682,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "margagriesser.de", true }, { "margecommunication.com", true }, { "margo-co.ch", true }, - { "margo.ml", true }, { "margotlondon.co.uk", true }, { "margots.biz", true }, { "margots.life", true }, @@ -23073,12 +23689,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marguerite-maison.fr", true }, { "mariacorzo.com", true }, { "mariage-photo.ch", true }, + { "mariaheidemann.nl", true }, { "marianatherapy.com", true }, { "marianelaisashi.com", true }, { "marianhoenscheid.de", true }, { "mariannenan.nl", true }, { "mariannethijssen.nl", true }, { "mariapietropola.com", true }, + { "mariatash.com", true }, + { "marie-elisabeth.dk", false }, { "mariehane.com", true }, { "mariemiramont.fr", true }, { "mariereichl.cz", true }, @@ -23093,12 +23712,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marinazarza.es", true }, { "marinbusinesscenter.ch", true }, { "marine.gov", true }, - { "marinecadastre.gov", true }, { "marinekaplama.com", true }, { "marinela.com.mx", false }, { "marinelausa.com", false }, { "marines-shop.com", true }, - { "mario.party", false }, { "mariogeckler.de", true }, { "mariposah.ch", true }, { "marisamorby.com", false }, @@ -23130,6 +23747,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marketingbrandingnews.net", true }, { "marketingco.nl", true }, { "marketingconverts.com", true }, + { "marketingeinnovacion.com", true }, { "marketingforfood.com", true }, { "marketinggenerators.nl", true }, { "marketingtrendnews.com", true }, @@ -23137,6 +23755,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marketizare.ro", true }, { "marketlinks.org", true }, { "marketnsight.com", true }, + { "markfordelegate.com", true }, { "markhaehnel.de", true }, { "markhenrick.site", true }, { "markholden.guru", true }, @@ -23153,6 +23772,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "markridgwell.co.uk", true }, { "markridgwell.com", true }, { "markridgwellcom.appspot.com", true }, + { "markrobin.de", true }, { "markscastles.co.uk", true }, { "marksm.it", true }, { "marksmanhomes.com", true }, @@ -23177,7 +23797,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marl.fr", true }, { "marloncommunications.com", true }, { "marlonlosurdopictures.com", true }, - { "marlonschultz.de", true }, { "marlosoft.net", true }, { "marmista.roma.it", true }, { "marmolesromero.com", true }, @@ -23193,9 +23812,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marriage-shrine.jp", true }, { "marrickvilleapartments.com.au", true }, { "marsanvet.com", true }, - { "marsble.com", true }, { "marseillekiteclub.com", true }, - { "marshallford.me", true }, { "marshallscastles.com", true }, { "marshallwilson.com", true }, { "marshmallow.co", true }, @@ -23203,6 +23820,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marshyplay.live", true }, { "marsikelektro.cz", true }, { "martasibaja.com", true }, + { "martel-innovate.com", true }, { "martelange.ovh", true }, { "marten-buer.de", true }, { "martensmxservice.nl", true }, @@ -23220,7 +23838,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "martindimitrov.cz", true }, { "martine.nu", true }, { "martineweitweg.de", true }, - { "martingansler.de", true }, + { "martinfranc.eu", true }, { "martinkus.eu", true }, { "martinmuc.de", true }, { "martinreed.net", true }, @@ -23240,9 +23858,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "marycliffpress.com", true }, { "maryeclark.com", true }, { "maryeileen90.party", true }, + { "maryhaze.net", true }, + { "maryjaneroach.com", true }, { "maryjruggles.com", true }, { "marykatrinaphotography.com", true }, { "marylandbasementandcrawlspacewaterproofing.com", true }, + { "marzio.co.za", true }, { "masarik.sh", true }, { "masatotaniguchi.jp", true }, { "masautonomo.com", true }, @@ -23254,6 +23875,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mashandco.tv", true }, { "masiniunelte.store.ro", true }, { "masiul.is", true }, + { "maskim.fr", true }, { "maslin.io", true }, { "masrur.org", true }, { "massaboutique.com", true }, @@ -23272,9 +23894,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "massotherapeutique.com", true }, { "massvow.com", true }, { "masta.ch", true }, + { "mastafu.info", true }, { "mastah.fr", true }, { "mastd.me", false }, { "mastellone.us", true }, + { "mastepinnelaand.nl", true }, { "master-net.org", true }, { "mastercardpac.com", true }, { "masterdemolitioninc.com", true }, @@ -23285,9 +23909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "masterpc.co.uk", true }, { "masterplc.com", true }, { "masters.black", true }, - { "mastersquirrel.xyz", true }, { "masterstuff.de", true }, - { "mastiffingles.com.br", true }, { "mastodon.at", true }, { "mastodon.host", true }, { "mastodon.rocks", true }, @@ -23301,7 +23923,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matcha-iga.jp", true }, { "matchatea24.com", true }, { "matchboxdesigngroup.com", true }, - { "matchneedle.com", true }, { "matdogs.com", true }, { "matejgroma.com", true }, { "matel.org", true }, @@ -23318,9 +23939,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "math.hamburg", true }, { "mathalexservice.info", true }, { "mathematik.rocks", false }, - { "mathematris.com", true }, { "mathembedded.com", true }, { "matheo-schefczyk.de", true }, + { "matheusmacedo.ddns.net", true }, { "mathfinder.org", true }, { "mathhire.org", true }, { "mathias.is", true }, @@ -23337,9 +23958,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mathsweek.org.nz", true }, { "mathsweek.school.nz", true }, { "mathys.io", true }, + { "matildajaneclothing.com", true }, { "matjaz.it", true }, { "matlss.com", true }, - { "matmessages.com", true }, { "matok.me.uk", true }, { "matome-surume.com", true }, { "matomeathena.com", true }, @@ -23354,6 +23975,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "matsu-semi.com", true }, { "matsu-walk.com", true }, { "matt-brooks.com", true }, + { "matt-royal.com.cy", true }, { "matt-royal.gr", true }, { "matt.re", true }, { "mattandyana.com", true }, @@ -23365,14 +23987,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mattcoles.io", true }, { "mattconstruction.com", true }, { "mattcorp.com", true }, + { "mattdbarton.com", true }, { "matteomarescotti.it", true }, + { "mattessons.co.uk", true }, { "mattferderer.com", true }, { "mattfin.ch", true }, { "mattforster.ca", true }, { "matthecat.com", true }, - { "matthewchapman.co.uk", true }, + { "matthewchapman.co.uk", false }, { "matthewfells.com", true }, { "matthewgallagher.co.uk", true }, + { "matthewgrow.com", true }, { "matthewj.ca", true }, { "matthewkenny.co.uk", true }, { "matthewohare.com", true }, @@ -23393,9 +24018,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mattmccutchen.net", true }, { "mattmcshane.com", true }, { "mattonline.me", true }, + { "mattprojects.com", true }, + { "mattwservices.co.uk", true }, { "matviet.vn", true }, { "matway.com", true }, { "matway.net", true }, + { "matze.co", true }, { "mauerwerkstag.info", true }, { "mauldincookfence.com", true }, { "mauran.me", true }, @@ -23421,7 +24049,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "max-went.pl", true }, { "max.gov", true }, { "maxb.fm", true }, - { "maxbachmann.de", true }, { "maxbeenen.de", true }, { "maxbruckner.de", true }, { "maxbruckner.org", true }, @@ -23429,6 +24056,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maxdev72.freeboxos.fr", true }, { "maxh.me.uk", true }, { "maxhamon.ovh", true }, + { "maxhoechtl.at", true }, { "maximdeboiserie.be", true }, { "maximdens.be", true }, { "maximeferon.fr", true }, @@ -23437,18 +24065,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "maximiliankaul.de", true }, { "maximiliankrieg.de", true }, { "maxims-travel.com", true }, + { "maxinesbydennees.com", true }, { "maxipcalls.com", true }, { "maxisito.it", true }, { "maxkaul.de", true }, + { "maxmatthe.ws", true }, { "maxmilton.com", true }, { "maxmind.com", true }, { "maxp.info", true }, { "maxpl0it.com", true }, { "maxr1998.de", true }, + { "maxrandolph.com", true }, { "maxtruxa.com", true }, { "maxundlara.at", true }, { "maxwaellenergie.de", true }, { "maxwell-english.co.jp", false }, + { "maxwellflynn.com", true }, { "maxwellmoore.co.uk", true }, { "may24.tw", true }, { "mayaimplant.com", true }, @@ -23463,6 +24095,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mazda-mps.de", true }, { "mazda-thermote.com", true }, { "mazda626.net", true }, + { "mazdaofgermantown.com", true }, { "maze.design", false }, { "maze.fr", true }, { "mazenjobs.com", true }, @@ -23470,8 +24103,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mazurlabs.tk", true }, { "mazzotta.me", true }, { "mb-is.info", true }, - { "mb300sd.com", true }, - { "mb300sd.net", true }, { "mbaasy.com", true }, { "mbaestlein.de", true }, { "mbainflatables.co.uk", true }, @@ -23487,24 +24118,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mbk.net.pl", true }, { "mblankhorst.nl", true }, { "mble.mg", true }, + { "mbmcatering.com", true }, { "mbp.banking.co.at", false }, { "mbr-net.de", true }, { "mbrooks.info", true }, { "mbs-journey.com", true }, - { "mbsec.net", true }, + { "mburaks.com", true }, { "mburns.duckdns.org", true }, { "mbweir.com", true }, { "mbwis.net", true }, { "mc-jobs.net", true }, + { "mc-ruempel-firmen-und-haushaltsaufloesungen.de", true }, { "mc-venture.net", false }, { "mc4free.cc", true }, { "mcatnnlo.org", true }, + { "mccarty.io", false }, { "mccoolesredlioninn.com", true }, { "mccordsvillelocksmith.com", true }, { "mccrackon.com", true }, { "mcculloughjchris.com", true }, { "mcdermottautomotive.com", true }, - { "mcdona1d.me", true }, { "mcdonalds.be", true }, { "mcdonalds.design", true }, { "mce.eu", true }, @@ -23521,13 +24154,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mchel.net", true }, { "mchopkins.net", true }, { "mchristopher.com", true }, + { "mchuiji.com", true }, { "mcinterface.de", true }, + { "mcit.gov.ws", true }, { "mcivor.me", true }, { "mckenry.net", false }, { "mckernan.in", true }, { "mckinley.school", true }, { "mcl.de", false }, - { "mcl.gg", true }, { "mclinflatables.co.uk", true }, { "mclmotors.co.uk", true }, { "mcmillansedationdentistry.com", false }, @@ -23577,8 +24211,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mdzservers.com", true }, { "me-center.com", true }, { "me-groups.com", true }, + { "me-soft.nl", true }, { "me.net.nz", true }, { "meadowfen.farm", true }, + { "meadowfenfarm.com", true }, { "mealgoo.com", true }, { "meamod.com", false }, { "meany.xyz", true }, @@ -23591,6 +24227,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mecaniquemondor.com", true }, { "mechanics-schools.com", true }, { "mechanus.io", true }, + { "mechaspartans6648.com", true }, { "mechmk1.me", true }, { "med-colleges.com", true }, { "med-otzyv.ru", true }, @@ -23598,10 +24235,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medba.se", true }, { "medcir.com.br", true }, { "medcrowd.com", true }, - { "meddatix.com", true }, { "meddelare.com", true }, { "meddigital.com", false }, { "mede-handover.azurewebsites.net", true }, + { "medecine-esthetique-du-calaisis.fr", true }, { "medeinos.lt", true }, { "medellinapartamentos.com", true }, { "medexpress.co.uk", true }, @@ -23618,6 +24255,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mediabackoffice.co.jp", true }, { "mediablaster.com", true }, { "mediabm.jp", true }, + { "mediabogen.net", true }, { "mediaburst.co.uk", true }, { "mediadex.be", true }, { "mediaexpert.fr", true }, @@ -23631,10 +24269,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medialab.nrw", true }, { "mediamarkt.pl", true }, { "mediapart.fr", true }, + { "mediapath.gr", true }, { "mediarithmics.com", true }, { "mediarithmics.io", true }, { "mediarocks.de", true }, { "mediaselection.eu", true }, + { "mediathekview.de", true }, { "mediationculturelleclp.ch", true }, { "mediatorzy.waw.pl", true }, { "mediaukkies.nl", true }, @@ -23658,6 +24298,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medifi.com", true }, { "medigap-quote.net", true }, { "medik8.com.cy", true }, + { "medikalakademi.com.tr", true }, { "medikuma.com", true }, { "medino.com", true }, { "medinside.ch", true }, @@ -23678,7 +24319,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "medpics.com", true }, { "medschat.com", true }, { "medtalents.ch", true }, - { "medtankers.management", true }, { "medtehnika.ua", true }, { "medusa.wtf", true }, { "meduza.io", true }, @@ -23704,13 +24344,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meetingmanage.nl", true }, { "meetingmanager.ovh", true }, { "meetings2.com", true }, - { "meetmibaby.co.uk", true }, { "meetmygoods.com", true }, { "meetscompany.jp", true }, { "meeusen-usedcars.be", true }, { "meeztertom.nl", true }, { "meg-a-bounce.co.uk", true }, - { "mega-aukcion.ru", true }, { "mega-byte.nl", true }, { "mega-feeling.de", true }, { "mega.co.nz", true }, @@ -23719,13 +24357,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "megabounce.co.uk", true }, { "megabounceni.co.uk", true }, { "megabouncingcastles.com", true }, - { "megaflix.nl", true }, + { "megafilmesplay.net", true }, { "megaflowers.ru", true }, { "megagifs.de", true }, { "megainflatables.co.uk", true }, { "megakoncert90.cz", true }, - { "megamarkey.de", true }, { "megamisja.pl", true }, + { "megamp3.eu", true }, { "meganandmarc.us", true }, { "meganreel.com", false }, { "megapixel.cz", true }, @@ -23749,6 +24387,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mehr-schulferien.de", true }, { "mehrleben.at", true }, { "mehrwert.de", true }, + { "meia.ir", true }, { "meierhofer.net", true }, { "meikan.moe", true }, { "meillard-auto-ecole.ch", true }, @@ -23762,7 +24401,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meine-email-im.net", true }, { "meine-finanzanalyse.de", true }, { "meine-immofinanzierung.de", true }, - { "meine-plancha.ch", true }, { "meinezwangsversteigerung.de", true }, { "meinstartinsleben.com", true }, { "meinstartinsleben.de", true }, @@ -23770,12 +24408,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meinv.asia", true }, { "meiqia.cn", true }, { "meiqia.com", true }, + { "meisterlabs.com", true }, + { "meistertask.com", true }, { "meitan.gz.cn", true }, + { "mekatro.tech", true }, { "mekatrotekno.com", true }, { "mekesh.com", true }, { "mekesh.net", true }, { "mekesh.ru", true }, { "meklon.net", true }, + { "mekongeye.com", true }, { "melaniebernhardt.com", true }, { "melaniegruber.de", true }, { "melbourne.dating", true }, @@ -23791,7 +24433,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "melissaadkins.com", true }, { "melissaauclaire.com", true }, { "melissameuwszen.nl", true }, - { "melitopol.co.ua", true }, { "melnessgroup.com", true }, { "melnikov.ch", true }, { "melodicprogressivehouse.com", true }, @@ -23802,11 +24443,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "melodrom.de", true }, { "melopie.com", true }, { "melted.me", true }, - { "meltzow.net", true }, { "members-arbourlake.com", true }, { "members-only-shopping.com", true }, { "members.nearlyfreespeech.net", false }, { "membershipservices.org.uk", true }, + { "memberstweets.com", true }, { "meme-photostudio.com.tw", true }, { "meme.fi", true }, { "meme.institute", true }, @@ -23826,30 +24467,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mendipbouncycastles.co.uk", true }, { "mendozagenevieve.com", true }, { "mendy.jp", true }, - { "menhera.org", true }, { "menielias.com", true }, { "menkyo-blog.com", true }, { "mennace.com", true }, - { "menntagatt.is", true }, { "menole.com", true }, { "menole.de", true }, { "menole.net", true }, + { "menotag.com", true }, { "mensagemaniversario.com.br", true }, { "mensagemdaluz.com", true }, { "mensagensaniversario.com.br", true }, { "mensagensdeconforto.com.br", true }, { "mensagensperfeitas.com.br", true }, { "mensch-peter.me", true }, - { "mentalhealth.gov", true }, { "mentalhealthmn.org", true }, { "mentaltraining-fuer-musiker.ch", true }, { "mentiq.az", true }, - { "mentorithm.com", true }, { "mentz.info", true }, { "menudieta.com", true }, { "menuel.me", true }, { "menuonlineordering.com", true }, - { "menzel-motors.com", true }, { "menzietti.it", true }, { "mephedrone.org", true }, { "meps.net", true }, @@ -23861,6 +24498,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mercadobitcoin.net", true }, { "mercadoleal.com.br", true }, { "mercadopago.com", true }, + { "mercamaris.es", true }, { "mercari.com", true }, { "mercedes-benz.io", true }, { "mercedes-ig.de", true }, @@ -23872,8 +24510,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mercury.photo", true }, { "mercuryamericas.com", false }, { "meremeti-online.gr", true }, + { "meremobil.dk", true }, { "merenbach.com", true }, { "merenita.com", true }, + { "merenita.eu", true }, { "merenita.net", true }, { "merenita.nl", true }, { "meric-graphisme.info", true }, @@ -23901,7 +24541,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mesh.gov", true }, { "meshok.info", true }, { "mesicka.com", true }, - { "messagescelestes-archives.ca", true }, + { "mesomeds.com", true }, { "messagevortex.com", true }, { "messagevortex.net", true }, { "messdorferfeld.de", true }, @@ -23922,17 +24562,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "metadatawiki.com", true }, { "metaether.net", true }, { "metafurquest.net", true }, + { "metallosajding.ru", true }, { "metalu.ch", true }, { "metanic.services", true }, { "metanodo.com", true }, { "metapeen.nl", true }, - { "metaregistrar.com", true }, { "metasquare.com.au", true }, { "metasquare.nyc", true }, { "metasysteminfo.com", true }, + { "metaurl.io", true }, + { "metavetted.com", true }, { "metaword.com", true }, { "metaword.net", true }, { "metaword.org", true }, + { "metebalci.com", false }, { "meteenonline.nl", true }, { "meteo-parc.com", true }, { "meteo-r.ovh", true }, @@ -23949,16 +24592,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "meteorologiaenred.com", true }, { "meteosherbrooke.com", true }, { "meteosmit.it", true }, + { "meter.md", true }, { "meterhost.com", true }, { "methamphetamine.co.uk", true }, { "methylone.com", true }, { "metric.ai", true }, + { "metricmutt.com", true }, { "metro-lawn-care.com", true }, { "metro-web.net", true }, { "metroairvirtual.com", true }, + { "metrobriefs.com", true }, { "metrolush.com", true }, { "metron-eging.com", true }, { "metron-networks.com", true }, + { "metron-online.com", true }, { "metronaut.de", true }, { "metropop.ch", true }, { "metsasta.com", true }, @@ -23980,9 +24627,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mfgusa.com", true }, { "mfits.co.uk", true }, { "mflodin.se", true }, - { "mfpccprod.com", true }, { "mfxbe.de", true }, - { "mfz.mk", true }, + { "mfxxx.cn", true }, { "mgi.gov", true }, { "mgknet.com", true }, { "mglink.be", true }, @@ -24003,11 +24649,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mi-beratung.de", true }, { "mi-so-ji.com", true }, { "mi80.com", true }, + { "miadennees.com", true }, { "miagexport.com", true }, + { "mialquilerdecoches.com", true }, { "miaonagemi.com", true }, { "miaoubox.com", true }, { "miaowo.org", true }, { "miasarafina.de", true }, + { "miavierra.org", true }, { "mibuiin.com", true }, { "micado-software.com", true }, { "micalodeal.ch", true }, @@ -24020,7 +24669,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "michaelasawyer.com", true }, { "michaelband.co", true }, { "michaelband.com", true }, - { "michaelcullen.name", true }, { "michaeleichorn.com", true }, { "michaelhrehor.com", true }, { "michaeliscorp.com", true }, @@ -24044,12 +24692,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "michal-s.net", true }, { "michal-spacek.com", true }, { "michal-spacek.cz", true }, + { "michalp.pl", true }, { "michalspacek.com", true }, { "michalspacek.cz", true }, { "michalwiglasz.cz", true }, { "michaonline.de", true }, { "michel-wein.de", true }, + { "michele.ml", true }, { "michellavat.com", true }, + { "michelskovbo.dk", true }, { "michiganstateuniversityonline.com", true }, { "michiganunionoptout.com", true }, { "michmexguides.com.mx", true }, @@ -24057,22 +24708,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mickelvaessen.com", true }, { "micomi.co", true }, { "miconcinemas.com", true }, + { "micopal.com", true }, { "micr.io", true }, { "micr0lab.org", true }, + { "microbiote-insectes-vecteurs.group", true }, { "microco.sm", true }, { "microcomploja.com.br", true }, { "microdots.de", true }, { "microlinks.org", true }, { "microlog.org", true }, { "micromata.de", true }, + { "microneedlingstudio.se", true }, { "microsoftaffiliates.azurewebsites.net", true }, { "microvb.com", true }, + { "microwesen.de", true }, { "microzubr.com", true }, { "midair.io", true }, { "midasjewellery.com.au", true }, { "midgawash.com", true }, + { "midislandrealty.com", true }, + { "midistop.org", true }, { "midkam.ca", true }, + { "midlandgate.de", true }, { "midlandleisuresales.co.uk", true }, + { "midlandroofingri.com", true }, { "midlandsfundays.co.uk", true }, { "midlandsphotobooths.co.uk", true }, { "midlgx.com", true }, @@ -24081,6 +24740,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "midnightmango.de", true }, { "midnightmechanism.com", true }, { "midrandplumber24-7.co.za", true }, + { "midress.club", true }, { "midstatebasement.com", true }, { "midtowndentistry.com", true }, { "midwestbloggers.org", true }, @@ -24095,9 +24755,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miffy.me", true }, { "mig5.net", true }, { "miggy.org", true }, + { "mightysighty.com", true }, { "miguel.pw", true }, { "migueldemoura.com", true }, { "migueldominguez.ch", true }, + { "miguelgaton.es", true }, { "miguelmartinez.ch", true }, { "miguelmenendez.pro", true }, { "miguelmoura.com", true }, @@ -24106,7 +24768,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mijailovic.net", true }, { "mijcorijneveld.nl", true }, { "mijn-financien.be", true }, - { "mijnavg.eu", true }, + { "mijnetickets.nl", false }, { "mijnetz.nl", true }, { "mijnkerstkaarten.be", true }, { "mijnkinderkleding.com", true }, @@ -24125,12 +24787,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mikeblog.site", true }, { "mikebutcher.ca", true }, { "mikecb.org", true }, + { "mikegarnett.co.uk", true }, { "mikegerwitz.com", true }, { "mikeguy.co.uk", true }, { "mikehamburg.com", true }, { "mikehilldesign.co.uk", true }, { "mikekreuzer.com", true }, - { "mikerichards.photography", false }, + { "mikerichards.photography", true }, { "miketabor.com", true }, { "miketheuer.com", true }, { "mikevesch.com", true }, @@ -24149,21 +24812,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "miklcct.com", true }, { "miknight.com", true }, { "mikonmaa.fi", true }, - { "mikori.sk", true }, { "mikropixel.de", true }, { "mikroskeem.eu", true }, - { "miku.cloud", true }, - { "miku.party", true }, { "mikumaycry.com", true }, - { "mikumiku.stream", true }, { "mikupic.com", true }, { "mikywow.eu", true }, { "mil-spec.ch", true }, { "mil0.com", true }, { "milania.de", true }, - { "milanpala.cz", false }, { "milanstephan.de", true }, { "milcahsmusings.com", true }, + { "milchbuchstabe.de", true }, { "mileme.com", true }, { "milenaria.es", true }, { "milesapart.dating", true }, @@ -24171,7 +24830,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "milionshop.sk", true }, { "milkandcookies.ca", true }, { "milkingit.co.uk", true }, - { "milktea.info", true }, { "millanova.wedding", false }, { "milldyke.com", true }, { "milldyke.nl", true }, @@ -24195,6 +24853,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "millions19.com", true }, { "millions20.com", true }, { "millions22.com", true }, + { "millions25.com", true }, + { "millions26.com", true }, + { "millions27.com", true }, { "millions28.com", true }, { "millions29.com", true }, { "millions31.com", true }, @@ -24238,6 +24899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "millions9.com", true }, { "millions99.com", true }, { "millistream.com", true }, + { "milnes.org", true }, { "milsonhypnotherapyservices.com", true }, { "mim.am", true }, { "mimemo.io", true }, @@ -24247,6 +24909,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mimobile.website", true }, { "mimocad.io", true }, { "mimovrste.com", true }, + { "min-datorsupport.se", true }, { "min-sky.no", true }, { "minakov.pro", true }, { "minakova.pro", true }, @@ -24256,13 +24919,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mind-box.ch", true }, { "mind-hochschul-netzwerk.de", true }, { "mind-moves.es", true }, - { "mindbodytherapymn.com", true }, + { "mindatasupport.nu", true }, + { "mindatasupport.se", true }, { "mindcoding.ro", true }, { "mindercasso.nl", true }, { "mindfactory.de", true }, { "mindleaking.org", true }, + { "mindmeister.com", true }, { "mindoktor.se", false }, { "mindorbs.com", true }, + { "mindox.com.br", true }, { "mindstretchers.co.uk", true }, { "mine-craftlife.com", true }, { "mine-pixl.de", true }, @@ -24278,6 +24944,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minehub.de", true }, { "minei.me", true }, { "minenash.com", true }, + { "minepack.net", true }, { "minepay.net", true }, { "minepic.org", true }, { "minepod.fr", true }, @@ -24289,8 +24956,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minf3-games.de", true }, { "minfin.gov.ua", true }, { "mingky.net", true }, - { "mingming.info", true }, { "mingram.net", true }, + { "mingtreerealty.com", true }, { "mingwah.ch", true }, { "minh.at", false }, { "mini2.fi", true }, @@ -24310,6 +24977,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ministeriumfuerinternet.de", true }, { "minitruckin.net", true }, { "minitrucktalk.com", true }, + { "minivaro.de", true }, { "miniwallaby.com", true }, { "minkymoon.jp", true }, { "minnesotakinkyyouth.org", true }, @@ -24317,6 +24985,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "minnesotareadingcorps.org", true }, { "minnit.chat", true }, { "minobar.com", true }, + { "minorshadows.net", true }, { "minpingvin.dk", true }, { "minschuns.ch", true }, { "mintclass.com", true }, @@ -24343,7 +25012,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mirepublic.co.nz", true }, { "mireservaonline.es", true }, { "mirfire.com", true }, - { "mirjamderijk.nl", false }, { "mirkofranz.de", true }, { "mironet.cz", true }, { "mirrorbot.ga", true }, @@ -24351,6 +25019,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mirshak.com", true }, { "mirtes.cz", true }, { "mirtouf.fr", true }, + { "misakacloud.net", true }, { "misakiya.co.jp", true }, { "misanci.cz", true }, { "misclick.nl", true }, @@ -24379,11 +25048,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "missualready.com", true }, { "missyou.link", true }, { "mistacms.com", true }, - { "mister-cooks.fr", true }, + { "mister-matthew.de", true }, { "mistreaded.com", true }, { "mistybox.com", true }, { "misupport.dk", true }, { "misura.re", true }, + { "misuzu.moe", true }, + { "misxvenelantro.com", true }, { "mit-dem-rad-zur-arbeit.de", true }, { "mit-dem-rad-zur-uni.de", true }, { "mit-uns.org", true }, @@ -24403,7 +25074,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mitrecaasd.org", true }, { "mitremai.org", true }, { "mitrostudios.com", true }, - { "mitsign.com", true }, { "mitsu-szene.de", true }, { "mitsukabose.com", true }, { "mittagonggardencentre.com.au", true }, @@ -24413,7 +25083,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mitylite.com", true }, { "mitzpettel.com", true }, { "miui-germany.de", true }, - { "mivestuariolaboral.com", true }, { "mivzak.im", true }, { "mivzakim.biz", true }, { "mivzakim.info", true }, @@ -24421,7 +25090,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mivzakim.net", true }, { "mivzakim.org", true }, { "mivzakim.tv", true }, - { "mivzaklive.co.il", true }, { "miweb.cr", false }, { "mixinglight.com", true }, { "mixnshake.com", true }, @@ -24438,7 +25106,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mizu.coffee", true }, { "mizucoffee.net", true }, { "mizuho-trade.net", true }, - { "mizumax.me", true }, { "mj420.com", true }, { "mjacobson.net", true }, { "mjanja.ch", true }, @@ -24463,7 +25130,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mkg-scherer.de", true }, { "mkg-wiebelskirchen.de", true }, { "mkhsoft.eu", true }, - { "mkie.cf", true }, { "mkimage.com", true }, { "mkjl.ml", true }, { "mkk.de", true }, @@ -24481,19 +25147,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mlarte.com", true }, { "mlcnfriends.com", true }, { "mlemay.com", true }, - { "mlfaw.com", true }, - { "mlii.net", true }, { "mlmjam.com", true }, { "mlp.ee", true }, { "mlpvector.club", true }, { "mlundberg.se", true }, { "mlvbphotography.com", true }, { "mlytics.com", true }, - { "mm13.at", true }, { "mm404.com", true }, { "mma-acareporting.com", true }, { "mmalisz.com", true }, - { "mmaps.ddns.net", true }, + { "mmaps.org", true }, { "mmbb.org", true }, { "mmin.us", false }, { "mmmarco.com", true }, @@ -24503,7 +25166,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mms.is", true }, { "mmt.my", true }, { "mmucha.de", true }, - { "mna7e.com", true }, { "mncloud.de", true }, { "mncr.nl", true }, { "mnd.sc", true }, @@ -24522,11 +25184,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mo-journal.com", true }, { "mo.nl", true }, { "mo2021.de", true }, - { "mo3.club", true }, { "moa.moe", true }, - { "mobag.ru", true }, + { "moahmo.com", true }, { "mobal.com", true }, - { "mobi4.tk", true }, { "mobidea.com", true }, { "mobifinans.ru", true }, { "mobil-bei-uns.de", true }, @@ -24568,6 +25228,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "modafinil.wiki", true }, { "modafo.com", true }, { "modalogi.com", true }, + { "modav.org", true }, { "modcasts.video", true }, { "modding-forum.com", true }, { "modding-welt.com", true }, @@ -24581,11 +25242,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "modelisme-voiture-rc.fr", true }, { "modelservis.cz", true }, { "modemaille.com", true }, + { "modemchild.net", true }, { "modeportaal.nl", true }, { "moderatoren.org", true }, { "moderatorenpool.org", true }, + { "modern-family.tv", true }, { "modernapprenticeships.org", true }, { "moderncoinmart.com", true }, + { "moderncommercialrealestate.com", true }, { "modifiedmind.com", true }, { "modistry.com", true }, { "modistryusercontent.com", true }, @@ -24596,14 +25260,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "module.market", true }, { "modulex-gmbh.de", true }, { "moe-max.jp", true }, - { "moeali.com", true }, + { "moebel-vergleichen.com", true }, { "moechel.com", true }, + { "moeclue.com", true }, { "moefactory.com", true }, { "moehrke.cc", true }, { "moekes.amsterdam", true }, { "moeking.me", true }, - { "moeli.org", true }, { "moellers.systems", true }, + { "moenew.top", true }, { "moeqing.net", true }, { "moetrack.com", true }, { "moeyoo.net", true }, @@ -24611,6 +25276,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moha-swiss.com", true }, { "mohanmekap.com", true }, { "mohela.com", true }, + { "mohr-maschinenservice.de", true }, { "moin.jp", true }, { "moipourtoit.ch", true }, { "moipourtoit.com", true }, @@ -24629,15 +25295,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mojzis.com", true }, { "mojzis.cz", true }, { "mojzisova.com", true }, + { "mok.pw", true }, { "mokeedev.review", true }, { "mokhtarmial.com", false }, - { "mokken-fabriek.nl", true }, { "mokote.com", true }, { "mokum-organics.com", false }, { "molb.org", true }, { "molecularbiosystems.org", true }, { "molinero.xyz", true }, { "mollaretsmeningitis.org", true }, + { "mollie.com", true }, + { "molokai.org", true }, { "molti.hu", true }, { "molun.net", false }, { "molunerfinn.com", true }, @@ -24679,7 +25347,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moneypark.ch", true }, { "moneytoday.se", true }, { "mongolieenfrance.fr", true }, - { "monique.io", true }, { "moniquedekermadec.com", true }, { "moniquemunhoz.com.br", true }, { "monitman.com", true }, @@ -24711,11 +25378,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "monpermisvoiture.com", true }, { "monpetitforfait.com", true }, { "monpetitmobile.com", true }, + { "monsieurbureau.com", true }, { "monsieursavon.ch", true }, { "monstermashentertainments.co.uk", true }, + { "monsterx.cn", true }, { "montage-kaika.de", false }, { "montagne-tendance.ch", true }, { "montanasky.tv", true }, + { "montanteaesthetics.com", true }, { "montanwerk.de", true }, { "montarfotoaki.com", true }, { "montas.io", true }, @@ -24723,6 +25393,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "montemanik.com", true }, { "montenero.pl", true }, { "montessori.edu.vn", true }, + { "montgomeryfirm.com", true }, { "montgomerysoccer.net", true }, { "montopolis.com", true }, { "montpreveyres.ch", true }, @@ -24740,13 +25411,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moolah.rocks", true }, { "moon.fish", true }, { "moonagic.com", true }, - { "moonagic.io", true }, { "moonbench.xyz", true }, { "moonbot.io", true }, { "moonchart.co.uk", true }, { "moondrop.org", true }, { "moonkin.eu", true }, - { "moonlightcapital.ml", true }, { "moonmelo.com", true }, { "moonraptor.co.uk", true }, { "moonraptor.com", true }, @@ -24771,6 +25440,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moparisthebest.org", true }, { "moparscape.net", true }, { "mopedreifen.de", false }, + { "mopie.de", true }, { "mople71.cz", true }, { "moppeleinhorn.de", true }, { "moppy.org", true }, @@ -24781,22 +25451,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "morbotron.com", true }, { "morchino.ch", true }, { "morchstore.com", true }, + { "mordrum.com", true }, { "more-hikkoshi.com", true }, { "more-terrain.de", true }, { "moreal.co", true }, - { "moreapp.co.uk", true }, - { "morenci.ch", true }, + { "moreniche.com", true }, { "morepablo.com", true }, { "morepay.cn", true }, - { "morepopcorn.co.nz", true }, { "moresw.com", true }, { "morethanautodealers.com", true }, { "morethancode.be", true }, { "morethandigital.info", true }, { "morganino.it", true }, + { "morgansjewelerspv.com", true }, { "morgansleisure.co.uk", true }, { "morgner.com", true }, - { "morhys.com", true }, { "moritz-baestlein.de", true }, { "moritztremmel.de", true }, { "moriz.de", true }, @@ -24826,7 +25495,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mosshi.be", true }, { "mosstier.com", true }, { "mostholynameofjesus.org", true }, - { "mostlikelyto.fail", true }, { "mostlyoverhead.com", true }, { "motd.ch", true }, { "motd.today", true }, @@ -24837,6 +25505,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "motekmedical.com", true }, { "motekmedical.eu", true }, { "motekmedical.nl", true }, + { "motekrysen.com", true }, { "moteksystems.com", true }, { "motezazer.fr", true }, { "mothereff.in", false }, @@ -24856,8 +25525,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "motostorie.blog", false }, { "motovated.co.nz", true }, { "motowilliams.com", true }, + { "motransportinfo.com", true }, { "motstats.co.uk", true }, - { "moucloud.cn", true }, { "moulinaparoles.ca", true }, { "mountain-rock.ru", true }, { "mountainactivitysection.org.uk", true }, @@ -24865,12 +25534,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mountainroseherbs.com", true }, { "mountainspringsrentals.ca", true }, { "mountfarmer.de", true }, - { "mousemessages.com", true }, + { "mousepotato.uk", true }, { "moutiezhaller.com", true }, { "movacare.de", true }, { "move.mil", true }, - { "moveek.com", true }, - { "moveisfit.com.br", true }, + { "moveltix.net", true }, { "movember.com", false }, { "movewellnesslab.com", true }, { "movie-cross.net", true }, @@ -24884,7 +25552,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "movienized.de", true }, { "moviepilot.com", true }, { "moviesetc.net", true }, - { "moviespur.info", false }, { "moviko.nz", true }, { "movil.uno", true }, { "moviltronix.com", true }, @@ -24896,8 +25563,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "moy.cat", true }, { "moyer.pub", true }, { "moylen.eu", true }, - { "moyoo.net", true }, - { "moysovet.info", true }, { "mozartgroup.hu", true }, { "mozektevidi.net", true }, { "mozilla.cz", true }, @@ -24906,32 +25571,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mpac.ca", false }, { "mpc-hc.org", true }, { "mpcompliance.com", true }, - { "mpe.org", true }, { "mpetroff.net", true }, { "mpg-universal.com", true }, - { "mpg.ovh", true }, { "mpgaming.pro", true }, - { "mphoto.at", true }, - { "mpintaamalabanna.it", true }, { "mpkrachtig.nl", true }, + { "mpkshop.com.br", true }, { "mplanetphl.fr", true }, { "mplant.io", true }, { "mplicka.cz", true }, { "mplusm.eu", true }, { "mpnpokertour.com", true }, - { "mpodraza.pl", true }, { "mprsco.eu", true }, { "mpsgarage.com.au", true }, { "mpsoundcraft.com", true }, { "mpu-vorbereitung.com", true }, - { "mpy.ovh", true }, { "mr-anderson.org", true }, { "mr-designer-oman.com", true }, - { "mr-labo.jp", true }, { "mr-nachhilfe.de", true }, { "mr-wolf.nl", false }, - { "mr3.io", true }, - { "mrazek.biz", true }, { "mrbmafrica.com", true }, { "mrbounce.com", true }, { "mrbouncescrazycastles.co.uk", true }, @@ -24945,6 +25602,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mrevolution.eu", true }, { "mrgasfires.co.uk", true }, { "mrgiveaways.com", true }, + { "mrhc.ru", true }, { "mrinalpurohit.in", true }, { "mrjhnsn.com", true }, { "mrjooz.com", true }, @@ -24952,7 +25610,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mrketolocksmith.com", true }, { "mrknee.gr", true }, { "mrkrabat.de", true }, - { "mrmoregame.de", true }, { "mrnh.de", true }, { "mrning.com", true }, { "mrprintables.com", true }, @@ -24967,7 +25624,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mrv.li", true }, { "mrx.one", true }, { "mrxn.net", true }, - { "ms-alternativ.de", true }, { "ms-ch.ch", true }, { "ms-host.fr", true }, { "msa-aesch.ch", true }, @@ -24985,7 +25641,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "msmails.de", true }, { "msno.no", true }, { "msnr.net", true }, - { "msopopop.cn", true }, { "mspsocial.net", true }, { "msquadrat.de", true }, { "msroot.de", true }, @@ -25000,13 +25655,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "msv-limpezas.pt", true }, { "msx.org", true }, { "mszavodumiru.cz", true }, + { "mt-bank.jp", true }, { "mt.search.yahoo.com", false }, { "mt2414.com", true }, + { "mta.fail", true }, { "mta.org.ua", true }, { "mtane0412.com", true }, { "mtasa.com", true }, { "mtasa.hu", true }, + { "mtauburnassociates.com", true }, { "mtb.wtf", true }, + { "mtcq.jp", true }, { "mtd.org", true }, { "mtg-tutor.de", true }, { "mtgeni.us", true }, @@ -25039,13 +25698,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mud-status.de", true }, { "mudbenesov.cz", true }, { "mudcrab.us", false }, - { "mudgezero.one", true }, { "muehlemann.net", true }, - { "muel.io", true }, + { "muelhau.pt", true }, { "muell-weg.de", true }, { "muellapp.com", true }, { "muenchberger.com", true }, - { "muenzubi.de", true }, { "mufibot.net", true }, { "muguayuan.com", true }, { "muh.io", true }, @@ -25081,7 +25738,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "multitek.no", true }, { "multitenantlaravel.com", true }, { "multitheftauto.com", true }, - { "multizone.games", true }, { "multrier.fr", true }, { "mum.ceo", true }, { "mumakil.fi", true }, @@ -25091,11 +25747,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "munch.me", true }, { "munchcorp.com", true }, { "mundoarabe.com.br", true }, + { "mundoconejos.com", true }, { "mundodapoesia.com", true }, { "mundodasmensagens.com", true }, + { "mundodoscarbonos.com.br", true }, + { "mundogamers.top", true }, { "mundokinderland.com.br", true }, { "mundolarraz.es", true }, { "mundomagicotv.com", true }, + { "mundoperros.es", true }, + { "mundotortugas.com", true }, { "mundschenk.at", true }, { "mundtec.com.br", true }, { "munduch.cz", true }, @@ -25110,11 +25771,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "murashun.jp", true }, { "muratore-roma.it", true }, { "murfy.nz", true }, - { "murgi.de", true }, { "murmel.it", false }, { "murof.com.br", true }, { "murray.xyz", true }, { "murraya.cn", true }, + { "murzik.space", true }, { "musa.gallery", true }, { "musaccostore.com", true }, { "muscle-tg.com", true }, @@ -25130,22 +25791,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "music-project.eu", true }, { "music-world.pl", true }, { "music.amazon.com", true }, + { "musica.com", true }, { "musicalive.nl", true }, { "musicall.com", true }, { "musicalschwarzenburg.ch", true }, { "musicapara.net", true }, + { "musicasbr.com.br", true }, { "musicchris.de", true }, { "musicdemons.com", true }, + { "musicfromgod.com", true }, { "musicgamegalaxy.de", true }, { "musician.dating", true }, { "musickhouseleveling.com", true }, { "musicompare.com", true }, { "musicschoolonline.com", true }, + { "musicstudio.pro", true }, { "musicwear.cz", true }, { "musicworkout.de", true }, { "musik-mentaltraining.ch", true }, { "musikverein-elten.de", true }, { "musikzentrale.net", true }, + { "musique2nuit.com", true }, { "musketonhaken.nl", false }, { "muslim.singles", true }, { "musmann.io", true }, @@ -25169,21 +25835,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mutuals.cool", true }, { "mutuelle.fr", true }, { "muurlingoogzorg.nl", true }, - { "muusika.fun", true }, { "muusikoiden.net", true }, { "muwatenraqamy.org", true }, { "muz2u.ru", true }, { "muzeumkomiksu.eu", true }, { "muzhijy.com", false }, { "muzikantine.nl", true }, + { "mv-schnuppertage.de", true }, { "mv-wohnen.de", true }, { "mvandek.nl", true }, { "mvbits.com", true }, { "mvisioncorp.com", true }, + { "mvistatic.com", true }, { "mvno.io", true }, { "mvp-stars.com", true }, { "mw.search.yahoo.com", false }, { "mwainc.org", true }, + { "mwalz.com", true }, { "mware-staging.azurewebsites.net", true }, { "mwavuli.co.ke", true }, { "mwba.org", true }, @@ -25196,9 +25864,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mx.org.ua", true }, { "mx.search.yahoo.com", false }, { "mx5international.com", true }, + { "mxdanggui.org", true }, { "mxihan.xyz", true }, { "mxn8.com", true }, - { "mxp.tw", true }, { "my-aftershave-store.co.uk", true }, { "my-best-wishes.com", true }, { "my-cdn.de", true }, @@ -25208,14 +25876,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "my-dns.co.il", true }, { "my-ebook.es", true }, { "my-floor.com", true }, + { "my-gode.fr", true }, { "my-host.ovh", true }, { "my-hps.de", true }, { "my-ip.work", true }, { "my-new-bikini.de", true }, { "my-nextcloud.at", true }, - { "my-plancha.ch", true }, - { "my-static-demo-808795.c.cdn77.org", true }, - { "my-static-live-808795.c.cdn77.org", true }, { "my-stuff-online.com", true }, { "my.onlime.ch", false }, { "my.usa.gov", false }, @@ -25248,10 +25914,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mybodylife.com", true }, { "mybon.at", false }, { "mybonfire.com", true }, + { "myboothang.com", true }, + { "mybreastcancerjourney.com", true }, + { "mybus.ro", true }, { "mybusiness.wien", true }, { "mycamda.com", true }, { "mycard.moe", true }, { "mycareersfuture.sg", true }, + { "mycarwashers.com", true }, + { "mycc.be", true }, { "mycieokien.info", false }, { "mycinema.pro", true }, { "mycircleworks.com", true }, @@ -25275,6 +25946,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mycuco.it", true }, { "mycustomwriting.com", true }, { "mydarkstar.net", true }, + { "mydatadoneright.eu", true }, { "mydaywebapp.com", true }, { "mydebian.in.ua", true }, { "mydentalplan.gr", true }, @@ -25288,9 +25960,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mydomaindesk.com", true }, { "mydreamlifelab.com", true }, { "mydreamshaadi.in", true }, - { "mydrone.services", true }, { "mydroneservices.ca", true }, { "mydroneservices.com", true }, + { "myeasybooking.de", true }, { "myeberspaecher.com", true }, { "myeffect.today", true }, { "myeisenbahn.de", true }, @@ -25299,7 +25971,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myfantasysportstalk.com", true }, { "myfedloan.org", true }, { "myfirenet.com", true }, - { "myfishpalace.at", true }, { "myfloridadeferredcomp.com", true }, { "myforfaitmobile.com", true }, { "myfreemp3.click", true }, @@ -25309,15 +25980,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mygallery.homelinux.net", true }, { "mygate.at", false }, { "mygedit.com", true }, - { "mygeneral.org", true }, { "mygeotrip.com", true }, + { "mygest.me", true }, { "mygigabitnation.com", true }, { "mygignation.com", true }, { "mygirlfriendshouse.com", true }, + { "mygnmr.com", true }, { "mygoldennetwork.com", true }, { "mygreatjobs.de", true }, { "mygreatlakes.org", true }, - { "mygreenrecipes.com", true }, { "mygretchen.de", true }, { "mygrotto.org", true }, { "mygymer.ch", true }, @@ -25325,6 +25996,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myhealthreviews.com", true }, { "myhollywoodnews.com", true }, { "myhome-24.pl", true }, + { "myhostname.net", true }, { "myhuthwaite.com", true }, { "myimds.com", true }, { "myimmitracker.com", true }, @@ -25333,17 +26005,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myipv4.de", true }, { "myjudo.net", true }, { "myjumparoo.co.uk", true }, - { "myjumpsuit.de", true }, { "myki.co", true }, { "mykontool.de", true }, + { "mykumedir.com", true }, { "mylatestnews.org", true }, { "mylawyer.be", true }, { "myleanfactory.de", true }, + { "mylife360mag.com", true }, { "mylifeabundant.com", true }, { "mylittlechat.ru", true }, { "myliveupdates.com", true }, + { "myloan.hk", true }, { "mylookout.com", false }, { "mylstrom.com", true }, + { "mylucknursinghome.com", true }, { "mymadina.com", true }, { "mymall.co.jp", true }, { "mymarketingcourses.com", true }, @@ -25368,6 +26043,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mynook.info", false }, { "mynortherngarden.com", true }, { "myonline.hu", true }, + { "myonline.store", true }, { "myonlinevehicleinsurance.com", true }, { "myoptumhealthcomplexmedical.com", true }, { "myoptumhealthparentsteps.com", true }, @@ -25377,19 +26053,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myownconference.cloud", true }, { "myownconference.com", true }, { "myownconference.com.ua", true }, - { "myownconference.es", true }, { "myownconference.pl", true }, - { "myownconference.pt", true }, { "myownconference.ru", true }, { "myowndisk.com", true }, { "myowndisk.net", true }, { "myownwebinar.com", true }, { "mypaperdone.com", true }, + { "mypartnernews.com", true }, { "mypartybynoelia.es", true }, { "mypayoffloan.com", true }, { "mypcqq.cc", true }, { "myperfecthome.ca", true }, - { "myperfumecollection.com", true }, { "myperks.in", true }, { "myphotoshopbrushes.com", true }, { "mypillcard.com", true }, @@ -25399,6 +26073,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mypress.mx", true }, { "myprintcard.de", true }, { "myproblog.com", true }, + { "myprotime.eu", true }, { "myproxy.eu.org", true }, { "mypup.nl", true }, { "myrandomtips.com", true }, @@ -25462,18 +26137,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myrewardspoints.com", true }, { "myriadof.com", true }, { "myrig.com", true }, - { "myrig.net", true }, + { "myrnabiondo.com.br", true }, { "myrotvorets.center", true }, { "myrotvorets.news", true }, { "myrp.co", true }, { "mysber.ru", true }, { "myschoolphoto.org", true }, { "myseatime.com", true }, - { "mysecretcase.com", false }, { "mysectools.org", true }, { "myself5.de", true }, - { "myseo.ga", true }, - { "myserv.one", true }, + { "myservicearl.com", true }, { "myseu.cn", true }, { "mysexydate24.com", true }, { "myshirtsize.com", true }, @@ -25488,10 +26161,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "myspicer.com", true }, { "mysqldump-secure.org", true }, { "myssl.com", true }, - { "mystatus24.com", false }, { "mysteriouscode.io", true }, { "mysterydata.com", true }, { "mysterymind.ch", true }, + { "mysterysear.ch", true }, { "mystic-welten.de", true }, { "mystickphysick.com", true }, { "mysticplumes.com", true }, @@ -25514,7 +26187,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mytty.net", true }, { "mytuleap.com", false }, { "mytun.com", true }, - { "mytweeps.com", true }, { "myulog.net", true }, { "myunox.com", true }, { "myupdatestar.com", true }, @@ -25530,6 +26202,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mywari.com", true }, { "mywebmanager.co.uk", true }, { "mywebpanel.eu", true }, + { "mywebpanel.nl", true }, { "myweddingaway.co.uk", true }, { "myweddingreceptionideas.com", true }, { "myworkinfo.com", false }, @@ -25543,11 +26216,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "mza.com", true }, { "mzh.io", true }, { "mziulu.me", false }, + { "mzmtech.com", true }, { "mznet.de", true }, { "mzstatic.cc", true }, { "mzzj.de", true }, { "n-a.date", true }, { "n-design.de", true }, + { "n-linear.org", true }, { "n-m.lu", true }, { "n-man.info", true }, { "n-pix.com", false }, @@ -25556,29 +26231,36 @@ static const nsSTSPreload kSTSPreloadList[] = { { "n0paste.tk", false }, { "n0psled.nl", true }, { "n26.com", true }, + { "n2diving.net", true }, { "n2servers.com", true }, { "n4v.eu", true }, { "n5118.com", true }, { "n6a.net", true }, - { "n8ch.net", true }, { "n8mgt.com", true }, { "n8nvi.com", true }, { "n8solutions.net", true }, + { "n8solutions.us", true }, { "na-school.nl", true }, + { "naahgluck.de", true }, { "naam.me", true }, { "nabaleka.com", true }, { "nabankco.com", true }, { "nabidkamajetku.cz", true }, + { "nabidkydnes.cz", true }, { "nabytek-valmo.cz", true }, { "nacfit.com", true }, { "nachsendeauftrag.net", true }, { "nachsenden.info", true }, { "nachtmuziek.info", true }, { "nacin.com", true }, + { "nacktetatsachen.at", false }, { "nacktwanderfreunde.de", true }, { "nacyklo.cz", true }, + { "nadaquenosepas.com", true }, { "nadejeproninu.cz", true }, { "nadelholzkulturen.de", true }, + { "naders.com", true }, + { "nadiafourcade-photographie.fr", true }, { "nadine-chaudier.net", true }, { "nadsandgams.com", true }, { "nadyaolcer.fr", true }, @@ -25594,6 +26276,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nah.nz", true }, { "nah.re", true }, { "nahura.com", true }, + { "nai-job.jp", true }, { "nailattitude.ch", true }, { "nailchiodo.com", true }, { "nailsalon-aztplus.com", true }, @@ -25605,10 +26288,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "najany.fr", true }, { "najany.nl", true }, { "najany.se", true }, + { "naji-astier.com", true }, + { "nakada4610.com", true }, { "nakalabo.jp", true }, { "nakama.tv", true }, { "nakandya.com", true }, - { "nakanishi-paint.com", true }, { "nakayama.systems", true }, { "nakedalarmclock.me", true }, { "nakedtruthbeauty.com", true }, @@ -25638,16 +26322,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "namu.live", true }, { "namu.moe", true }, { "namu.wiki", true }, - { "namuwikiusercontent.com", true }, { "nanarose.ch", true }, + { "nanch.com", true }, + { "nancytelford.com", true }, { "nandex.org", true }, { "nange.cn", true }, { "nange.co", true }, { "nankiseamansclub.com", true }, { "nannytax.ca", true }, + { "nano.voting", true }, { "nanofy.org", true }, { "nanogi.ga", true }, + { "nanollet.org", true }, { "nanotechnologist.com", true }, + { "nanotechnologysolutions.com.au", true }, { "nanotechtorsion.com", true }, { "nanovolt.nl", true }, { "nanowallet.io", true }, @@ -25672,6 +26360,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "narenderchopra.com", true }, { "narfation.org", true }, { "nargileh.nl", true }, + { "naric.com", true }, + { "narindal.ch", true }, { "narmos.ch", true }, { "naro.se", true }, { "narodsovety.ru", true }, @@ -25684,33 +26374,31 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nasbi.pl", true }, { "nasbnation.com", false }, { "nascio.org", true }, - { "naseco.se", true }, { "nashdistribution.com", true }, { "nashikmatka.com", true }, { "nashira.cz", true }, + { "nashvillebasements.com", true }, { "nashvillelidsurgery.com", true }, { "nashzhou.me", true }, { "nasrsolar.com", true }, - { "nassi.me", true }, { "nastoletni.pl", true }, { "nataldigital.com", true }, { "nataliedawnhanson.com", true }, { "natanaelys.com", false }, { "natation-nsh.com", false }, - { "natatorium.org", true }, { "natchmatch.com", true }, - { "natecraun.net", true }, { "natgeofreshwater.com", true }, { "nathaliebaron.ch", true }, { "nathaliebaroncoaching.ch", true }, { "nathaliedijkxhoorn.com", true }, { "nathaliedijkxhoorn.nl", true }, - { "nathan.io", true }, { "nathanaeldawe.com", true }, { "nathancheek.com", false }, { "nathankonopinski.com", true }, + { "nathanmfarrugia.com", true }, { "nathansmetana.com", true }, { "nathumarket.com.br", true }, + { "nation-contracting.com.hk", true }, { "nationalbank.gov", true }, { "nationalbanknet.gov", true }, { "nationalcentereg.org", true }, @@ -25727,28 +26415,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nativitynj.org", true }, { "nativs.ch", true }, { "natlec.com", true }, - { "natropie.pl", true }, { "natsumihoshino.com", true }, + { "natuerlichabnehmen.ch", true }, { "natur.com", true }, { "natura-sense.com", true }, + { "naturalezafengshui.com", true }, { "naturalfit.co.uk", true }, - { "naturalhealthcures.net", true }, + { "naturalhealthcures.net", false }, { "naturalkitchen.co.uk", true }, { "naturalspacesdomes.com", true }, { "naturaum.de", true }, { "nature-et-bio.fr", true }, - { "nature-shots.net", true }, { "natureflo.net", true }, { "naturesbest.co.uk", true }, { "naturesorganichaven.com", true }, { "natureword.com", true }, { "naturheilpraxis-oida.de", true }, { "naturheilpraxis-p-grote.de", true }, + { "naturline.com", true }, { "naturtint.co.uk", true }, { "natusvita.com.br", true }, + { "natverkstekniker.se", true }, { "naude.co", true }, { "naughty.audio", true }, + { "naughtytoy.co.uk", true }, { "nausicaahotel.it", true }, + { "naut.ca", true }, { "nautiljon.com", true }, { "nautsch.de", true }, { "navarralanparty.org", true }, @@ -25758,13 +26450,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "navient.com", true }, { "navigate-it-services.de", false }, { "navstevnik.sk", true }, + { "navstivime.cz", true }, { "navycs.com", true }, { "nawir.de", true }, { "nayahe.ru", true }, { "nayami64.xyz", true }, { "nayanaas.com", true }, { "nazevfirmy.cz", true }, - { "nazigol.com", true }, { "nazukebanashi.com", true }, { "nazuna.blue", true }, { "nb.zone", true }, @@ -25805,8 +26497,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nba2konline.com", true }, { "nba2konlinex.com", true }, { "nba2kx.com", true }, - { "nba669.com", true }, - { "nba686.com", true }, { "nbad.al", true }, { "nbadancers.com", true }, { "nbade.com", true }, @@ -25832,6 +26522,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nbrain.de", true }, { "nbrii.com", true }, { "nbriresearch.com", true }, + { "nbrown.us", true }, { "nbur.co.uk", true }, { "nc-beautypro.fr", true }, { "nc-formation.fr", true }, @@ -25839,7 +26530,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nc99.co", true }, { "ncamarquee.co.uk", true }, { "ncands.net", true }, - { "ncaq.net", true }, { "ncc-efm.com", true }, { "ncc-efm.org", true }, { "ncc-qualityandsafety.org", true }, @@ -25849,6 +26539,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nchangfong.com", true }, { "nchponline.org", true }, { "ncic.gg", true }, + { "ncloud.freeddns.org", true }, { "ncm-malerbetrieb.de", true }, { "ncsc.gov.uk", true }, { "ncsccs.com", true }, @@ -25867,6 +26558,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ndphp.org", true }, { "ndpigskin.com", true }, { "nds-helicopter.de", true }, + { "ndum.ch", true }, { "ndy.sex", true }, { "ne-on.org", true }, { "nea.gov", true }, @@ -25875,14 +26567,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neartothesky.com", true }, { "neatous.cz", true }, { "neatous.net", true }, + { "neatzy.co.uk", true }, { "neave.tv", true }, { "neba.io", true }, { "nebelhauch.de", true }, { "nebelheim.de", true }, { "nebenbeiblog.ch", true }, { "nebra.io", true }, + { "nebracy.com", true }, { "nebul.at", true }, - { "nebula.exchange", true }, { "nebulae.co", true }, { "nebuluxcapital.com", true }, { "necessaryandproportionate.net", true }, @@ -25891,10 +26584,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "necormansir.com", true }, { "nectarleaf.com", true }, { "nedcdata.org", true }, + { "nederland.media", true }, + { "nederlands-vastgoedfonds.nl", true }, { "nedim-accueil.fr", true }, { "nedlinin.com", true }, { "nedraconsult.ru", true }, - { "nedys.top", true }, { "neecist.org", true }, { "needemand.com", true }, { "needstyle.ru", true }, @@ -25920,12 +26614,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neillans.co.uk", true }, { "neillans.com", true }, { "neilshealthymeals.com", true }, - { "neio.uk", true }, + { "neilwynne.com", true }, { "nejenpneu.cz", true }, { "nejkasy.cz", true }, { "nejlevnejsi-parapety.cz", true }, { "neko-nyan-nuko.com", true }, { "neko-nyan.org", true }, + { "neko.ml", true }, { "nekodex.net", true }, { "nekolove.jp", true }, { "nekomimi.pl", true }, @@ -25935,29 +26630,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nekusoul.de", true }, { "nelhage.com", true }, { "nella-project.org", true }, - { "nella.io", true }, { "nellacms.com", true }, { "nellacms.org", true }, { "nellafw.org", true }, { "nemcd.com", true }, + { "nemecl.eu", true }, { "nemez.net", true }, { "nemo.run", true }, { "nemopan.com", true }, { "nemopret.dk", true }, + { "nemplex.com", true }, + { "nemplex.win", false }, { "nems.no", true }, { "nemumu.com", true }, { "nemunai.re", true }, { "nenkin-kikin.jp", true }, + { "neno.io", true }, { "neo2shyalien.eu", false }, { "neobits.nl", true }, { "neocities.org", true }, { "neoclick.io", true }, - { "neodrive.ch", true }, + { "neodigital.bg", true }, { "neoedresources.org", true }, - { "neoeliteconsulting.com", true }, { "neohu.com", true }, { "neojo.org", true }, - { "neokobe.city", true }, { "neolaudia.es", true }, { "neolink.dk", true }, { "neonataleducationalresources.org", true }, @@ -25968,13 +26664,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neos.co.jp", true }, { "neosdesignstudio.co.uk", true }, { "neostralis.com", true }, - { "neotist.com", true }, - { "neowa.tk", true }, + { "neotiv.com", true }, + { "neowin.net", true }, { "neowlan.net", true }, { "neoxcrf.com", true }, { "neoz.com.br", true }, { "nepageeks.com", true }, { "nepal-evolution.org", true }, + { "nepezzano13.com", true }, { "nephelion.org", true }, { "nephy.jp", true }, { "nepovolenainternetovahazardnihra.cz", true }, @@ -25982,6 +26679,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nepremicnine.click", true }, { "nepremicnine.net", true }, { "nepustil.net", false }, + { "nerdca.st", true }, { "nerdhouse.io", true }, { "nerdmind.de", true }, { "nerdoutstudios.tv", true }, @@ -25994,10 +26692,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nerpa-club.ru", true }, { "nerull7.info", true }, { "nerven.se", false }, + { "nesbase.com", true }, { "nesolabs.com", true }, { "nesolabs.de", true }, { "nestedquotes.ca", true }, - { "nesterov.pw", true }, { "nestor.nu", true }, { "neswec.org.uk", true }, { "net-masters.pl", true }, @@ -26007,7 +26705,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "net4visions.de", true }, { "netamia.com", true }, { "netapps.de", true }, - { "netba.net", true }, { "netbank.com.au", true }, { "netbears.com", true }, { "netbears.ro", true }, @@ -26016,12 +26713,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netbox.org", true }, { "netbrewventures.com", true }, { "netbulls.io", true }, + { "netbuzz.ru", true }, { "netconnect.at", true }, { "netcoolusers.org", true }, { "netdex.co", true }, - { "netducks.com", true }, - { "netducks.space", true }, { "netera.se", true }, + { "neteraser.de", true }, { "netexem.com", true }, { "netfabb.com", true }, { "netflixlife.com", true }, @@ -26038,6 +26735,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netlocal.ru", true }, { "netmagicas.com.br", true }, { "netmeister.org", true }, + { "netnea.com", true }, { "netnik.de", true }, { "netnodes.net", true }, { "netraising.com", false }, @@ -26061,7 +26759,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nettilamppu.fi", true }, { "netto-service.ch", true }, { "nettools.link", true }, - { "nettopower.dk", true }, { "nettoyage.email", true }, { "nettx.co.uk", true }, { "netulo.com", true }, @@ -26081,7 +26778,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "networkingphoenix.com", true }, { "networkmidlands.co.uk", true }, { "networkmidlands.uk", true }, - { "networkmon.net", true }, { "networkposting.com", true }, { "networth.at", true }, { "netz-yokohama.co.jp", true }, @@ -26090,7 +26786,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "netzwerkwerk.de", true }, { "neuber.uno", true }, { "neuflizeobc.net", true }, - { "neuhaus-city.de", true }, { "neurabyte.com", true }, { "neurexcellence.com", true }, { "neurobiology.com", true }, @@ -26103,8 +26798,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neurostimtms.com", true }, { "neurotransmitter.net", true }, { "neurozentrum-zentralschweiz.ch", true }, + { "neutein.com", true }, { "neutralox.com", false }, { "neuwal.com", true }, + { "neva.li", true }, { "never.pet", true }, { "nevergreen.io", true }, { "nevermore.fi", true }, @@ -26123,7 +26820,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "newaccess.ch", true }, { "newbasemedia.us", true }, { "newbietech.cn", false }, - { "newborncryptocoin.com", false }, + { "newborncryptocoin.com", true }, { "newburybouncycastles.co.uk", true }, { "newburyparkelectric.com", true }, { "newburyparkelectrical.com", true }, @@ -26148,16 +26845,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "newknd.com", true }, { "newlifeband.de", true }, { "newmarketbouncycastlehire.co.uk", true }, + { "newmed.com.br", true }, { "newmediaone.net", true }, { "newmelalife.com", true }, { "newmovements.net", true }, { "newmusicjackson.org", true }, { "newodesign.com", true }, - { "newposts.ru", true }, { "newreleases.io", true }, { "news47ell.com", true }, - { "newsa2.com", true }, - { "newserumforskin.com", true }, { "newsmotor.info", true }, { "newspsychology.com", true }, { "newstone-tech.com", true }, @@ -26170,6 +26865,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nexicafiles.com", true }, { "nexril.net", true }, { "next-web.ad.jp", true }, + { "next176.sk", true }, { "next24.io", true }, { "nextads.ch", true }, { "nextbranders.com", true }, @@ -26193,6 +26889,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nextrobotics.de", true }, { "nextstep-labs.gr", true }, { "nexttv.co.il", true }, + { "nextwab.com", true }, { "nexus-exit.de", true }, { "nexus-vienna.at", true }, { "nexusconnectinternational.eu", true }, @@ -26201,12 +26898,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "neyer-lorenz.de", true }, { "nezrouge-est-vaudois.ch", true }, { "nezrouge-geneve.ch", true }, + { "nezvestice.cz", true }, { "nf4.net", true }, { "nf9q.com", true }, + { "nfam.de", true }, { "nfe-elektro.de", true }, { "nfir.nl", true }, { "nfl.dedyn.io", true }, { "nfl.duckdns.org", true }, + { "nflchan.org", true }, { "nflmocks.com", true }, { "nflsic.org", true }, { "nfpors.gov", true }, @@ -26217,6 +26917,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ngasembaru.com", true }, { "ngc.gov", false }, { "nghe.net", true }, + { "ngi.eu", true }, + { "nginxconfig.com", true }, { "nginxconfig.io", true }, { "ngndn.jp", true }, { "ngt.gr", true }, @@ -26225,6 +26927,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ngxpkg.com", true }, { "nhccnews.org", true }, { "nhchalton.com", true }, + { "nhdsilentheroes.org", true }, { "nhgteam.hu", true }, { "nhimf.org", true }, { "nhome.ba", true }, @@ -26263,19 +26966,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nickhitch.co.uk", true }, { "nickloose.de", true }, { "nicklord.com", true }, - { "nickmertin.ca", true }, - { "nickmorri.com", true }, { "nickplotnek.co.uk", true }, { "nickrickard.co.uk", true }, { "nicks-autos.com", true }, { "nickscomputers.nl", true }, { "nickserve.com", true }, { "nickstories.de", true }, + { "nicktheitguy.com", true }, { "niclasreich.de", true }, { "nicn.me", true }, { "nico.st", true }, + { "nicochinese.com", true }, { "nicocourts.com", true }, { "nicoknibbe.nl", true }, + { "nicoladixonrealestate.com", true }, { "nicolajanedesigns.co.uk", true }, { "nicolas-dumermuth.com", true }, { "nicolas-hoffmann.net", true }, @@ -26289,12 +26993,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nicolemathew.com", true }, { "niconico.ooo", true }, { "niconode.com", false }, + { "nicoobook.com", true }, + { "nicoobook.net", true }, { "nicsezcheckfbi.gov", true }, { "nicul.in", true }, { "nidro.de", true }, { "nidsuber.ch", true }, - { "niduxcomercial.com", true }, { "niederohmig.de", true }, + { "niedrigsterpreis.de", true }, { "niehage.name", true }, { "nielshoogenhout.be", true }, { "nielshoogenhout.eu", true }, @@ -26315,6 +27021,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "niess.space", true }, { "niesstar.com", true }, { "nietzsche.com", true }, + { "nieuwsberichten.eu", true }, { "nieuwslagmaat.nl", true }, { "nifc.gov", true }, { "niftiestsoftware.com", true }, @@ -26322,6 +27029,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nigensha.co.jp", true }, { "niggemeier.cc", true }, { "nigger.racing", true }, + { "niggo.eu", true }, { "night2stay.cn", true }, { "night2stay.com", true }, { "night2stay.de", true }, @@ -26333,7 +27041,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nightmoose.org", true }, { "nightsi.de", true }, { "nightstand.io", true }, - { "nigt.cf", true }, { "nihon-no-sake.net", true }, { "nihtek.in", true }, { "nii2.org", true }, @@ -26350,7 +27057,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nikklassen.ca", true }, { "niklas.pw", true }, { "niklasbabel.com", true }, - { "nikolasgrottendieck.com", true }, { "nikomo.fi", false }, { "nikoninframe.co.uk", true }, { "nikonlibrary.co.uk", true }, @@ -26363,6 +27069,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "niles.xyz", true }, { "nilrem.org", true }, { "nimeshjm.com", true }, + { "nimidam.com", true }, { "nina-laaf.de", true }, { "ninaforever.com", true }, { "ninarinaldi.com.br", true }, @@ -26378,16 +27085,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ninfora.com", true }, { "ninja-galerie.de", true }, { "ninja-skillz.com", true }, + { "ninjan.co", true }, + { "ninjaworld.co.uk", true }, { "ninjio.com", true }, { "ninov.de", true }, - { "ninreiei.jp", true }, { "nintendoforum.no", true }, { "ninth.cat", true }, { "ninthfloor.org", true }, { "ninverse.com", true }, { "nipax.cz", true }, + { "nipe-systems.de", true }, { "nipit.biz", true }, { "nippon-oku.com", true }, + { "nippon.fr", true }, { "niqex.com", true }, { "nirjonmela.com", true }, { "nirjonmela.net", true }, @@ -26416,7 +27126,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "njguardtraining.com", true }, { "njilc.com", true }, { "njpjanssen.nl", true }, - { "njujb.com", true }, { "nkapliev.org", true }, { "nkforum.pl", true }, { "nkinka.de", true }, @@ -26426,16 +27135,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nl3ehv.nl", true }, { "nlap.ca", false }, { "nlbewustgezond.nl", true }, + { "nlegall.fr", true }, { "nlfant.eu", true }, { "nllboard.co.uk", true }, { "nlleisure.co.uk", true }, { "nlm.gov", true }, - { "nlrb.gov", true }, { "nlt.by", false }, - { "nmd.so", true }, { "nmmlp.org", true }, { "nmnd.de", true }, { "nmontag.com", true }, + { "nmsinusdoc.com", true }, { "nn.cz", true }, { "nna774.net", true }, { "nnqc.nl", true }, @@ -26455,14 +27164,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nocks.com", true }, { "nocmd.com", true }, { "nocs.cn", true }, - { "nodalr.com", true }, { "nodari.com.ar", true }, { "nodariweb.com.ar", true }, + { "nodecdn.net", true }, { "nodecraft.com", true }, { "nodejs.de", true }, - { "nodelab-it.de", true }, { "nodelia.com", true }, { "nodesec.cc", true }, + { "nodesonic.com", true }, { "nodevops.com", true }, { "noeatnosleep.me", true }, { "noedidacticos.com", true }, @@ -26496,11 +27205,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "noleggio-bagni-chimici.it", true }, { "noma-film.com", true }, { "nomadproject.io", true }, + { "nomagic.software", true }, { "nomenclator.org", true }, { "nomesbiblicos.com", true }, { "nomial.co.uk", true }, { "nomifensine.com", true }, - { "nomoondev.azurewebsites.net", true }, { "nomsy.net", true }, { "nonabytes.xyz", true }, { "noname-ev.de", true }, @@ -26525,10 +27234,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "noovell.com", true }, { "nopaste.xyz", true }, { "nopaynocure.com", true }, + { "norad.sytes.net", true }, { "norbertschneider-music.com", true }, + { "nord-restaurant-bar.de", true }, { "nord-sud.be", true }, { "nordakademie.de", true }, - { "norden.eu.org", true }, + { "nordicess.dk", true }, { "nordicirc.com", true }, { "nordinfo.fi", true }, { "nordlichter-brv.de", true }, @@ -26537,7 +27248,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nordseeblicke.de", true }, { "nordwal.de", true }, { "nordwaldzendo.de", true }, - { "noreply.mx", true }, { "norestfortheweekend.com", true }, { "noret.com", true }, { "norichanmama.com", true }, @@ -26545,17 +27255,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "normaculta.com.br", true }, { "norman-preusser-gmbh.de", true }, { "normanbauer.com", true }, + { "normandgascon.com", true }, { "normankranich.de", true }, { "noroshi-burger.com", true }, - { "norrkemi.se", true }, { "norrliden.de", true }, { "norsewars.com", true }, { "norskpensjon.no", true }, { "northatlantalaw.net", true }, + { "northbridgecre.com", true }, { "northbrisbaneapartments.com.au", true }, { "northconsulting.fr", true }, { "northcountykiaparts.com", true }, { "northcreekresort.com", true }, + { "northcreekresortblue.ca", true }, { "northdakotahealthnetwork.com", true }, { "northdevonbouncycastles.co.uk", true }, { "northeastcdc.org", true }, @@ -26567,18 +27279,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "northernselfstorage.co.za", true }, { "northfieldyarn.com", true }, { "northokanaganbookkeeping.com", true }, + { "northpointoutdoors.com", true }, { "northpole.dance", true }, + { "northpost.is", true }, { "northridgeelectrical.com", true }, { "northumbriagames.co.uk", true }, { "norys-escape.de", true }, { "nos-medias.fr", true }, { "nos-oignons.net", true }, { "noscript.net", true }, + { "noscura.nl", true }, { "nosecrets.ch", true }, { "nosfermiers.com", true }, { "noslite.nl", true }, { "nospoint.cz", true }, - { "nosproduitsdequalite.fr", true }, { "nosqlzoo.net", true }, { "nossasenhora.net", true }, { "nossasenhoradodesterro.com.br", true }, @@ -26600,8 +27314,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "notcompletelycorrect.com", true }, { "notepad.nz", true }, { "noteskeeper.ru", true }, + { "noticaballos.com", true }, { "noticiasdehumor.com", true }, { "notify.moe", true }, + { "notigatos.es", true }, + { "notilus.fr", true }, { "notinglife.com", true }, { "notjustvacs.com", true }, { "notmybox.com", true }, @@ -26610,12 +27327,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "notofilia.com", true }, { "notora.tech", true }, { "notoriousdev.com", true }, - { "notrecourrier.net", true }, + { "nototema.com", true }, { "notsafefor.work", true }, { "nottres.com", true }, { "noudjalink.nl", true }, { "noustique.com", true }, { "nova-dess.ch", true }, + { "nova-it.pl", true }, { "nova-kultura.org", true }, { "nova-wd.org.uk", true }, { "nova.live", true }, @@ -26661,18 +27379,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "npregion.org", true }, { "npsas.org", true }, { "npw.net", true }, - { "nqesh.com", true }, { "nqeshreviewer.com", true }, { "nrd.li", true }, { "nrdstd.io", true }, { "nrev.ch", true }, { "nrkn.fr", true }, { "nrsweb.org", true }, + { "nrvn.cc", false }, { "ns-frontier.com", true }, { "ns2servers.pw", true }, { "nsa.lol", true }, - { "nsa.ovh", true }, - { "nsa.wtf", true }, { "nsapwn.com", true }, { "nsboston.org", true }, { "nsboutique.com", true }, @@ -26688,6 +27404,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nsofficeinteriors.com", true }, { "nsp.ua", true }, { "nst-maroc.com", true }, + { "nstatic.xyz", true }, { "nstd.net", true }, { "nstremsdoerfer.ovh", true }, { "nstrust.co.uk", true }, @@ -26695,7 +27412,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ntags.org", true }, { "ntcoss.org.au", true }, { "nte.email", true }, - { "nth.sh", true }, { "nti.de", true }, { "ntia.gov", true }, { "ntotten.com", true }, @@ -26704,12 +27420,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ntwt.us", true }, { "ntx360grad-fallakte.de", true }, { "ntzwrk.org", true }, - { "nu-pogodi.net", true }, - { "nu3.com", true }, - { "nu3.dk", true }, - { "nu3.fi", true }, - { "nu3.no", true }, - { "nu3.se", true }, { "nu3tion.com", true }, { "nu3tion.cz", true }, { "nuacht.ie", true }, @@ -26744,7 +27454,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "numero1.ch", true }, { "numerologist.com", true }, { "numerossanos.com.ar", true }, - { "numis.tech", true }, { "numismed-seniorcare.de", true }, { "numwave.nl", true }, { "nunesgh.com", true }, @@ -26755,6 +27464,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nuovaelle.it", true }, { "nuquery.com", true }, { "nur.berlin", true }, + { "nureg.club", true }, + { "nureg.net", true }, + { "nureg.xyz", true }, { "nuriacamaras.com", true }, { "nursejj.com", true }, { "nurseone.ca", true }, @@ -26762,13 +27474,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nursingschool.network", true }, { "nuryahan.com.br", true }, { "nussadoclub.org", true }, + { "nut.services", true }, { "nutikell.com", true }, { "nutleyeducationalfoundation.org", true }, { "nutleyef.org", true }, { "nutonic-sports.com", true }, { "nutpanda.com", true }, + { "nutra-creations.com", true }, + { "nutrafitsuplementos.com.br", true }, { "nutri-spec.me", true }, - { "nutricaovegana.com", true }, { "nutriciametabolics-shop.de", true }, { "nutridieta.com", true }, { "nutripedia.gr", true }, @@ -26777,6 +27491,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nutrivisa.com.br", true }, { "nuvechtdal.nl", true }, { "nuvini.com", true }, + { "nuvospineandsports.com", true }, { "nuxer.fr", true }, { "nv.gw", true }, { "nve-qatar.com", true }, @@ -26805,14 +27520,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nyadora.moe", true }, { "nyan.it", true }, { "nyan.stream", true }, - { "nyanco.space", true }, { "nyansparkle.com", true }, { "nyantec.com", true }, { "nybiz.nyc", true }, { "nycoyote.org", true }, { "nydig.com", true }, - { "nydnxs.com", true }, - { "nyghtus.net", true }, + { "nyghtus.net", false }, { "nyhaoyuan.net", true }, { "nyiad.edu", true }, { "nyip.co.uk", true }, @@ -26829,7 +27542,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "nyyu.tk", true }, { "nzb.cat", false }, { "nzbr.de", true }, - { "nzdmo.govt.nz", true }, { "nzstudy.ac.nz", true }, { "nzws.me", true }, { "o-loska.cz", true }, @@ -26843,8 +27555,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "o8b.club", true }, { "oaic.gov.au", true }, { "oakandresin.co", true }, - { "oakesfam.net", true }, - { "oakington.info", true }, + { "oakington.info", false }, { "oaklands.co.za", true }, { "oakparkelectrical.com", true }, { "oakparkexteriorlighting.com", true }, @@ -26854,7 +27565,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oakslighting.co.uk", true }, { "oanalista.com.br", true }, { "oasisdabeleza.com.br", true }, + { "oasisim.net", false }, { "oatmealdome.me", true }, + { "oatycloud.spdns.de", true }, { "oauth-dropins.appspot.com", false }, { "obamalibrary.gov", true }, { "obamawhitehouse.gov", true }, @@ -26864,6 +27577,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "obesidadlavega.com", true }, { "obfuscate.xyz", true }, { "obg-global.com", true }, + { "obgalslancaster.com", true }, { "obitech.de", true }, { "object.earth", true }, { "objectif-terre.ch", true }, @@ -26874,13 +27588,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "obrienswine.ie", true }, { "obs.group", true }, { "obscur.us", true }, + { "observer.name", true }, { "obsessharness.com", true }, { "obsidianirc.net", true }, { "obsproject.com", true }, { "obtima.org", true }, { "obud.cz", true }, + { "obxlistings.com", true }, { "obyvateleceska.cz", true }, { "oc-sa.ch", true }, + { "ocalaflwomenshealth.com", true }, { "ocarupo.com", true }, { "occenterprises.org", true }, { "occentus.net", true }, @@ -26889,6 +27606,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "occupational-therapy-colleges.com", true }, { "ocd2016.com", true }, { "ocdadmin.com", true }, + { "oceancity4sales.com", true }, { "oceandns.eu", true }, { "oceandns.net", true }, { "oceandns.nl", true }, @@ -26905,7 +27623,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ocim.ch", true }, { "ockendenhemming.co.uk", true }, { "oclausen.com", true }, - { "ocloudhost.com", true }, { "ocni-ambulance-most.cz", true }, { "ocolere.ch", true }, { "ocotg.com", true }, @@ -26913,9 +27630,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ocsigroup.fr", true }, { "ocsr.nl", true }, { "octagongroup.co", true }, + { "octal.es", true }, { "octarineparrot.com", true }, { "octav.name", false }, - { "octo.im", true }, + { "octobered.com", true }, { "octocaptcha.com", true }, { "octofox.de", true }, { "octohedralpvp.tk", true }, @@ -26944,6 +27662,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "odvps.com", true }, { "odysseyofthemind.eu", true }, { "odzyskaniedomeny.pl", true }, + { "oe-boston.com", true }, { "oec-music.com", true }, { "oeh.ac.at", true }, { "oeko-bundesfreiwilligendienst-sh.de", true }, @@ -26956,9 +27675,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oemspace.nl", true }, { "oemwolf.com", true }, { "oenings.eu", true }, + { "of2m.fr", true }, { "ofcampuslausanne.ch", true }, { "ofda.gov", true }, { "ofertasadsl.com", true }, + { "ofertino.es", true }, + { "ofertolino.fr", true }, { "offandonagain.org", true }, { "offbyinfinity.com", true }, { "offenekommune.de", true }, @@ -26977,14 +27699,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "officiants.wedding", false }, { "officium.tech", true }, { "offroadeq.com", true }, + { "offroadhoverboard.net", true }, + { "offshoot.ie", true }, { "offshoot.rentals", true }, { "offshore.digital", true }, + { "offshoremarineparts.com", false }, { "ofggolf.com", true }, { "oflow.me", true }, + { "ofsetas.lt", true }, { "oftamedic.com", true }, { "oftn.org", true }, { "oge.ch", true }, - { "ogis.gov", true }, + { "ogkw.de", true }, { "oglen.ca", true }, { "ogocare.com", true }, { "oguya.ch", true }, @@ -27005,8 +27731,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ohsohairy.co.uk", true }, { "ohyooo.com", true }, { "oi-wiki.org", true }, - { "oiaio.cn", true }, - { "oilfieldinjury.attorney", true }, { "oilpaintingsonly.com", true }, { "oirealtor.com", true }, { "oisd.nl", true }, @@ -27018,6 +27742,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ojp.gov", true }, { "okakuro.org", true }, { "okanaganrailtrail.ca", true }, + { "okashi.me", true }, { "okay.cf", true }, { "okay.coffee", true }, { "okburrito.com", true }, @@ -27046,10 +27771,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "olback.net", true }, { "olbat.net", true }, { "olcayanar.com", true }, + { "olcbrookhaven.org", true }, { "oldbrookinflatables.co.uk", true }, { "oldbrookmarqueehire.co.uk", true }, { "oldchaphome.nl", true }, { "oldenglishsheepdog.com.br", true }, + { "older-racer.com", true }, { "oldita.ru", true }, { "oldking.net", true }, { "oldnews.news", true }, @@ -27070,26 +27797,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "olgiati.org", true }, { "olgui.net", true }, { "olgun.eu", true }, - { "olightstore.com", true }, + { "olhcparish.net", true }, { "olightstore.ro", true }, - { "oliode.tk", true }, { "oliveoil.bot", true }, { "oliveoilschool.org", true }, { "oliveoiltest.com", true }, { "oliveoiltimes.com", true }, { "oliveraiedelabastideblanche.fr", true }, { "oliverclausen.com", true }, + { "oliverdunk.com", false }, { "oliverfaircliff.com", true }, { "olivernaraki.com", true }, { "oliverniebuhr.de", true }, + { "oliverschmid.space", true }, { "oliverspringer.eu", true }, + { "oliverst.com", true }, { "olivierberardphotographe.com", true }, { "olivierlemoal.fr", true }, { "olivierpieters.be", true }, { "oliviervaillancourt.com", true }, { "olizeite.ch", true }, { "ollie.io", true }, - { "ollieowlsblog.com", true }, { "ollies.cloud", true }, { "ollies.cz", true }, { "olliespage.com", true }, @@ -27098,7 +27826,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ollning.com", true }, { "olltechjob.com", true }, { "olmari.fi", true }, + { "olmc-nutley.org", true }, + { "olmcnewark.com", true }, { "olmsted.io", true }, + { "olomercy.com", true }, + { "olphseaside.org", true }, + { "olqoa.org", true }, + { "olsh-hilltown.com", true }, + { "olsonproperties.com", true }, { "olygazoo.com", true }, { "olymp-arts.world", true }, { "olympeakgaming.tv", true }, @@ -27107,6 +27842,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "om1.com", true }, { "omanko.porn", true }, { "omar.yt", true }, + { "omarh.net", true }, { "omdesign.cz", true }, { "omegahosting.net", true }, { "omegathermoproducts.nl", true }, @@ -27118,15 +27854,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "omfg.exposed", true }, { "omgbouncycastlehire.co.uk", true }, { "omi-news.fr", true }, + { "omicron3069.com", true }, { "omitech.co.uk", true }, { "omlmetal.co.jp", true }, { "omniaclubs.com", true }, { "omniasig.ro", true }, + { "omniasl.com", true }, { "omniatv.com", true }, { "omnibot.tv", true }, { "omnisafira.com", true }, { "omniscimus.net", false }, - { "omnisiens.se", true }, { "omnisky.dk", true }, { "omnitrack.org", true }, { "omniverse.ru", true }, @@ -27135,8 +27872,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "omoteura.com", true }, { "omranic.com", true }, { "omronwellness.com", true }, - { "omsdieppe.fr", true }, { "on-tech.co.uk", true }, + { "on.tax", true }, { "ona.io", true }, { "onaboat.se", true }, { "onahonavi.com", true }, @@ -27152,7 +27889,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onderwijstransparant.nl", true }, { "ondevamosjantar.com", true }, { "ondrej.org", true }, - { "ondrejhoralek.cz", true }, + { "ondrejbudin.cz", true }, { "one---line.com", true }, { "one-resource.com", true }, { "one-s.co.jp", true }, @@ -27175,10 +27912,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oneidentity.me", true }, { "oneiroi.co.uk", true }, { "onemid.net", true }, - { "oneminute.io", false }, { "onemoonmedia.de", true }, { "oneononeonone.de", true }, { "oneononeonone.tv", true }, + { "onepercentrentals.com", true }, { "onepointsafeband.ca", true }, { "onepointsafeband.com", true }, { "onepointzero.com", true }, @@ -27197,16 +27934,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oneweb.hu", true }, { "onfarma.it", true }, { "ongea.io", true }, + { "ongiaenegogoa.com", true }, { "onhistory.co.uk", true }, { "onhub1.com", true }, { "oni.nl", true }, { "onice.ch", true }, { "onionbot.me", true }, + { "onionplay.net", true }, { "onionplay.org", true }, { "onionscan.org", true }, { "oniria.ch", true }, { "onix.eu.com", true }, { "onixcco.com.br", true }, + { "onkentessegertdij.hu", true }, { "onlfait.ch", true }, { "online-bouwmaterialen.nl", true }, { "online-calculator.com", true }, @@ -27214,7 +27954,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "online-consulting-corp.fr", true }, { "online-eikaiwa-guide.com", true }, { "online-health-insurance.com", true }, - { "online-horoskop.ch", true }, { "online-lernprogramme.de", true }, { "online-pr.at", true }, { "online-results.dk", true }, @@ -27224,7 +27963,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "online-textil.sk", true }, { "online.marketing", true }, { "online.net.gr", true }, - { "online.swedbank.se", true }, { "online24.pt", true }, { "onlinebizdirect.com", false }, { "onlinecasino.vlaanderen", true }, @@ -27232,11 +27970,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onlinecollegeessay.com", true }, { "onlinefashion.it", true }, { "onlinehashfollow.com", true }, - { "onlineinfographic.com", true }, { "onlinekmc.com", true }, { "onlinelegalmarketing.com", true }, { "onlinelegalmedia.com", true }, { "onlinelighting.com.au", true }, + { "onlinemarketingmuscle.com", true }, { "onlinemarketingtraining.co.uk", true }, { "onlinepokerspelen.be", true }, { "onlineporno.xyz", true }, @@ -27245,17 +27983,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "onlinestoreninjas.com", true }, { "onlinetextil.cz", true }, { "onlineth.com", false }, - { "onlineweblearning.com", true }, { "onlinexl.nl", true }, - { "onlyesb.com", true }, - { "onlyesb.net", true }, { "onlylebanon.net", true }, { "onmaps.de", true }, { "onmarketbookbuilds.com", true }, { "onnaguse.com", true }, - { "onoranze-funebri.biz", true }, { "onpay.io", true }, - { "onpermit.net", true }, { "onqproductions.com", true }, { "onrr.gov", true }, { "ons.ca", true }, @@ -27270,6 +28003,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ontsnappingskamer.nl", true }, { "onurer.net", true }, { "onvey.io", true }, + { "onviga.de", true }, { "onvirt.de", true }, { "onvori.com", true }, { "onvori.de", true }, @@ -27285,10 +28019,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ooharttemplates.com", true }, { "ooonja.de", true }, { "oopsis.com", true }, - { "oosoo.org", true }, { "ooyo.be", true }, { "op11.co.uk", false }, - { "opadaily.com", true }, { "opalesurfcasting.net", true }, { "oparl.org", true }, { "opcenter.de", true }, @@ -27296,7 +28028,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "open-banking-access.uk", true }, { "open-bs.com", true }, { "open-bs.ru", true }, - { "open-desk.org", true }, { "open-domotics.info", true }, { "open-freax.fr", true }, { "open-gaming.net", true }, @@ -27310,7 +28041,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "openbayes.com", true }, { "openbeecloud.com", true }, { "openblox.org", true }, - { "openbsd.id", true }, { "opencad.io", true }, { "opencircuit.nl", true }, { "openclima.com", true }, @@ -27360,6 +28090,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "openwifi.gr", true }, { "openwireless.org", true }, { "operationforever.com", true }, + { "opexterminating.com", true }, { "opfin.com", true }, { "ophis-phosphoros.com", true }, { "opiates.ca", true }, @@ -27371,10 +28102,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oplop.appspot.com", true }, { "opoleo.com", false }, { "oportho.com.br", true }, + { "oposiciones.com.es", true }, + { "oposicionesapolicialocal.es", true }, + { "oposicionescorreos.com.es", true }, + { "oposicionescorreos.es", true }, + { "oposicionescorreos.info", true }, + { "oposicionesdejusticia.org", true }, + { "oposicionesertzaintza.com.es", true }, + { "oposicionesycursos.com", true }, + { "oppada.com", true }, { "oppaiti.me", true }, { "oppejoud.ee", true }, { "opportunis.me", true }, { "opportunity.de", true }, + { "oppositionsecurity.com", true }, { "oppwa.com", true }, { "opq.pw", true }, { "oprbox.com", true }, @@ -27402,13 +28143,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "optimumwebdesigns.com", true }, { "optimus.io", true }, { "optimuscrime.net", true }, - { "optisure.de", true }, { "optm.us", true }, { "optmos.at", true }, { "optometryscotland.org.uk", true }, { "optoutday.de", true }, - { "opure.ml", true }, - { "opure.ru", true }, { "opus-codium.fr", true }, { "oraculum.cz", true }, { "orang-utans.com", true }, @@ -27418,8 +28156,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orangejetpack.com", true }, { "orangenbaum.at", true }, { "orangenuts.in", true }, - { "orangetravel.eu", true }, { "orangutan-appeal.org.uk", true }, + { "orbital3.com", true }, { "orbu.net", true }, { "orca.pet", true }, { "orcamoney.com", true }, @@ -27431,6 +28169,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orderessay.net", true }, { "ordernow.at", true }, { "orderswift.com", true }, + { "ordoro.com", true }, { "ordr.mobi", true }, { "oreshinya.xyz", true }, { "oreskylaw.com", true }, @@ -27449,8 +28188,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "oribia.net", true }, { "orientalart.nl", true }, { "orientravelmacas.com", true }, + { "oriflameszepsegkozpont.hu", true }, { "origami.to", true }, { "origamika.com", true }, + { "original-christstollen.com", true }, + { "original-christstollen.de", true }, { "originalniknihy.cz", true }, { "origincoffee.com", true }, { "origincoffee.nz", true }, @@ -27473,38 +28215,41 @@ static const nsSTSPreload kSTSPreloadList[] = { { "orovillelaw.com", true }, { "orro.ro", true }, { "orrs.de", true }, + { "orthocop.cz", true }, { "orthodontiste-geneve-docteur-rioux.com", true }, { "orthograph.ch", true }, { "orthotictransfers.com", true }, { "ortlepp.eu", true }, + { "oruggt.is", true }, { "orum.in", true }, { "orwell1984.today", true }, { "oryva.com", true }, + { "orz.uno", true }, { "os-chrome.ru", true }, { "os-s.net", true }, { "os-t.de", true }, { "os24.cz", true }, { "osacrypt.studio", true }, - { "osaka-onakura.com", true }, { "osakeannit.fi", true }, { "osao.org", true }, { "osbi.pl", true }, { "osborn.io", true }, { "osborneinn.com", true }, { "osburn.com", true }, - { "oscamp.eu", true }, { "oscarvk.ch", true }, - { "oscloud.com", true }, { "osepideasthatwork.org", true }, + { "osereso.tn", true }, { "oses.mobi", true }, { "oshayr.com", true }, { "oshell.me", true }, { "oshershalom.com", true }, { "oshrc.gov", true }, { "osielnava.com", true }, + { "osirisrp.online", true }, { "oskrba.net", true }, { "oskuro.net", true }, { "osla.org", true }, + { "oslinux.net", true }, { "osm.is", true }, { "osmanlitorunu.com", true }, { "osmosis.org", true }, @@ -27513,9 +28258,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "osobliwydom.pl", true }, { "osomjournal.org", true }, { "ospf.sk", true }, + { "osprecos.com.br", true }, + { "osprecos.pt", true }, { "ospree.me", true }, { "ostan-collections.net", true }, { "osterkraenzchen.de", true }, + { "ostgotamusiken.se", true }, { "osti.gov", true }, { "ostimwebyazilim.com", true }, { "ostr.io", true }, @@ -27533,9 +28281,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "otellio.com", true }, { "otellio.de", true }, { "otellio.it", true }, + { "other98.com", true }, { "oticasaopaulo.com.br", true }, { "oticasvisao.net.br", true }, - { "otmo7.com", true }, { "otoblok.com", true }, { "otokiralama.name.tr", true }, { "otorrino.pt", true }, @@ -27545,7 +28293,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "otr.ie", true }, { "otrm.de", true }, { "otsfreestyle.jp", true }, - { "otsu.beer", true }, + { "ottoproject.io", false }, { "ottoversand.at", true }, { "otus-magnum.com", true }, { "otvaracie-hodiny.sk", true }, @@ -27557,6 +28305,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ouimoove.com", true }, { "ouin.land", true }, { "oulunjujutsu.com", true }, + { "ouowo.gq", true }, { "our-box.net", true }, { "ourai.ws", true }, { "ourcloud.at", true }, @@ -27568,7 +28317,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ourladyqueenofmartyrs.org", true }, { "ourls.win", true }, { "ourmaster.org", true }, - { "ouruglyfood.com", true }, { "ourwedding.xyz", true }, { "ourworldindata.org", true }, { "out-of-scope.de", true }, @@ -27595,21 +28343,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "outline.ski", true }, { "outlines.xyz", true }, { "outlookonthedesktop.com", true }, + { "outplnr.fr", true }, { "outpostinfo.com", true }, { "outsideconnections.com", true }, { "outsiders.paris", true }, - { "ovabag.com", true }, { "ovelhaostra.com", true }, { "overalglas.nl", true }, { "overamsteluitgevers.nl", true }, + { "overceny.cz", true }, { "overclockers.ge", true }, { "overdrive-usedcars.be", true }, { "overkillshop.com", true }, - { "overseamusic.de", true }, { "oversight.garden", true }, { "oversight.gov", true }, { "overstap.deals", true }, - { "overstappen.nl", true }, { "overstemmen.nl", true }, { "overstockpromote.com", true }, { "overthecloud.it", true }, @@ -27622,19 +28369,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ovirt.org", true }, { "ovix.co", true }, { "ovnrain.com", true }, + { "ovpn.to", true }, { "ovvy.net", false }, - { "owall.ml", true }, { "owapi.net", true }, { "owennelson.co.uk", true }, + { "owensordinarymd.com", true }, { "owid.cloud", true }, - { "owl-hakkei.com", true }, { "owl-square.com", true }, { "owl-stat.ch", true }, { "owl.net", true }, { "owlandrabbitgallery.com", true }, { "owlishmedia.com", true }, { "own3d.ch", true }, - { "ownc.at", true }, { "owncloud.ch", true }, { "ownmay.com", true }, { "oxborrow.ca", true }, @@ -27660,7 +28406,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "p-s-b.com", true }, { "p-t.io", true }, { "p.ki", true }, - { "p1984.nl", false }, { "p1cn.com", true }, { "p1ratrulezzz.me", true }, { "p22.co", true }, @@ -27671,15 +28416,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pa.search.yahoo.com", false }, { "paarberatung-hn.de", true }, { "paardenhulp.nl", true }, + { "paardensportbak.nl", true }, { "paas-inf.net", true }, { "paass.net", true }, { "paazmaya.fi", true }, - { "pablofain.com", true }, + { "pablo.im", true }, + { "pablo.scot", true }, + { "pablo.sh", true }, + { "pabloarteaga.co.uk", true }, + { "pabloarteaga.com", true }, + { "pabloarteaga.com.es", true }, + { "pabloarteaga.es", true }, + { "pabloarteaga.eu", true }, + { "pabloarteaga.info", true }, + { "pabloarteaga.me", true }, + { "pabloarteaga.net", true }, + { "pabloarteaga.nom.es", true }, + { "pabloarteaga.org", true }, + { "pabloarteaga.science", true }, + { "pabloarteaga.tech", true }, + { "pabloarteaga.uk", true }, + { "pabloarteaga.xyz", true }, { "pabuzo.vn", true }, + { "pacaom.com", true }, { "pacatlantic.com", true }, { "pacco.com.br", true }, { "paccolat.name", true }, { "pace.car", true }, + { "paceda.nl", true }, { "pacelink.de", true }, { "pacifco.com", true }, { "pacificcashforcars.com.au", true }, @@ -27693,6 +28457,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pack-haus.de", true }, { "packagefactory.dk", true }, { "packagingproject.management", true }, + { "packagist.jp", true }, { "packagist.org", false }, { "packaware.com", true }, { "packetdigital.com", true }, @@ -27715,6 +28480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pagalworld.co", true }, { "pagalworld.com", true }, { "pagalworld.info", true }, + { "pagalworld.io", true }, { "pagalworld.la", true }, { "pagalworld.me", true }, { "pagalworld.org", true }, @@ -27724,7 +28490,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pagedesignpro.com", true }, { "pagedesignweb.com", true }, { "pagefulloflies.io", true }, - { "pageperform.com", true }, { "pagewizz.com", true }, { "pagiamtzis.com", true }, { "pagina.com.mx", true }, @@ -27739,6 +28504,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "painefamily.co.uk", true }, { "painlessproperty.co.uk", true }, { "paint-it.pink", true }, + { "paintball-ljubljana.si", true }, { "paintball-shop.sk", true }, { "paintcolorsbysue.com", true }, { "paintingindurban.co.za", true }, @@ -27749,9 +28515,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paketo.sk", true }, { "paketwatch.de", false }, { "pakho.xyz", true }, + { "pakingas.lt", true }, { "pakistani.dating", true }, { "pakitow.fr", true }, { "pakke.de", true }, + { "pakowanie-polska.pl", true }, + { "pakroyalpress.com", true }, { "paktolos.net", true }, { "palabr.as", true }, { "palapadev.com", true }, @@ -27762,12 +28531,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "palavatv.com", true }, { "palazzo.link", true }, { "palazzo.work", true }, + { "paleoself.com", true }, { "paleotraining.com", true }, { "palestra.roma.it", true }, { "palladium46.com", true }, { "pallas.in", true }, { "palletflow.com", true }, { "palli.ch", true }, + { "palmaprop.com", true }, { "palmavile.us", true }, { "palmaville.com", true }, { "palmen-apotheke.de", true }, @@ -27786,6 +28557,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "panascais.site", true }, { "panascais.tech", true }, { "panascais.us", true }, + { "panasproducciones.com", true }, { "panaxis.biz", true }, { "panaxis.ch", true }, { "panaxis.li", true }, @@ -27797,12 +28569,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pandymic.com", true }, { "paneldewelopera.pl", true }, { "paneu.de", true }, + { "panhandlemenshealth.com", true }, { "panic.tk", true }, { "panier-legumes.bio", true }, { "paniyanovska.ua", true }, { "panj.ws", true }, - { "panjee.com", true }, - { "panjee.fr", true }, + { "panjiva.com", true }, { "panmetro.com", true }, { "panoma.de", true }, { "panomizer.de", true }, @@ -27823,6 +28595,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pants-off.xyz", true }, { "panzer72.ru", true }, { "panzerscreen.dk", true }, + { "pao.ge", true }, { "pap.la", false }, { "papa-webzeit.de", true }, { "papadopoulos.me", true }, @@ -27835,6 +28608,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paper-driver.biz", true }, { "paper-republic.org", true }, { "paper.sc", true }, + { "paperhoney.by", true }, { "paperlesssolutionsltd.com.ng", true }, { "papertracker.net", true }, { "paperturn.com", true }, @@ -27847,9 +28621,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paprikas.fr", true }, { "paraborsa.net", true }, { "parachute70.com", true }, + { "paracomer.es", true }, { "paradais-sphynx.com", true }, { "paradependentesquimicos.com.br", true }, - { "paradigi.com.br", true }, { "paradise-engineer.com", true }, { "paradise-engineering.com", true }, { "paradise-travel.net", true }, @@ -27861,6 +28635,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paranoidcrypto.com", true }, { "paranoidmode.com", true }, { "paranoidpenguin.net", true }, + { "paranormalweirdo.com", true }, + { "paranoxer.hu", true }, { "parasitologyclub.org", true }, { "paratlan.hu", true }, { "paratxt.org", true }, @@ -27872,8 +28648,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parentheseardenne.be", true }, { "parentinterview.com", true }, { "parentsintouch.co.uk", true }, - { "pariga.co.uk", true }, { "paris-store.com", true }, + { "parisackerman.com", true }, { "parisbloom.com", true }, { "parisderriere.fr", true }, { "parisescortgirls.com", true }, @@ -27892,12 +28668,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parkwayminyan.org", true }, { "parlamento.gub.uy", true }, { "parleamonluc.fr", true }, - { "parleu2016.nl", true }, { "parmels.com.br", true }, { "parnassys.net", true }, { "parodesigns.com", true }, { "parolu.io", true }, - { "parquet-lascazes.fr", true }, { "parquettista.milano.it", true }, { "parquettista.roma.it", true }, { "parroquiasanrafaeldegramalote.com", true }, @@ -27905,6 +28679,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "parsemail.org", true }, { "parser.nu", true }, { "parsonsfamilyhomes.com", true }, + { "parteaga.com", true }, + { "parteaga.net", true }, { "partecipa.tn.it", true }, { "parthkolekar.me", true }, { "partijhandel.website", true }, @@ -27946,7 +28722,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pasarella.eu", true }, { "pascal-bourhis.com", true }, { "pascal-bourhis.net", true }, - { "pascal-kannchen.de", true }, { "pascal-wittmann.de", true }, { "pascaline-jouis.fr", true }, { "pascalleguern.com", true }, @@ -27968,9 +28743,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "passionatefoodie.co.uk", true }, { "passionatehorsemanship.com", true }, { "passionatelife.com.au", true }, + { "passionbyd.com", true }, { "passionebenessere.com", true }, { "passionpictures.eu", true }, { "passions-art.com", true }, + { "passover-fun.com", true }, { "passphrase.today", true }, { "passport.yandex.by", true }, { "passport.yandex.com", true }, @@ -28003,6 +28780,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paste.gg", true }, { "paste.to", true }, { "pastebin.co.za", true }, + { "pastebin.tw", true }, { "pasteblin.com", true }, { "pasternok.org", true }, { "pasticcerialorenzetti.com", true }, @@ -28010,7 +28788,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pastorbelgagroenendael.com.br", true }, { "pastordocaucaso.com.br", true }, { "pastormaremanoabruzes.com.br", true }, - { "pastorsuico.com.br", true }, { "pasztor.at", true }, { "patapwn.com", true }, { "patatbesteld.nl", true }, @@ -28025,15 +28802,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pathwaystoresilience.org", true }, { "patika-biztositas.hu", true }, { "patikabiztositas.hu", true }, + { "patineteselectricosbaratos.net", true }, { "patouille-et-gribouille.fr", true }, { "patric-lenhart.de", true }, { "patrick-othmer.de", true }, { "patrick-robrecht.de", true }, + { "patrick.my-gateway.de", true }, + { "patrick21.ch", true }, { "patrickaudley.ca", true }, { "patrickaudley.com", true }, { "patrickbrosi.de", true }, + { "patrickhoefler.net", true }, { "patricklynch.xyz", true }, - { "patrickmcnamara.xyz", true }, { "patrikgarten.de", true }, { "patriksima.cz", true }, { "patriksimek.cz", true }, @@ -28050,23 +28830,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paudley.com", true }, { "paudley.org", true }, { "paul-barton.co.uk", true }, - { "paul-bronski.de", true }, { "paul.reviews", true }, { "pauladamsmith.com", true }, { "paulbakaus.com", true }, { "paulbdelaat.nl", true }, { "paulbramhall.uk", true }, + { "paulchen.at", true }, { "paulcooper.me.uk", true }, { "pauldev.co", true }, { "paulerhof.com", true }, - { "paulewen.ca", true }, + { "paulgerberrealtors.com", true }, { "paulinewesterman.nl", true }, { "paulmeier.com", false }, { "paulomonteiro.pt", true }, { "paulov.com", true }, { "paulov.info", true }, { "paulov.ru", true }, - { "paulpetersen.dk", true }, { "paulrobertlloyd.com", true }, { "paulrotter.de", true }, { "paulschreiber.com", true }, @@ -28090,12 +28869,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pawel-international.com", true }, { "pawelnazaruk.com", true }, { "pawelurbanek.com", true }, - { "pawfriends.org.za", true }, { "pawsomebox.co.uk", true }, { "pawsr.us", true }, { "paxerahealth.com", true }, + { "pay-online.in", true }, { "pay.gov", true }, - { "pay8522.com", true }, { "paybook.co.tz", true }, { "payboy.biz", true }, { "payboy.rocks", true }, @@ -28121,7 +28899,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "paysbuy.net", true }, { "paysera.com", true }, { "payslipview.com", true }, - { "payssaintgilles.fr", true }, + { "payssaintgilles.fr", false }, { "paystack.com", true }, { "paytm.in", true }, { "paytonmoledor.com", true }, @@ -28131,15 +28909,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pback.se", true }, { "pbosquet.com", true }, { "pbourhis.me", true }, - { "pbqs.site", true }, { "pbr.so", true }, { "pbraunschdash.com", true }, - { "pbreen.co.uk", true }, { "pbrumby.com", true }, { "pbz.im", true }, { "pc-rescue.me", false }, { "pc-servis-brno.com", true }, - { "pcbricole.fr", true }, { "pccentral.nl", true }, { "pcdocjim.com", true }, { "pcel.com", true }, @@ -28161,6 +28936,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pcnotdienst-oldenburg-rastede.de", true }, { "pcreparatiehardenberg.nl", true }, { "pcrypt.org", true }, + { "pcs2.gr", true }, { "pcsetting.com", true }, { "pctonic.net", true }, { "pctrouble.net", true }, @@ -28173,6 +28949,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pdfresizer.com", true }, { "pdfsearch.org", true }, { "pdfsearches.com", true }, + { "pdkrawczyk.com", true }, { "pdox.net", true }, { "pdragt.com", true }, { "pdthings.net", true }, @@ -28182,6 +28959,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "peaceispossible.cc", true }, { "peaceloveandlabor.com", true }, { "peak-careers.com", true }, + { "peakhomeloan.com", true }, { "peaksloth.com", true }, { "peanutbase.org", true }, { "peanutproductionsnyc.com", true }, @@ -28195,11 +28973,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pebbles.net.in", true }, { "pecker-johnson.com", true }, { "peda.net", true }, + { "peddock.com", true }, { "peddy.dyndns.org", true }, { "pedicurean.nl", true }, { "pedicureduiven.nl", true }, { "pedidamanosevilla.com", true }, + { "pedidosfarma.com.br", true }, { "pedikura-vitu.cz", true }, + { "pedimanie.cz", true }, { "pedimoda.com.br", true }, { "pedro.com.es", true }, { "pedrosaurus.com", true }, @@ -28243,6 +29024,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "peifi.de", false }, { "peippo.at", true }, { "peka.pw", true }, + { "pekarstvivetvrzi.cz", true }, { "pekkapleppanen.fi", true }, { "pekoe.se", true }, { "pelanucto.cz", true }, @@ -28260,6 +29042,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "penetrationstest.se", true }, { "penfold.fr", true }, { "pengi.me", true }, + { "penguinbits.net", true }, { "penguindrum.moe", true }, { "penguinprotocols.com", true }, { "penispumpen.se", true }, @@ -28289,7 +29072,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pepeelektro.sk", true }, { "pepemodelismo.com.br", true }, { "peperstraat.online", true }, + { "pepgrid.net", true }, { "peplog.nl", true }, + { "pepme.net", true }, + { "pepstaff.net", true }, { "pepwaterproofing.com", true }, { "pequenosfavoritos.com.br", false }, { "per-olsson.se", true }, @@ -28308,22 +29094,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "perfectcloud.org", true }, { "perfectoparty.co.uk", true }, { "perfectsnap.co.uk", true }, + { "perfectstreaming.systems", true }, { "perfektesgewicht.com", true }, { "perfektesgewicht.de", true }, - { "performancehealth.com", true }, + { "performancehealth.com", false }, { "performing-art-schools.com", true }, { "perfumeaz.com", true }, { "perfumes.com.br", true }, + { "periodic-drinking.com", true }, { "periscope.tv", true }, { "perishablepress.com", true }, { "perm-avia.ru", true }, - { "perm-jur.ch", true }, - { "perm-juridique.ch", true }, { "perm4.com", true }, { "permajackofstlouis.com", true }, - { "permanence-juridique.com", true }, - { "permanencejuridique-ge.ch", true }, - { "permanencejuridique.com", true }, { "permeance108.com", true }, { "permiscoderoute.fr", true }, { "permistheorique.be", true }, @@ -28334,8 +29117,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "perrau.lt", true }, { "perroquet-passion.ch", true }, { "persephone.gr", true }, + { "persocloud.org", true }, { "personal-genome.com", true }, - { "personal-injury-attorney.co", true }, { "personaltrainer-senti.de", true }, { "perspectivum.com", true }, { "perspektivwechsel-coaching.de", true }, @@ -28351,6 +29134,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pestici.de", true }, { "pestkill.info", true }, { "pet-hotel-mura.net", true }, + { "pet-life.top", true }, + { "pet-tekk.co.uk", true }, { "petabits.de", true }, { "petalkr.com", true }, { "petbooking.it", true }, @@ -28360,16 +29145,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "petelew.is", true }, { "peter.org.ua", true }, { "peterandjoelle.co.uk", true }, + { "peterbarrett.ca", true }, { "peterboers.info", true }, { "peterborgapps.com", true }, { "peterbruceharvey.com", true }, { "peterdavehello.org", true }, { "peterfiorella.com", true }, + { "peterhons.com.au", true }, { "peterhuetz.at", true }, { "peterhuetz.com", true }, { "peterjin.org", true }, { "peterjohnson.io", true }, - { "peterkshultz.com", false }, { "peterlew.is", true }, { "petermaar.com", true }, { "petersontoscano.com", true }, @@ -28388,13 +29174,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "petpost.co.nz", false }, { "petpower.eu", true }, { "petr.as", true }, + { "petrachuk.ru", true }, { "petrasestakova.cz", true }, { "petravdbos.nl", true }, { "petresort.pt", true }, { "petroleum-schools.com", true }, { "petroscand.eu", true }, { "petrostathis.com", true }, - { "petrotranz.com", true }, { "petrpikora.com", true }, { "petrucciresidential.com", true }, { "petruzz.net", true }, @@ -28405,14 +29191,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pewnews.org", true }, { "pex.digital", true }, { "peyote.com", true }, - { "pf.dk", true }, { "pfa.or.jp", true }, { "pfadfinder-aurich.de", true }, - { "pfadfinder-grossauheim.de", true }, { "pfarchimedes-pensioen123.nl", true }, { "pfarre-kremsmuenster.at", true }, { "pfcafeen.dk", true }, { "pfd-nz.com", false }, + { "pfefferkuchen-shop.de", true }, + { "pfefferkuchenprinzessin-dresden.de", true }, { "pferdekauf.de", true }, { "pfeuffer-elektro.de", true }, { "pfft.net", true }, @@ -28421,10 +29207,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pflanzen-shop.ch", true }, { "pflanzenshop-emsland.de", true }, { "pflegesalon-siebke.de", true }, + { "pflug.email", true }, { "pfmeasure.com", true }, - { "pfo.io", true }, { "pfotentour-berlin.de", true }, - { "pfrost.me", true }, { "pfudor.tk", true }, { "pg-forum.de", true }, { "pg-mana.net", true }, @@ -28443,8 +29228,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pharma-display.com", true }, { "pharmaabsoluta.com.br", true }, { "pharmaboard.de", true }, - { "pharmaboard.org", true }, - { "pharmacie-fr.org", false }, + { "pharmacie-fr.org", true }, { "pharmacieplusfm.ch", true }, { "pharmafoto.ch", true }, { "pharmaphoto.ch", true }, @@ -28459,22 +29243,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phasersec.com", false }, { "phasme-2016.com", true }, { "phattea.tk", true }, + { "phaux.uno", true }, { "phcimages.com", true }, + { "phcnetworks.net", true }, { "phcorner.net", true }, { "phdhub.it", true }, + { "phellowseven.com", true }, { "phelx.de", true }, { "phenixairsoft.com", true }, + { "phenq.com", true }, { "phget.com", true }, + { "phhtc.ir", true }, { "phi-works.com", true }, { "phialo.de", true }, { "phil-dirt.com", true }, { "phil-phillies.com", true }, + { "phil.red", true }, { "phil.tw", true }, { "philadelphia.com.mx", true }, { "phileas-psychiatrie.be", true }, { "philia-sa.com", true }, { "philipdb.com", true }, - { "philipkohn.com", true }, + { "philipdb.nl", true }, { "philipp-trulson.de", true }, { "philipp-winkler.de", true }, { "philipp1994.de", true }, @@ -28489,6 +29279,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "philipssupportforum.com", true }, { "philipzhan.tk", true }, { "phillipgoldfarb.com", true }, + { "phillipsdistribution.com", true }, { "phillyinjurylawyer.com", true }, { "philna.sh", true }, { "philosoftware.com.br", true }, @@ -28505,8 +29296,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phishing-studie.org", true }, { "phishingusertraining.com", true }, { "phligence.com", true }, - { "phocean.net", true }, + { "phoenics.de", true }, { "phoenixlogan.com", true }, + { "phoenixurbanspaces.com", true }, { "phone-service-center.de", true }, { "phonix-company.fr", true }, { "phormance.com", true }, @@ -28514,7 +29306,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phosagro.com", false }, { "phosagro.ru", false }, { "phosphene.io", true }, - { "photek.fm", true }, { "photistic.org", true }, { "photo-livesearch.com", true }, { "photo-paysage.com", true }, @@ -28525,10 +29316,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "photographe-reims.com", true }, { "photographersdaydream.com", true }, { "photography-workshops.net", true }, - { "photolium.net", true }, + { "photolium.net", false }, { "photomodelcasting.com", true }, - { "photon.sh", true }, - { "photosquare.com.tw", true }, { "phototravel.uk", true }, { "phototrio.com", true }, { "phoxmeh.com", true }, @@ -28542,10 +29331,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "phpkari.cz", true }, { "phpliteadmin.org", true }, { "phpmyadmin.net", true }, + { "phpower.com", true }, { "phpprime.com", true }, { "phpsecure.info", true }, + { "phpstan.org", true }, { "phpunit.de", true }, - { "phra.gs", true }, { "phrive.space", true }, { "phryanjr.com", false }, { "phuket-idc.com", true }, @@ -28557,7 +29347,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "physicalism.com", true }, { "physicalist.com", true }, { "physicaltherapist.com", false }, - { "physicpezeshki.com", true }, { "physics-schools.com", true }, { "physiotherapie-seiwald.de", true }, { "physiovesenaz.ch", true }, @@ -28602,7 +29391,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pidjipi.com", true }, { "pie-express.xxx", true }, { "pieces-or.com", true }, - { "pieinsurance.com", true }, { "piekacz.eu.org", true }, { "piekacz.net", true }, { "piekacz.tel", true }, @@ -28618,16 +29406,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pierre-schmitz.com", true }, { "pierrefv.com", true }, { "pierreprinetti.com", true }, + { "pierrickdeniel.fr", true }, { "pietechsf.com", true }, { "pieterbos.nl", true }, { "pieterhordijk.com", true }, { "pietermaene.be", false }, { "pietz.uk", true }, - { "pigritia.de", true }, { "pigs.pictures", true }, { "pijuice.com", true }, { "pik.bzh", true }, { "pikeitservices.com.au", true }, + { "pikimusic.moe", true }, { "pilani.ch", true }, { "pilarguineagil.com", true }, { "pilatescenteraz.com", true }, @@ -28640,6 +29429,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pilotgrowth.com", true }, { "pilsoncontracting.com", true }, { "pilvin.pl", true }, + { "pimg136.com", true }, { "pimhaarsma.nl", true }, { "pimhaarsmamedia.nl", true }, { "pimpmyperf.fr", true }, @@ -28649,6 +29439,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pindanutjes.be", false }, { "pinemountainnursery.com.au", true }, { "pinemountbaptistchurch.org", true }, + { "pinetopazrealestate.com", true }, { "pingworks.com", true }, { "pingworks.de", true }, { "pingworks.eu", true }, @@ -28665,6 +29456,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinkwalk.co.nz", true }, { "pinkyf.com", false }, { "pinkylam.me", true }, + { "pinnacle-tex.com", true }, { "pinnacleallergy.net", true }, { "pinnaclelife.co.nz", true }, { "pinnaclelife.nz", true }, @@ -28675,7 +29467,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinoytech.ph", true }, { "pinpayments.com", true }, { "pinpointengineer.co.uk", true }, - { "pinscher.com.br", true }, { "pinskupakki.fi", true }, { "pinterest.at", true }, { "pinterest.co.uk", true }, @@ -28685,17 +29476,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pinterest.ie", true }, { "pinterest.info", true }, { "pinterest.jp", true }, - { "pintosbeeremovals.co.za", true }, + { "pinterjann.is", true }, { "pintosplumbing.co.za", true }, { "pioneer-car.eu", true }, { "pioneer-rus.ru", true }, - { "pipenny.net", true }, + { "pipfrosch.com", true }, { "pipocao.com", true }, - { "piranil.com", true }, { "pirate.trade", true }, { "piratebayproxy.tf", true }, { "piraten-basel.ch", true }, { "piraten-bv-nord.de", true }, + { "pirateparty.org.uk", true }, { "pirateproxy.cam", true }, { "pirateproxy.cat", true }, { "pirateproxy.cc", true }, @@ -28730,6 +29521,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pitfire.io", true }, { "pitot-rs.org", true }, { "pittmantraffic.co.uk", true }, + { "piubip.com.br", true }, { "pivniraj.com", true }, { "pivotaltracker.com", true }, { "pivotanimation.org", true }, @@ -28745,26 +29537,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pixelfou.com", true }, { "pixelminers.net", true }, { "pixelpirat.ch", true }, - { "pixelrain.info", true }, { "pixelsquared.us", true }, { "pixelurbia.com", true }, { "pixelution.at", true }, { "pixelz.cc", true }, { "pixiv.cat", true }, { "pixiv.moe", true }, - { "pixivimg.me", true }, + { "pixiv.rip", true }, { "pixlfox.com", true }, { "pixloc.fr", true }, { "pizza-show.fr", true }, { "pizzabesteld.nl", true }, { "pizzabottle.com", false }, - { "pizzacook.ch", true }, { "pizzafest.ddns.net", true }, - { "pizzafunny.com.br", true }, { "pizzagigant.hu", true }, { "pizzahut.ru", true }, { "pizzalongaway.it", true }, - { "pizzamc.eu", true }, { "pizzeria-mehrhoog.de", true }, { "pizzeriaamadeus.hr", true }, { "pizzeriacolore.com", true }, @@ -28781,10 +29569,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pkisolutions.com", true }, { "pkov.cz", true }, { "pkphotobooths.co.uk", true }, + { "pkrank.com", true }, + { "pksps.com", true }, { "pl-cours.ch", true }, { "pl.search.yahoo.com", false }, { "placasonline.com.br", true }, - { "placassinal.com.br", true }, { "placebet.pro", true }, { "placedaffiliate.com", true }, { "placedapps.com", true }, @@ -28809,7 +29598,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "planetanim.fr", true }, { "planetasuboficial.com.br", true }, { "planetau2.com", true }, - { "planetbeauty.com", true }, { "planetbreath.ch", true }, { "planete-cocoon.com", false }, { "planete-lira.fr", true }, @@ -28819,7 +29607,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "planetofthegames.tv", true }, { "planetromeofoundation.org", true }, { "planetsoftware.com.au", true }, - { "planformation.com", true }, { "planify.io", true }, { "planitz.com", true }, { "planitz.net", true }, @@ -28829,12 +29616,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "planmemberpartners.com", true }, { "plannedlink.com", true }, { "planningexcellence.com.au", true }, - { "planolowcarb.com", true }, { "plant-gift.jp", true }, { "plantarum.com.br", true }, { "plantastique.ch", true }, { "plantastique.com", true }, { "planteforum.no", true }, + { "plantekno.com", true }, { "plantes.ch", true }, { "plantezcheznous.com", true }, { "plantrustler.com", true }, @@ -28843,11 +29630,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "planview.com", true }, { "plaque-funeraire.fr", true }, { "plassmann.ws", true }, - { "plasticsurgeryartist.com", true }, - { "plasticsurgerynola.com", true }, - { "plasticsurgeryservices.com", true }, - { "plastiflex.it", true }, { "plastovelehatko.cz", true }, + { "plateformecandidature.com", true }, { "platformadmin.com", true }, { "platinumexpress.com.ar", true }, { "platomania.nl", true }, @@ -28861,12 +29645,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "play.google.com", true }, { "playanka.com", true }, { "playawaycastles.co.uk", true }, + { "playcollect.net", true }, { "playdaysparties.co.uk", true }, { "playerdb.co", true }, + { "players2gather.com", true }, { "playerscout.net", true }, { "playform.cloud", true }, { "playhappywheelsunblocked.com", true }, - { "playkinder.com", true }, { "playnation.io", true }, { "playocean.net", true }, { "playpirates.com", true }, @@ -28881,7 +29666,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plazasummerlin.com", true }, { "pld-entertainment.co.uk", true }, { "pldx.org", true }, - { "pleaseuseansnisupportedbrowser.ml", true }, { "pleasure-science.com", true }, { "plegro.com", true }, { "pleiades.com.tr", true }, @@ -28892,9 +29676,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plesse.pl", true }, { "plexa.de", true }, { "plexhome13.ddns.net", true }, - { "plexi.dyndns.tv", true }, { "plexmark.tk", true }, { "plextv.de", true }, + { "plicca.com", true }, { "pliosoft.com", true }, { "plissee-experte.de", true }, { "plitu.de", true }, @@ -28926,6 +29710,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "plumlocosoft.com", true }, { "plumnet.ch", true }, { "plumpie.net", false }, + { "plumplat.com", true }, { "plur.com.au", true }, { "plural.cafe", true }, { "plurr.me", true }, @@ -28959,7 +29744,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pmarques.info", true }, { "pmartin.tech", true }, { "pmbc.org", true }, - { "pmbtf.com", true }, { "pmconference.ch", true }, { "pmf.gov", true }, { "pmg-offshore-company.com", true }, @@ -28970,7 +29754,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pmnaish.co.uk", true }, { "pmoreau.org", true }, { "pmp-art.com", true }, - { "pmponline.de", true }, { "pmsacorp.com", true }, { "pmsf.eu", true }, { "pmsfdev.com", true }, @@ -28981,20 +29764,99 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pneu01.fr", true }, { "pneu74.fr", true }, { "pneuhaus-lemp.ch", true }, - { "pneumonline.be", true }, { "pnimmobilier.ch", true }, { "pnmhomecheckup.com", true }, + { "pnoec.org.do", true }, { "pnona.cz", true }, { "pnsc.is", true }, { "pnut.io", false }, { "po.net", true }, { "poba.fr", true }, - { "pocakking.tk", true }, + { "poc.xn--fiqs8s", true }, + { "poc060.com", true }, + { "poc080.com", true }, + { "poc100.com", true }, + { "poc109.com", true }, + { "poc11.com", true }, + { "poc116.com", true }, + { "poc118.com", true }, + { "poc119.com", true }, + { "poc120.com", true }, + { "poc128.com", true }, + { "poc13.com", true }, + { "poc15.com", true }, + { "poc16.com", true }, + { "poc17.com", true }, + { "poc18.com", true }, + { "poc19.com", true }, + { "poc21.com", true }, + { "poc211.com", true }, + { "poc22.com", true }, + { "poc226.com", true }, + { "poc228.com", true }, + { "poc23.com", true }, + { "poc25.com", true }, + { "poc26.com", true }, + { "poc261.com", true }, + { "poc262.com", true }, + { "poc27.com", true }, + { "poc290.com", true }, + { "poc298.com", true }, + { "poc31.com", true }, + { "poc32.com", true }, + { "poc33.com", true }, + { "poc35.com", true }, + { "poc36.com", true }, + { "poc37.com", true }, + { "poc38.com", true }, + { "poc51.com", true }, + { "poc518.com", true }, + { "poc52.com", true }, + { "poc53.com", true }, + { "poc55.com", true }, + { "poc56.com", true }, + { "poc568.com", true }, + { "poc57.com", true }, + { "poc58.com", true }, + { "poc586.com", true }, + { "poc588.com", true }, + { "poc59.com", true }, + { "poc601.com", true }, + { "poc618.com", true }, + { "poc63.com", true }, + { "poc65.com", true }, + { "poc66.com", true }, + { "poc67.com", true }, + { "poc68.com", true }, + { "poc69.com", true }, + { "poc699.com", true }, + { "poc7.com", true }, + { "poc718.com", true }, + { "poc72.com", true }, + { "poc75.com", true }, + { "poc76.com", true }, + { "poc77.com", true }, + { "poc78.com", true }, + { "poc79.com", true }, + { "poc8.com", true }, + { "poc816.com", true }, + { "poc86.com", true }, + { "poc88.com", true }, + { "poc88.vip", true }, + { "poc888.com", true }, + { "poc89.com", true }, + { "poc899.com", true }, + { "poc916.com", true }, + { "poc918.com", true }, + { "poc98.com", true }, + { "poc99.com", true }, { "pocatellonissanparts.com", true }, { "pochaneko.com", true }, { "pocitacezababku.cz", true }, { "pocketfruity.com", true }, { "pocketinsure.com", true }, + { "pocpok.com", true }, + { "pocqipai.com", true }, { "podemos.info", true }, { "podia.com.gr", false }, { "podroof.com", true }, @@ -29003,7 +29865,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poe.digital", true }, { "poed.net.au", true }, { "poedgirl.com", true }, - { "poeg.cz", true }, { "poezja.com.pl", true }, { "poezjagala.pl", true }, { "poffenhouse.ddns.net", true }, @@ -29020,7 +29881,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poiru.net", true }, { "poitiers-ttacc-86.eu.org", true }, { "pojer.me", true }, - { "pokalsocial.de", true }, { "pokazy-iluzji.pl", true }, { "pokefarm.com", true }, { "pokeinthe.io", true }, @@ -29050,7 +29910,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "polis812.ru", true }, { "polish-dictionary.com", true }, { "polish-flag.com", true }, - { "polish-translations.com", true }, { "polish-translator.com", true }, { "polish-translator.net", true }, { "polish-translators.net", true }, @@ -29074,18 +29933,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pollingplace.uk", true }, { "polly.spdns.org", true }, { "poloniainfo.com", true }, - { "poloniex.co.za", true }, { "polska-robota.com.ua", true }, { "polskiemalzenstwo.org", true }, { "poly-fast.com", true }, { "polycraftual.co.uk", true }, - { "polyfill.io", true }, { "polyfluoroltd.com", false }, { "polygamer.net", true }, { "polygraphi.ae", true }, { "polymake.org", true }, { "polymathematician.com", true }, - { "polymorph.rs", true }, { "polynomapp.com", true }, { "polypane.rocks", true }, { "polypet.com.sg", true }, @@ -29104,22 +29960,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "poncho-bedrucken.de", true }, { "ponere.dz", true }, { "poneypourtous.com", true }, + { "poneytelecom.org", true }, { "ponga.se", true }, + { "ponio.xyz", true }, { "pony-cl.co.jp", true }, { "pony.tf", true }, { "ponychan.net", true }, { "ponycyclepals.co.uk", true }, { "ponydesignclub.nl", true }, { "ponyfoo.com", true }, - { "ponzi.life", true }, { "poodleassassin.com", true }, { "poodlefan.net", true }, { "pookl.com", true }, + { "poolsafely.gov", true }, + { "poolsafety.gov", true }, { "poolspondsandwaterscapes.com", true }, + { "pooltools.net", true }, { "poolvilla-margarita.net", false }, { "poon.io", true }, { "poopjournal.rocks", true }, { "poopr.ru", true }, + { "poorclarepa.org", true }, { "pop-corn.ro", true }, { "pop3.jp", true }, { "popcat.ru", true }, @@ -29137,8 +29998,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "porg.es", true }, { "pork.org.uk", true }, { "porkel.de", true }, + { "pornagent.de", true }, { "pornbay.eu", true }, - { "porncandi.com", true }, { "porndragon.net", true }, { "pornfacefinder.com", false }, { "pornflare.net", true }, @@ -29149,14 +30010,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pornmega.net", true }, { "pornofilmovi.us", true }, { "pornomens.be", true }, + { "pornovk.xxx", true }, { "pornshop.biz", true }, { "pornspider.to", true }, { "pornstop.net", true }, { "pornsuper.net", true }, { "porny.xyz", true }, - { "porpcr.com", true }, { "pors-sw.cz", true }, - { "port.im", true }, { "port443.hamburg", true }, { "port443.se", true }, { "port67.org", true }, @@ -29165,11 +30025,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "portablespeakersfinder.com", true }, { "portailevangelique.ca", true }, { "portal.tirol.gv.at", true }, - { "portalcarapicuiba.com", true }, { "portalcarriers.com", true }, { "portalcentric.net", true }, { "portalkla.com.br", true }, { "portamiinpista.it", true }, + { "portatiles-baratos.net", true }, { "porte.roma.it", true }, { "portercup.com", true }, { "porterranchelectrical.com", true }, @@ -29196,13 +30056,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "posijson.stream", true }, { "positionus.io", true }, { "positive.com.cy", true }, - { "positivenames.net", true }, { "posobota.cz", true }, { "posoiu.net", true }, { "post-darwinian.com", true }, { "post-darwinism.com", true }, { "post.com.ar", true }, { "post.io", true }, + { "post4me.at", true }, { "postal.dk", true }, { "postal3.es", true }, { "postblue.info", true }, @@ -29211,7 +30071,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "postcodewise.co.uk", true }, { "postdarwinian.com", true }, { "postdarwinism.com", true }, - { "postdeck.de", true }, { "posteo.de", false }, { "posterspy.com", true }, { "postfalls-naturopathic.com", true }, @@ -29228,7 +30087,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "potature.rimini.it", true }, { "potature.roma.it", true }, { "potentialproject.com", false }, - { "potenzprobleme-info.net", true }, + { "poterepersonale.it", true }, { "pothe.com", true }, { "pothe.de", true }, { "potolok.am", true }, @@ -29241,15 +30100,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "potzwonen.nl", true }, { "poudlard.fr", true }, { "poundwholesale.co.uk", true }, - { "pour-la-culture-aulnay.fr", true }, { "pourlesenfants.info", true }, { "pouwels-oss.nl", true }, { "povareschka.ru", true }, + { "povertymind.com", true }, { "povesham.tk", true }, { "pow-s.com", true }, { "pow.jp", true }, + { "powdersnow.top", true }, { "powelljones.co.uk", true }, - { "power-coonies.de", true }, { "power-fit.org", true }, { "power-flowengineer.com", true }, { "power-meter.cc", true }, @@ -29257,7 +30116,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "powerball.shop", true }, { "powerblanket.com", true }, { "powercloud.technology", true }, - { "powerdent.net.br", true }, { "poweredbyiris.nl", true }, { "poweredbypurdy.com", true }, { "powerfortunes.com", true }, @@ -29271,8 +30129,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "powersergdatasystems.com", true }, { "powersergholdings.com", true }, { "powersergthisisthetunnelfuckyouscott.com", true }, + { "powersergthisisthewebsitefuckyouchris.com", true }, { "powersergthisisthewebsitefuckyouscott.com", true }, - { "powersergusercontent.com", true }, { "powerwellness-korecki.de", true }, { "pozemedicale.org", true }, { "pozlife.net", true }, @@ -29285,9 +30143,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ppmathis.ch", true }, { "ppmathis.com", true }, { "ppmoon.com", true }, - { "ppoozl.com", true }, { "ppro.com", true }, { "pptavmdata.org", true }, + { "ppy.la", true }, { "ppy.sh", true }, { "pr.search.yahoo.com", false }, { "pr1sm.com", true }, @@ -29304,6 +30162,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prado.it", true }, { "praeparation-keppner.de", true }, { "praerien-racing.com", true }, + { "praetzlich-hamburg.de", true }, { "prague-swim.cz", true }, { "praguepsychology.com", true }, { "praguepsychology.cz", true }, @@ -29322,24 +30181,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "praxis-familienglueck.de", true }, { "praxis-odermath.de", true }, { "prayerrequest.com", true }, - { "prazynka.pl", true }, { "prc-newmedia.com", true }, { "prc.gov", true }, + { "pre-lean-consulting.de", true }, { "precept.uk.com", true }, + { "preciosde.es", true }, { "preciouslife.fr", true }, { "preciscx.com", true }, { "preciseassemblies.com", true }, { "precision.st", true }, { "precisiondigital-llc.com", true }, { "precisionmachineservice.com", true }, + { "precisionventures.com", true }, { "precode.eu", true }, { "predoiu.ro", true }, + { "preferredreverse.com", true }, { "prefix.eu", true }, - { "pregono.com", true }, { "pregunteleakaren.gov", true }, { "preigu.de", true }, { "preis-alarm.info", true }, { "preis-alarm.org", true }, + { "preisser-it.de", true }, + { "preisser.it", true }, { "preissler.co.uk", true }, { "preload.link", true }, { "preloaded-hsts.badssl.com", true }, @@ -29365,21 +30228,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "premiumwebdesign.it", true }, { "premtech.nl", true }, { "prenatalgeboortekaartjes.nl", true }, + { "prepadefi.fr", true }, { "prepaid-cards.xyz", true }, { "prepaid-voip.nl", true }, { "prepaidkredietkaart.be", true }, { "prepare-job-hunting.com", true }, + { "prepavesale.fr", true }, { "presbee.com", true }, { "presbvm.org", true }, { "presbyterian-colleges.com", true }, { "prescotonline.co.uk", true }, { "present-m.com", true }, + { "presentationmedia.com", true }, + { "preserveourhillcountry.org", true }, { "president.bg", true }, { "presidio.gov", true }, { "prespanok.sk", true }, - { "press-presse.ca", true }, { "pressakey.com", true }, { "presscenter.jp", true }, + { "presscuozzo.com", true }, { "pressertech.com", true }, { "presses.ch", true }, { "presskr.com", true }, @@ -29402,21 +30269,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prettynode.com", true }, { "pretzelx.com", true }, { "prevenir.ch", true }, + { "preventshare.com", true }, { "preview-it-now.com", true }, { "priceremoval.net", true }, { "pricesniffer.co", true }, - { "prideindomination.com", true }, { "pridetechdesign.com", false }, { "prielwurmjaeger.de", true }, { "prihatno.my.id", true }, - { "primaconsulting.net", true }, { "primalbase.com", true }, { "primalinea.pro", true }, { "primates.com", true }, - { "primewho.org", true }, + { "primeequityproperties.com", true }, { "primoloyalty.com", true }, { "primorus.lt", true }, - { "primotilesandbathrooms.co.uk", false }, + { "princeofwhales.com", true }, { "princesparktouch.com", true }, { "princessefoulard.com", true }, { "principalsexam.com", true }, @@ -29431,8 +30297,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "princovi.cz", true }, { "prinice.org", true }, { "printeknologies.com", true }, + { "printerinktoutlet.nl", true }, { "printerleasing.be", true }, - { "printexpress.cloud", true }, + { "printertonerkopen.nl", true }, { "printf.de", true }, { "printfn.com", false }, { "printler.com", true }, @@ -29463,8 +30330,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prismacloud.com", true }, { "prismacloud.green", true }, { "prismacloud.xyz", true }, + { "prismapayments.com", true }, { "pristal.eu", true }, { "pristinegreenlandscaping.com", true }, + { "pritalk.com", true }, { "priv.im", true }, { "privacy-week-vienna.at", true }, { "privacy-week.at", true }, @@ -29474,6 +30343,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "privacychick.io", true }, { "privacyforjournalists.org.au", true }, { "privacyinternational.org", true }, + { "privacynow.eu", true }, { "privacyscore.org", true }, { "privacyweek.at", true }, { "privacyweek.de", true }, @@ -29493,7 +30363,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "privatewolke.com", true }, { "privatfrei.de", true }, { "privatpatient-krankenhaus.de", true }, - { "privcloud.cc", true }, { "privea.fr", true }, { "privelust.nl", true }, { "priverify.com", true }, @@ -29506,20 +30375,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "prnav.com", true }, { "pro-ben.sk", true }, { "pro-bike.ro", true }, - { "pro-esb.com", true }, - { "pro-esb.net", true }, { "pro-link.eu", true }, { "pro-mile.pl", true }, { "pro-netz.de", false }, { "pro-taucher.com", true }, { "pro-taucher.de", true }, { "pro-wiert.pl", true }, + { "proactivestructuresolutions.com", true }, { "proadvanced.com", true }, { "proautorepairs.com.au", true }, { "probase.ph", true }, { "probely.com", true }, { "probiv.biz", true }, { "probiv.cc", true }, + { "procar-rheinland.de", true }, { "procarservices.com", true }, { "procensus.com", true }, { "procert.ch", true }, @@ -29527,7 +30396,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "procharter.com", true }, { "procinorte.net", true }, { "proclib.org", true }, - { "procrastinatingengineer.co.uk", true }, { "procrastinationland.com", true }, { "procreditbank-kos.com", true }, { "procreditbank.com.al", true }, @@ -29557,8 +30425,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proeftuinveenweiden.nl", true }, { "proemployeeprotection.com", true }, { "proemployeeprotection.net", true }, - { "proesb.com", true }, - { "proesb.net", true }, { "prof.ch", true }, { "profection.biz", true }, { "professional.cleaning", true }, @@ -29598,24 +30464,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "project86fashion.com", true }, { "projectarmy.net", false }, { "projectblackbook.us", true }, - { "projectborealisgitlab.site", false }, + { "projectborealisgitlab.site", true }, { "projectforge.org", true }, + { "projectgrimoire.com", true }, { "projectlinuseasttn.org", true }, { "projectnom.com", true }, { "projectsafechildhood.gov", true }, { "projectsecretidentity.com", true }, { "projectsecretidentity.org", true }, - { "projectunity.io", true }, + { "projectxyz.eu", true }, { "projektarbeit-projektplanung.de", true }, + { "projektzentrisch.de", true }, { "projest.ch", true }, - { "projet-fly.ch", true }, - { "prok.pw", true }, { "prolan.pw", true }, { "prolearningcentre.com", true }, { "prolinos.de", true }, { "promedyczny.pl", true }, { "prometheanfire.net", true }, { "prometheanfire.org", true }, + { "promiflash.de", true }, { "promisesaplus.com", true }, { "promo-brille.at", true }, { "promo-brille.ch", true }, @@ -29641,9 +30508,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proos.nl", true }, { "proovn.com", true }, { "propagandablog.de", true }, - { "propagandism.org", true }, { "propagationtools.com", true }, - { "propepper.net", true }, { "properchels.com", true }, { "propermatches.com", true }, { "properticons.com", true }, @@ -29651,19 +30516,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "propertygroup.pl", true }, { "propertyinside.id", true }, { "propertyone.mk", true }, - { "prophiler.de", true }, { "propipesystem.com", true }, { "proposalonline.com", true }, { "propr.no", true }, { "proprietairesmaisons.fr", true }, { "propseller.com", true }, { "proseandleprechauns.com", true }, - { "prosharp.com.au", true }, { "prospanek.cz", true }, + { "prospecto.com.au", true }, + { "prospecto.ee", true }, + { "prospecto.hr", true }, + { "prospecto.lt", true }, { "prosperfit.com", true }, { "prosperontheweb.com", true }, { "prospo.co", true }, - { "prostoporno.sexy", true }, + { "prostoporno.vip", true }, { "prostye-recepty.com", true }, { "prosurveillancegear.com", true }, { "prot.ch", false }, @@ -29675,6 +30542,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "protege.moi", true }, { "protegetudescanso.com", true }, { "protein-riegel-test.de", true }, + { "protempore.fr", true }, { "proteogenix-products.com", true }, { "proteogenix.science", true }, { "proteus-eretes.nl", true }, @@ -29691,6 +30559,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proustmedia.de", false }, { "provectus.de", true }, { "proveits.me", false }, + { "provence-appartements.com", true }, { "providencecmc.com", true }, { "providerlijst.com", true }, { "providerlijst.ml", true }, @@ -29710,6 +30579,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "proxybay.one", true }, { "proxybay.tv", true }, { "proxyportal.eu", true }, + { "proyectafengshui.com", true }, { "prpferrara.it", true }, { "prplz.io", true }, { "prt.in.th", true }, @@ -29745,6 +30615,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "psdsuc.com", true }, { "pself.net", true }, { "pseta.ru", true }, + { "psg-calw.de", true }, { "psg.bg", true }, { "pshostpk.com", true }, { "psici.eu", true }, @@ -29762,7 +30633,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pssgcsim.org", true }, { "pst.moe", true }, { "pste.pw", true }, - { "pstrozniak.com", true }, { "psu.je", true }, { "psw-consulting.de", true }, { "psw-group.de", true }, @@ -29778,7 +30648,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "psycho.space", true }, { "psychoactive.com", true }, { "psychoco.net", false }, - { "psychologie-hofner.at", true }, { "psychotherapie-kp.de", true }, { "psycolleges.com", true }, { "psydix.org", true }, @@ -29799,11 +30668,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pthsec.com", true }, { "ptm.ro", false }, { "ptmarquees.ie", true }, + { "ptr.kr", true }, { "ptrbrs.nl", true }, { "ptrl.ws", true }, { "ptron.org", true }, { "pty.gg", true }, { "puac.de", true }, + { "pubclub.com", true }, { "pubean.com", true }, { "pubi.me", true }, { "publanda.nl", true }, @@ -29815,27 +30686,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "publicinquiry.eu", true }, { "publicintegrity.org", true }, { "publicintelligence.net", true }, - { "publick.net", true }, { "publicrea.com", true }, { "publicsuffix.org", true }, { "publiq.space", true }, - { "pubmire.com", true }, + { "pubmire.com", false }, { "pubreview.com.au", true }, { "pubreviews.com", true }, { "pucchi.net", true }, { "pucssa.org", true }, { "puddis.de", true }, + { "puestifiestas.mx", true }, + { "puestosdeferia.mx", true }, { "puggan.se", true }, { "pugovka72.ru", true }, { "puhka.me", true }, { "puissancemac.ch", true }, { "pukfalkenberg.dk", true }, - { "puli.com.br", true }, { "pulizieuffici.milano.it", true }, { "pulpproject.org", true }, { "pulser.stream", true }, + { "pulsnitzer-lebkuchen-shop.de", true }, + { "pulsnitzer-lebkuchen.shop", true }, + { "pulsnitzer-pfefferkuchen-shop.de", true }, + { "pulsnitzer-pfefferkuchen.shop", true }, { "pumperszene.com", true }, + { "punchlinetheatre.co.uk", true }, + { "punchunique.com", true }, { "puneflowermall.com", true }, + { "punematka.com", true }, { "punikonta.de", true }, { "punitsheth.com", true }, { "punkapoule.fr", true }, @@ -29850,8 +30728,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pure-gmbh.com", true }, { "purecabo.com", true }, { "purefkh.xyz", true }, + { "purefreefrom.co.uk", true }, { "pureitsolutionsllp.com", true }, { "purelunch.co.uk", true }, + { "pureluxemedical.com", true }, + { "purenvi.ca", true }, { "purevapeofficial.com", true }, { "purplebooth.co.uk", false }, { "purplebricks.co.uk", true }, @@ -29868,10 +30749,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "purplestar.com", true }, { "purplestar.mobi", true }, { "purplewindows.net", true }, - { "purplez.pw", true }, { "purrfect-box.co.uk", true }, { "purrfectboudoir.com", true }, + { "purrfectcams.com", true }, { "purrfectmembersclub.com", true }, + { "purrfectswingers.com", true }, { "pursuedtirol.com", true }, { "puryearlaw.com", true }, { "pusatinkubatorbayi.com", true }, @@ -29880,9 +30762,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pushphp.com", true }, { "pushrax.com", true }, { "pusichatka.ddns.net", true }, + { "pussr.com", true }, { "put.moe", true }, { "put.re", true }, { "putatara.net", true }, + { "putin.red", true }, { "putman-it.nl", true }, { "putney.io", true }, { "putomani.rs", true }, @@ -29901,6 +30785,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pvmotorco.com", true }, { "pvpcraft.ca", true }, { "pvpctutorials.de", true }, + { "pvphs98.com", true }, { "pvtschlag.com", true }, { "pwaresume.com", true }, { "pwdsafe.com", true }, @@ -29913,6 +30798,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pxx.io", true }, { "py-amf.org", true }, { "py.search.yahoo.com", false }, + { "pycoder.org", true }, { "pycrc.org", true }, { "pycrypto.org", true }, { "pycycle.info", true }, @@ -29923,6 +30809,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "pypi.org", true }, { "pypi.python.org", true }, { "pyramidsofchi.com", true }, + { "pyrenees.io", true }, { "pyrios.pro", true }, { "pyrotechnologie.de", true }, { "pysays.net", true }, @@ -29945,11 +30832,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qa.stg.fedoraproject.org", true }, { "qabalah.jp", true }, { "qaconstrucciones.com", true }, + { "qadmium.com", true }, { "qambarraza.com", true }, - { "qapital.com", true }, + { "qani.me", true }, { "qaq.sh", true }, { "qaz.cloud", true }, + { "qbeing.info", true }, { "qbiju.com.br", true }, + { "qbiltrade.com", true }, { "qbus.pl", true }, { "qc.immo", true }, { "qc.search.yahoo.com", false }, @@ -29965,6 +30855,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qctravelschool.com", true }, { "qdabogados.com", true }, { "qdon.space", false }, + { "qe-lab.at", true }, { "qedcon.org", false }, { "qelectrotech.org", true }, { "qetesh.de", true }, @@ -29974,6 +30865,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qgustavor.tk", true }, { "qhse-professionals.nl", true }, { "qianalysis.com", true }, + { "qianmo.com", true }, { "qianqiao.me", true }, { "qiaohong.org", true }, { "qicomidadeverdade.com.br", true }, @@ -29982,6 +30874,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qingcao.org", true }, { "qingpei.me", true }, { "qionouu.cn", true }, + { "qipl.org", true }, { "qis.fr", true }, { "qitarabutrans.com", true }, { "qiu521119.host", true }, @@ -29989,7 +30882,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qivonline.pt", true }, { "qiwi.be", true }, { "qixi.biz", true }, - { "qkka.org", true }, { "qkmortgage.com", true }, { "qldconservation.org.au", true }, { "qldformulaford.org", true }, @@ -30006,6 +30898,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qponverzum.hu", true }, { "qq-navi.com", true }, { "qq52o.me", true }, + { "qqrss.com", true }, { "qr-city.org", true }, { "qr.cl", true }, { "qrbird.com", true }, @@ -30017,6 +30910,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qtl.me", true }, { "qtmsheep.com", true }, { "qtn.net", true }, + { "qto.com", true }, + { "qto.net", true }, { "qtpass.org", true }, { "qtpower.co.uk", true }, { "qtpower.net", true }, @@ -30036,7 +30931,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qualpay.biz", true }, { "qualtrics.com", true }, { "quant-labs.de", true }, - { "quantaloupe.tech", true }, { "quanterra.ch", true }, { "quantolytic.de", true }, { "quantoras.com", true }, @@ -30058,13 +30952,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "qubes-os.org", true }, { "qubyte.codes", true }, { "quchao.com", true }, + { "queencomplex.net", true }, { "queene.eu", true }, { "queens.lgbt", true }, { "queensrdapartments.com.au", true }, { "queer.party", true }, { "queercinema.ch", true }, { "queercoders.com", false }, - { "queextensiones.com", true }, { "quehacerencusco.com", true }, { "quelle.at", true }, { "quelle.ch", true }, @@ -30077,6 +30971,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "quentinchevre.ch", true }, { "queo.com.co", true }, { "quera.ir", true }, + { "quermail.com", true }, { "query-massage.com", true }, { "question.com", true }, { "questoj.cn", true }, @@ -30085,6 +30980,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "quic.stream", true }, { "quickboysvrouwen2.nl", true }, { "quickinfosystem.com", true }, + { "quieroserbombero.org", true }, { "quiet-waters.org", true }, { "quietapple.org", true }, { "quikchange.net", true }, @@ -30095,6 +30991,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "quinoa24.com", true }, { "quintessa.org", true }, { "quintype.com", true }, + { "quiq-api.com", true }, + { "quiq-cdn.com", true }, + { "quiq.us", true }, { "quire.io", true }, { "quisido.com", true }, { "quitarlasmanchasde.com", true }, @@ -30131,14 +31030,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "r-rwebdesign.com", true }, { "r-t-b.fr", true }, { "r0t.co", true }, - { "r0uzic.net", true }, { "r1a.eu", true }, { "r1ch.net", true }, { "r2d2pc.com", true }, { "r33.space", true }, { "r3bl.blog", true }, { "r3bl.me", true }, + { "r3nt3r.com", true }, { "r3s1stanc3.me", true }, + { "r40.us", true }, { "r6-team.ru", true }, { "r7.com.au", true }, { "r7h.at", true }, @@ -30153,15 +31053,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rabbit.wales", false }, { "rabbitfinance.com", true }, { "rabica.de", true }, - { "rabotaescort.com", true }, { "rabynska.eu", true }, { "raccoltarifiuti.com", true }, - { "racdek.com", true }, - { "racdek.net", true }, - { "racdek.nl", true }, { "racermaster.xyz", true }, { "racesport.nl", false }, - { "rachaelrussell.com", true }, + { "raceviewcycles.com", true }, + { "raceviewequestrian.com", true }, { "rachelchen.me", true }, { "racheldiensthuette.de", true }, { "rachelmoorelaw.com", true }, @@ -30175,10 +31072,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "racoo.net", true }, { "racozo.com", true }, { "racunovodstvo-prina.si", true }, - { "rada-group.eu", true }, { "radar.sx", true }, { "radaravia.ru", true }, - { "radarnext.com", true }, { "radartatska.se", true }, { "radartek.com", true }, { "radcube.hu", true }, @@ -30191,7 +31086,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "radio-pulsar.eu", true }, { "radio-utopie.de", true }, { "radio1.ie", true }, - { "radioafibra.com.br", true }, + { "radiocommg.com.br", true }, { "radiocomsaocarlos.com.br", true }, { "radiofmimagen.net", true }, { "radioheteroglossia.com", true }, @@ -30201,13 +31096,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "radiomontebianco.it", true }, { "radionicabg.com", true }, { "radiopolarniki.spb.ru", true }, - { "radior9.it", true }, { "radiormi.com", true }, { "radiorsvp.com", false }, { "radiosendungen.com", true }, { "radis-adopt.com", true }, + { "radiumone.io", true }, { "radiumtree.com", true }, - { "radom-pack.pl", true }, { "radondetectionandcontrol.com", true }, { "radreisetraumtreibstoff.de", true }, { "radyabkhodro.net", true }, @@ -30219,11 +31113,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rafey.xyz", true }, { "raffaellaosti.com", true }, { "rafleatherdesign.com", true }, - { "raft.pub", true }, { "rafting-japan.com", true }, { "ragasto.nl", true }, - { "rage-overload.ch", true }, - { "rage.rip", true }, { "rage4.com", true }, { "raghavdua.in", true }, { "rahulpnath.com", true }, @@ -30237,7 +31128,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "railbird.nl", true }, { "railgun.ac", true }, { "railgun.com.cn", true }, - { "railjob.cn", true }, { "railorama.nl", true }, { "railpassie.nl", true }, { "railtoo.com", true }, @@ -30266,6 +31156,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rajkapoordas.com", true }, { "rajyogarishikesh.com", true }, { "rak-business-service.com", true }, + { "raku.bzh", true }, { "rakugokai.net", true }, { "ralf-huebscher.de", true }, { "ralfs-zusizone.de", true }, @@ -30283,10 +31174,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "raltha.com", true }, { "ram-it.nl", true }, { "ram.nl", true }, + { "ramarka.de", true }, { "rambo.codes", true }, - { "ramitmittal.com", true }, { "rammstein-portugal.com", true }, - { "ramrecha.com", true }, + { "ramrecha.com", false }, { "ramsor-gaming.de", true }, { "randc.org", true }, { "random-samplings.org", true }, @@ -30297,6 +31188,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "randomkoalafacts.com", true }, { "randomprecision.co.uk", true }, { "randomquotesapp.com", true }, + { "randomrepo.com", true }, + { "randomserver.pw", true }, { "ranfurlychambers.co.nz", true }, { "rangde.org", true }, { "rangercollege.edu", true }, @@ -30316,7 +31209,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "raphael.li", true }, { "raphaeladdile.com", true }, { "raphaelcasazza.ch", true }, - { "raphaelmoura.ddns.net", true }, { "raphaelschmid.eu", true }, { "raphrfg.com", true }, { "rapidapp.io", true }, @@ -30334,7 +31226,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rascalscastles.co.uk", true }, { "rascalscastlesdoncaster.co.uk", true }, { "rasebo.ro", true }, - { "raspberryultradrops.com", true }, { "raspii.tech", true }, { "raspitec.ddns.net", true }, { "rasty.cz", true }, @@ -30350,17 +31241,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rattenkot.io", true }, { "raulrivero.es", true }, { "rault.io", true }, - { "raum4224.de", true }, { "rauros.net", true }, { "rautelow.de", true }, { "ravchat.com", true }, { "raven.dog", true }, { "ravenger.net", true }, { "ravensbuch.de", true }, + { "ravenx.me", true }, { "ravhaaglanden.org", true }, { "ravindran.me", true }, { "raviparekh.co.uk", true }, { "ravis.org", true }, + { "ravkr.duckdns.org", true }, { "rawdutch.nl", true }, { "rawinfosec.com", true }, { "rawsec.net", true }, @@ -30369,31 +31261,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ray-home.de", true }, { "ray-works.de", true }, { "rayan-it.ir", true }, - { "rayanitco.com", true }, { "rayiris.com", true }, { "raykitchenware.com", true }, { "raymcbride.com", true }, { "raymd.de", true }, { "raymii.org", true }, - { "raymondelooff.nl", true }, { "raystark.com", true }, - { "raywin168.com", true }, - { "raywin168.net", true }, - { "raywin88.net", true }, { "rayworks.de", true }, { "razberry.kr", true }, { "razeen.me", true }, { "razeencheng.com", true }, { "raziskovalec-resnice.com", true }, { "razvanburz.net", true }, - { "rbcservicehub-uat.azurewebsites.net", true }, { "rbensch.com", true }, { "rbflote.lv", true }, { "rbltracker.com", true }, - { "rbmafrica.co.za", true }, { "rbnet.xyz", true }, { "rbran.com", true }, - { "rburchell.com", true }, { "rbx-talk.xyz", true }, { "rc-offi.net", true }, { "rc-rp.com", true }, @@ -30401,6 +31285,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rca.fr", true }, { "rcd.cz", true }, { "rcdocuments.com", true }, + { "rcgoncalves.pt", true }, + { "rchavez.site", true }, { "rchrdsn.uk", true }, { "rcifsgapinsurance.co.uk", true }, { "rclsm.net", true }, @@ -30414,19 +31300,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rct.uk", true }, { "rctalk.com", true }, { "rdfproject.it", true }, - { "rdh.asia", true }, { "rdjb2b.com", true }, { "rdl.at", false }, { "rdmc.fr", true }, { "rdmrotterdam.nl", true }, { "rdmtaxservice.com", true }, - { "rdns.cc", true }, + { "rdv-cni.fr", true }, { "rdv-prefecture.com", true }, { "rdwh.tech", true }, - { "rdxsattamatka.mobi", true }, { "re-curi.com", true }, { "re-engines.com", true }, { "reachhead.com", true }, + { "reachonline.org", true }, { "reachrss.com", true }, { "reaconverter.com", true }, { "react-db.com", true }, @@ -30441,6 +31326,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "readmusiccoleman.com", true }, { "readonly.de", true }, { "readouble.com", false }, + { "reads.wang", true }, + { "readybetwin.com", true }, { "readysell.net", true }, { "readytobattle.net", true }, { "readytongue.com", true }, @@ -30449,8 +31336,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "real-digital.co.uk", true }, { "real-it.nl", true }, { "realcapoeira.ru", true }, + { "realestate-in-uruguay.com", true }, + { "realestatecentralcoast.info", true }, + { "realestatemarketingblog.org", true }, { "realestateonehowell.com", true }, { "realestateradioshow.com", true }, + { "realfood.space", true }, { "realfreedom.city", true }, { "realhorsegirls.net", true }, { "realhypnosistraining.com.au", true }, @@ -30462,12 +31353,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "realloc.me", true }, { "really-simple-plugins.com", true }, { "really-simple-ssl.com", true }, - { "really.ai", true }, { "reallytrusted.com", true }, { "realme.govt.nz", true }, { "realmofespionage.xyz", true }, { "realoteam.ddns.net", true }, { "realpropertyprofile.gov", true }, + { "realtygroup-virginia.com", true }, + { "realtyink.net", true }, { "realum.com", true }, { "realum.de", true }, { "realum.eu", true }, @@ -30489,13 +31381,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rebirthia.me", true }, { "reboxetine.com", true }, { "reboxonline.com", true }, + { "rebtoor.com", true }, + { "recalls.gov", true }, { "recantoshop.com", true }, { "recantoshop.com.br", true }, { "recapp.ch", true }, { "recaptcha-demo.appspot.com", true }, { "receiliart.com", true }, { "receptionpoint.com", true }, - { "receptionsbook.com", true }, { "recepty.eu", true }, { "recetasdecocinaideal.com", true }, { "recetin.com", true }, @@ -30507,13 +31400,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "recipex.ru", true }, { "recipeyak.com", true }, { "reckontalk.com", true }, - { "reclamebureau-ultrax.nl", true }, { "reclametoolz.nl", true }, { "reclusiam.net", true }, { "recmon.hu", true }, { "reco-studio.de", true }, { "recolic.net", true }, { "recommended.reviews", true }, + { "recompiled.org", true }, { "recon-networks.com", true }, { "reconexion.life", true }, { "recordeuropa.com", false }, @@ -30525,6 +31418,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "recuerdafilms.com", true }, { "recuperodatiraidfastec.it", true }, { "recurly.com", true }, + { "recursosdeautoayuda.com", true }, { "recyclingpromotions.us", true }, { "red-t-shirt.ru", true }, { "red-trigger.net", true }, @@ -30560,13 +31454,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rede-reim.de", true }, { "rede-t.com", true }, { "redelectrical.co.uk", true }, + { "redespaulista.com", true }, { "redessantaluzia.com.br", true }, + { "redflare.com.au", true }, { "redfox-infosec.de", true }, { "redfoxmarketiing.com", true }, { "redgatesoftware.co.uk", true }, { "redgoose.ca", true }, { "redhandedsecurity.com.au", true }, - { "redheeler.com.br", true }, { "redicals.com", true }, { "redigest.it", true }, { "redir.me", true }, @@ -30581,6 +31476,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "redlinelap.com", true }, { "redlink.de", true }, { "redmind.se", true }, + { "redmondtea.com", true }, { "redmore.me", true }, { "redneragenturen.org", true }, { "rednsx.org", true }, @@ -30591,19 +31487,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "redshoeswalking.net", true }, { "redsicom.com", true }, { "redsquarelasvegas.com", true }, - { "redsquirrelcampsite.co.uk", true }, { "redstoner.com", true }, { "redteam-pentesting.de", true }, { "redwaterhost.com", true }, { "redweek.com", true }, { "redwoodpaddle.es", true }, { "redwoodpaddle.pt", true }, + { "redzonedaily.com", true }, { "redzurl.com", false }, { "reed-sensor.com", true }, { "reedloden.com", true }, { "reedyforkfarm.com", true }, { "reegle.com", true }, - { "reepay.com", true }, + { "reening.net", true }, { "rees-carter.net", true }, { "reesmichael1.com", true }, { "reevaappliances.co.uk", true }, @@ -30616,6 +31512,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reflectivity.io", true }, { "reflectores.net", true }, { "refletindosaude.com.br", true }, + { "reflets.info", true }, { "reflexions.co", true }, { "reflexive-engineering.com", true }, { "reflexive.xyz", true }, @@ -30646,6 +31543,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reginfo.gov", true }, { "regiobeveland.nl", true }, { "regionalbasementandcrawlspacerepair.com", true }, + { "regionalgrowth.com", true }, { "regiosalland.nl", true }, { "regiovertrieb.de", false }, { "regis.tech", true }, @@ -30657,6 +31555,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "registrarplus.net", true }, { "registrarplus.nl", true }, { "registryplus.net", true }, + { "registryplus.nl", true }, { "regmyr.se", true }, { "regnix.net", true }, { "regnr.info", true }, @@ -30672,8 +31571,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rehabphilippines.com", true }, { "rehabthailand.com", true }, { "rehabthailand.org", true }, - { "reher.pro", true }, - { "rei.codes", true }, { "rei.ki", true }, { "reichardt-home.goip.de", true }, { "reichel-steinmetz.de", true }, @@ -30704,6 +31601,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "reiseversicherung-werner-hahn.de", true }, { "reishunger.de", true }, { "reisslittle.com", true }, + { "reittherapie-tschoepke.de", true }, { "rejahrehim.com", true }, { "rejects.email", true }, { "rejsehuskelisten.dk", true }, @@ -30725,21 +31623,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "relojeriajoyeria.com", true }, { "relojes-online.com", true }, { "relojesseiko.es", true }, - { "relsak.cz", false }, + { "relsak.cz", true }, { "relvan.com", true }, { "rem0te.net", true }, { "remaimodern.org", true }, { "remambo.jp", true }, + { "remarketable.org", true }, { "remax.at", true }, { "remedi.tokyo", true }, { "remedionaturales.com", true }, - { "remedioparaherpes.com", true }, - { "remedios-caserospara.com", true }, { "remedioscaserosparalacistitis.com", true }, - { "remedioskaseros.com", false }, { "remejeanne.com", true }, { "rememberthemilk.com", false }, { "remi-saurel.com", true }, + { "remiafon.com", true }, { "remilner.co.uk", true }, { "remini.cz", true }, { "remirampin.com", true }, @@ -30747,7 +31644,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "remitatm.com", false }, { "remonti.info", true }, { "remote.so", true }, - { "remoteham.com", true }, { "remoteutilities.com", true }, { "removalcellulite.com", true }, { "removedrepo.com", true }, @@ -30757,34 +31653,38 @@ static const nsSTSPreload kSTSPreloadList[] = { { "renaissanceplasticsurgery.net", true }, { "renascentia.asia", true }, { "renaultclubticino.ch", true }, + { "rendall.tv", true }, { "renderloop.com", true }, { "rendre-service.ch", true }, { "rene-schwarz.com", true }, { "rene-stolp.de", true }, { "renearends.nl", true }, { "renedekoeijer.com", true }, - { "renedekoeijer.nl", true }, { "renee.today", true }, { "reneleu.ch", true }, { "renem.net", false }, { "renemayrhofer.com", true }, { "reneschmidt.de", true }, { "renewablefreedom.org", true }, - { "renewed.technology", true }, + { "renewablemaine.org", true }, { "renewgsa.com", true }, { "renewmedispa.com", true }, { "renewpfc.com", true }, { "renezuo.com", true }, { "renkenlaw.com", true }, + { "renlen.nl", true }, { "renov8sa.co.za", true }, + { "renovablesverdes.com", true }, { "renovum.es", true }, { "renrenche.com", false }, { "rens.nu", true }, + { "rensa-datorn.se", true }, { "renscreations.com", true }, { "rent-a-c.io", true }, { "rent-a-coder.de", true }, { "rentacaramerica.com", true }, { "rentasweb.gob.ar", true }, + { "rentayventadecarpas.com", true }, { "renthelper.us", true }, { "rentinsingapore.com.sg", true }, { "rentourhomeinprovence.com", true }, @@ -30796,13 +31696,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "repaik.com", true }, { "repair.by", true }, { "repaper.org", true }, - { "reparo.pe", true }, { "repaxan.com", true }, { "repkord.com", true }, { "replicaswiss.nl", true }, { "repology.org", true }, { "report-uri.com", true }, { "report2psb.online", true }, + { "reportband.gov", true }, { "reporting.gov", true }, { "reproduciblescience.org", true }, { "reproductive-revolution.com", true }, @@ -30837,11 +31737,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "resinflooringcompany.com", true }, { "resist.ca", true }, { "resistav.com", true }, + { "resnickandnash.com", true }, { "resolvefa.co.uk", true }, { "resolvefa.com", true }, { "resolving.com", true }, { "resoplus.ch", true }, { "resort-islands.net", true }, + { "resortafroditatucepi.com", true }, { "resortohshima.com", true }, { "resourceconnect.com", true }, { "resourceguruapp.com", true }, @@ -30851,6 +31753,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "respectmyprivacy.net", true }, { "respectmyprivacy.nl", true }, { "respecttheflame.com", true }, + { "respiranto.de", true }, { "respon.jp", true }, { "responer.com", true }, { "responsepartner.com", true }, @@ -30859,6 +31762,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "responsivepaper.com", true }, { "respostas.com.br", true }, { "ressl.ch", true }, + { "restaurant-de-notenkraker.be", true }, { "restaurant-oregano.de", true }, { "restaurant-rosengarten.at", true }, { "restaurantguru.com", true }, @@ -30876,13 +31780,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "resursedigitale.ro", true }, { "retefarmaciecostadamalfi.it", true }, { "retetenoi.net", true }, - { "retetop95.it", true }, { "reticon.de", true }, { "retmig.dk", true }, { "reto.ch", true }, { "reto.com", true }, { "reto.io", true }, { "retokromer.ch", true }, + { "retornaz.com", true }, + { "retornaz.eu", true }, + { "retornaz.fr", true }, { "retractableawningssydney.com.au", true }, { "retro.rocks", true }, { "retro.sx", true }, @@ -30892,7 +31798,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "retrofitlab.com", true }, { "retroity.net", true }, { "retrojar.top", true }, - { "retronet.nl", true }, { "retroroundup.com", true }, { "retrotracks.net", true }, { "retrovideospiele.com", true }, @@ -30909,18 +31814,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "revayd.net", true }, { "revensoftware.com", true }, { "reverencestudios.com", true }, - { "reverse.design", true }, { "reverseaustralia.com", true }, { "reversecanada.com", true }, { "reverseloansolutions.com", true }, { "reversesouthafrica.com", true }, { "review.jp", true }, + { "reviewmed-215418.appspot.com", true }, { "reviewninja.net", true }, { "reviews.anime.my", false }, { "revirt.global", true }, { "revision.co.zw", true }, { "revisionnotes.xyz", true }, { "revisit.date", true }, + { "revista-programar.info", true }, { "revivalinhisword.com", true }, { "revivalprayerfellowship.com", true }, { "revivingtheredeemed.org", true }, @@ -30940,28 +31846,30 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rezosup.org", true }, { "rezultant.ru", true }, { "rftoon.com", true }, + { "rfxanalyst.com", true }, { "rga.sh", true }, { "rgavmf.ru", true }, { "rgbinnovation.com", true }, { "rgcomportement.fr", true }, + { "rgraph.net", true }, { "rhaegal.me", true }, { "rhd-instruments.com", true }, { "rhd-instruments.de", true }, { "rhees.nl", true }, { "rhein-liebe.de", true }, { "rheinneckarmetal.com", true }, - { "rheinturm.nrw", true }, { "rheocube.com", true }, { "rhese.net", true }, { "rhetorical.ml", true }, - { "rheuma-online.de", true }, { "rhevelo.com", true }, { "rhinelander.ca", true }, + { "rhinobase.net", true }, { "rhinoceroses.org", true }, { "rhnet.at", true }, { "rhodenmanorcattery.co.uk", true }, { "rhodri.io", true }, { "rhowell.io", true }, + { "rhumblineadvisers.com", true }, { "rhymeswithmogul.com", true }, { "rhymix.org", true }, { "rhynl.io", true }, @@ -30971,6 +31879,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ribs.com", true }, { "ricardo.nu", true }, { "ricardobalk.nl", true }, + { "ricardopq.com", true }, + { "ricaribeiro.com.br", true }, { "ricaud.me", true }, { "riccardopiccioni.it", true }, { "riccy.org", true }, @@ -30978,20 +31888,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "richadams.me", true }, { "richardbloomfield.blog", true }, { "richardfeinbergdds.com", true }, + { "richardharpur.com", true }, { "richardhering.de", true }, + { "richardhicks.us", true }, { "richardjgreen.net", true }, { "richardlangworth.com", true }, + { "richardlevinmd.com", true }, { "richardlugten.nl", true }, { "richardramos.me", true }, { "richardrblocker.net", true }, + { "richardschut.nl", true }, { "richardson.cam", true }, { "richardson.engineering", true }, { "richardson.pictures", true }, { "richardson.software", true }, { "richardson.systems", true }, + { "richardstonerealestate.com", true }, { "richardwarrender.com", true }, { "richie.fi", true }, - { "richonrails.com", true }, { "ricketyspace.net", true }, { "ricki-z.com", true }, { "rickrongen.nl", true }, @@ -30999,7 +31913,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ricksfamilycarpetcleaning.com", true }, { "rickvanderzwet.nl", true }, { "rickweijers.nl", true }, - { "ricky.capital", false }, { "rickyromero.com", true }, { "rico.ovh", true }, { "ricobaldegger.ch", true }, @@ -31007,19 +31920,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ricoydesign.com", true }, { "ricozienke.de", true }, { "riddims.co", true }, - { "ride-up.com", true }, + { "rideintaxi.com", true }, { "rideways.com", true }, { "rideyourdamn.bike", true }, { "ridgelandchurch.org", true }, { "ridingboutique.de", true }, + { "ridwan.co", false }, { "riederle.com", true }, { "riemer.ml", true }, { "riesenweber.id.au", true }, { "riesheating.com", true }, + { "rievo.net", true }, { "riffreporter.de", true }, { "rifkivalkry.net", true }, { "rift.pictures", true }, { "rigabeerbike.com", true }, + { "rigabeerbike.lv", true }, { "righettod.eu", true }, { "righini.ch", true }, { "rightbrain.training", true }, @@ -31031,6 +31947,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rigolitch.fr", true }, { "rigsalesaustralia.com", true }, { "rijk-catering.nl", false }, + { "rijschoolrichardschut.nl", true }, + { "rijschoolsafetyfirst.nl", true }, { "rijsinkunst.nl", false }, { "rik.onl", true }, { "riku.pw", true }, @@ -31049,12 +31967,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rio-weimar.de", true }, { "rioshop.com.br", true }, { "rioxmarketing.com", true }, + { "rioxmarketing.pt", true }, { "rip-sport.cz", true }, { "ripaton.fr", true }, + { "ripcorddesign.com", true }, { "ripcordsandbox.com", true }, { "ripmixmake.org", true }, { "riqy86.nl", true }, - { "ris.fi", true }, + { "ris-bad-wurzach.de", true }, { "risada.nl", true }, { "risaphuketproperty.com", true }, { "riscascape.net", true }, @@ -31078,7 +31998,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rivalsa.cn", true }, { "rivastation.de", true }, { "riverbanktearooms.co.uk", true }, - { "riverbed.com", true }, { "riverbendroofingnd.com", true }, { "riverford.co.uk", true }, { "rivermist.com.au", true }, @@ -31093,6 +32012,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rivy.org", true }, { "rix.ninja", true }, { "rixter.com", true }, + { "rixzz.ovh", true }, { "riyono.com", true }, { "rizalpalawan.gov.ph", true }, { "rizospastis.gr", true }, @@ -31116,30 +32036,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rmmanfredi.com", true }, { "rmpsolution.de", true }, { "rmrig.org", true }, + { "rms-digicert.ne.jp", true }, { "rms.sexy", true }, { "rmstudio.tw", true }, { "rmsupply.nl", true }, - { "rn29.me", true }, { "rnag.ie", true }, { "rnb-storenbau.ch", true }, - { "rnbjunk.com", true }, { "rngmeme.com", true }, { "rnt.cl", true }, { "ro.search.yahoo.com", false }, + { "roaddoc.de", true }, { "roadguard.nl", false }, { "roadtopgm.com", true }, { "roams.es", true }, - { "roave.com", true }, { "rob006.net", true }, { "robandjanine.com", true }, { "robbertt.com", false }, { "robbiecrash.me", true }, { "robdavidson.network", true }, { "robert-flynn.de", true }, + { "robert-wiek-transporte.de", true }, { "robertattfield.com", true }, { "robertayamashita.com", true }, { "robertayamashita.com.br", true }, - { "robertbln.com", true }, { "robertg.me", true }, { "robertglastra.com", true }, { "roberthurlbut.com", true }, @@ -31151,19 +32070,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "robertopazeller.ch", true }, { "robertreiser.photography", true }, { "robertrijnders.nl", true }, - { "robertsmits.be", true }, + { "robertsmits.be", false }, { "robhorstmanshof.nl", true }, { "robicue.com", true }, - { "robin-novotny.com", true }, + { "robigalia.org", false }, { "robin.co.kr", true }, { "robin.info", true }, - { "robinadr.com", true }, { "robinevandenbos.nl", true }, { "robinflikkema.nl", true }, + { "robinfrancq.ml", true }, { "robinhoodbingo.com", true }, { "robinlinden.eu", true }, { "robinsonstrategy.com", true }, { "robinsonyu.com", true }, + { "robinvdmarkt.nl", true }, { "robinwill.de", true }, { "robinwinslow.uk", true }, { "robjager-fotografie.nl", true }, @@ -31185,6 +32105,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "robspc.repair", true }, { "robspeed.rocks", true }, { "robtatemusic.com", true }, + { "robtex.com", true }, { "robu.in", true }, { "robud.info", true }, { "robustac.com", true }, @@ -31194,8 +32115,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rockagogo.com", true }, { "rockbankland.com.au", true }, { "rockcanyonbank.com", true }, - { "rockcellar.ch", true }, { "rockenfuerlachenhelfen.de", true }, + { "rocket-wars.de", true }, { "rocketevents.com.au", true }, { "rocketgnomes.com", true }, { "rocketr.net", true }, @@ -31215,10 +32136,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rodeobull.biz", true }, { "rodeohire.com", true }, { "rodeosales.co.uk", true }, + { "rodest.net", true }, { "rodevlaggen.nl", true }, { "rodichi.net", true }, { "rodinnebyvanie.eu", true }, - { "rodneybrooksjr.com", false }, + { "rodinneodpoledne2018.cz", true }, { "rodolfo.gs", true }, { "rodomonte.org", true }, { "rodrigocarvalho.blog.br", true }, @@ -31234,9 +32156,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roemhild.de", true }, { "roerstaafjes.nl", true }, { "rofl.com.ua", true }, - { "roflcopter.fr", true }, { "rogagym.com", true }, - { "roger101.com", true }, { "rogerhub.com", true }, { "rogerriendeau.ca", true }, { "rogersaam.ch", true }, @@ -31246,6 +32166,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rogoff.xyz", true }, { "rogue-e.xyz", true }, { "roguefinancial.com", true }, + { "roguefortgame.com", true }, { "roguenation.space", true }, { "roguenetworks.me", true }, { "roguesignal.net", true }, @@ -31257,7 +32178,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rokass.nl", true }, { "rokki.ch", true }, { "rokort.dk", true }, - { "roksolana.be", true }, { "rokudenashi.de", true }, { "roland.io", true }, { "rolandinsh.com", true }, @@ -31275,6 +32195,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rolodato.com", true }, { "roma-servizi.it", true }, { "romab.com", true }, + { "romain-arias.fr", true }, { "roman-pavlik.cz", true }, { "romancloud.com", true }, { "romande-entretien.ch", true }, @@ -31296,7 +32217,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rommelwood.de", true }, { "romun.net", true }, { "romy.tw", true }, - { "ronanrbr.com", true }, { "rondommen.nl", true }, { "rondouin.fr", true }, { "rondreis-amerika.be", true }, @@ -31306,7 +32226,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ronniegane.kiwi", true }, { "ronnylindner.de", true }, { "ronomon.com", true }, - { "ronzertnert.xyz", true }, { "roodfruit.studio", true }, { "roodhealth.co.uk", true }, { "roof.ai", false }, @@ -31321,10 +32240,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "room3b.eu", true }, { "roombase.nl", true }, { "roomhub.jp", true }, - { "roomongo.com", true }, { "rooneytours.nl", true }, { "roopakv.com", true }, { "roosabels.nl", false }, + { "roosterpgplus.nl", true }, { "root-space.eu", true }, { "root.bg", true }, { "root.cz", true }, @@ -31336,6 +32255,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rootkea.me", true }, { "rootlair.com", true }, { "rootonline.de", true }, + { "rootpigeon.com", true }, { "roots-example-project.com", true }, { "roots.io", true }, { "rootsandrain.com", true }, @@ -31364,7 +32284,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roseon.net", true }, { "roseparkhouse.com", true }, { "rosesciences.com", true }, - { "rosetiger.life", true }, { "rosevillefacialplasticsurgery.com", true }, { "roshhashanahfun.com", true }, { "roslynpad.net", true }, @@ -31375,12 +32294,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rossmacphee.com", true }, { "rostclub.ro", true }, { "rostov-avia.ru", true }, + { "rostros.eu", true }, { "rot47.net", true }, { "rotek.at", true }, { "roten.email", true }, { "rothe.io", true }, { "rothkranz.net", true }, { "rothnater.ch", true }, + { "rothwellgornthomes.com", true }, { "rotkreuzshop.de", true }, { "rotol.me", true }, { "rottweil-hilft.de", true }, @@ -31394,6 +32315,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "roundcube.mayfirst.org", false }, { "roundrock-locksmith.com", true }, { "roundtablekzn.co.za", true }, + { "roundtoprealestate.com", true }, { "roussos.cc", true }, { "rout0r.org", true }, { "route-wird-berechnet.de", true }, @@ -31403,6 +32325,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "routetracker.co", true }, { "rove3d.com", true }, { "rowancasting.ie", true }, + { "rowancountync.gov", true }, { "rowankaag.nl", true }, { "rowlog.com", true }, { "rows.io", true }, @@ -31462,6 +32385,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "royal899.com", true }, { "royalacademy.org.uk", true }, { "royalasianescorts.co.uk", true }, + { "royalbeautyclinic.ir", true }, { "royalbluewa3.cc", true }, { "royalcitytaxi.ca", true }, { "royalcitytaxi.com", true }, @@ -31469,11 +32393,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "royalmarinesassociation.org.uk", true }, { "royalnissanparts.com", true }, { "royalpalacenogent.fr", true }, + { "royalpub.net", false }, { "royalrangers.fi", true }, { "royalty-market.com", true }, { "royalyule.com", true }, { "royceandsteph.com", true }, { "roycewilliams.net", true }, + { "roygerritse.nl", true }, { "rozalynne-dawn.ga", true }, { "rozhodce.cz", true }, { "rpadovani.com", true }, @@ -31491,10 +32417,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rraesthetics.com", true }, { "rrdesignsuisse.com", true }, { "rrg-partner.ch", true }, - { "rring.me", true }, { "rro.rs", true }, { "rrudnik.com", true }, { "rrwolfe.com", true }, + { "rs-maschinenverleih.de", true }, { "rsanahuano.com", true }, { "rsap.ca", true }, { "rsauget.fr", true }, @@ -31502,13 +32428,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rsgcard.com", true }, { "rsingermd.com", true }, { "rsl.gd", true }, - { "rsm-intern.de", true }, { "rsm-liga.de", true }, { "rsmith.io", true }, - { "rsmmail.com", true }, { "rsp-blogs.de", true }, { "rsridentassist.com", true }, { "rss.sh", false }, + { "rssr.ddns.net", true }, { "rssr.se", true }, { "rsttraining.co.uk", true }, { "rsync.eu", false }, @@ -31518,25 +32443,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "rtcx.net", true }, { "rtd.uk.com", true }, { "rte.eu", true }, + { "rte.radio", true }, { "rte2fm.ie", true }, { "rteaertel.ie", true }, { "rtechservices.io", true }, { "rteguide.ie", true }, { "rteinternational.ie", true }, { "rtejr.ie", true }, - { "rtek.se", false }, + { "rtek.se", true }, { "rtenews.eu", true }, { "rteone.ie", true }, { "rteplayer.com", true }, { "rtesport.eu", true }, { "rteworld.com", true }, - { "rtfpessoa.xyz", true }, - { "rths.tk", true }, + { "rths.tk", false }, { "rthsoftware.cn", true }, + { "rthsoftware.net", true }, { "rtrappman.com", true }, { "rtrinflatables.co.uk", true }, { "rtsr.ch", true }, - { "rttss.com", true }, { "rttvvip.com", true }, { "rtwcourse.com", true }, { "rtzoeller.com", true }, @@ -31552,6 +32477,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruben.am", false }, { "rubenbarbero.com", true }, { "rubenkruisselbrink.nl", true }, + { "rubens.cloud", true }, { "rublacklist.net", true }, { "ruby-auf-schienen.de", true }, { "rubyist.today", true }, @@ -31565,6 +32491,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruconsole.com", true }, { "rud.is", true }, { "rudd-o.com", true }, + { "rudelune.fr", true }, { "rudewiki.com", true }, { "rudhaulidirectory.com", true }, { "rudloff.pro", true }, @@ -31577,6 +32504,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruedirrenggli.ch", true }, { "rueduparticulier.tk", false }, { "rueegger.me", true }, + { "rueg.eu", true }, { "ruerte.net", true }, { "rufabula-com.appspot.com", true }, { "ruffbeatz.com", true }, @@ -31586,15 +32514,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruhrmobil-e.de", true }, { "ruhrnalist.de", true }, { "ruht.ro", true }, - { "ruigomes.me", true }, + { "ruicore.cn", true }, { "ruiming.me", true }, { "ruin.one", true }, { "ruiruigeblog.com", true }, + { "ruitersportbak.nl", true }, { "ruk.ca", true }, { "rulu.co", true }, { "rulu.tv", true }, { "rulutv.com", true }, { "rumartinez.es", true }, + { "rumlager.de", true }, { "rummage4property.co.uk", true }, { "rumplesinflatables.co.uk", true }, { "rumtaste.com", true }, @@ -31602,19 +32532,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "run-it-direct.co.uk", true }, { "runagain.ch", true }, { "runebet.com", true }, - { "runefake.com", true }, - { "runementors.com", false }, { "runklesecurity.com", true }, { "runnergrapher.com", true }, { "runreport.fr", true }, { "runschrauger.com", true }, + { "runtimepanic.xyz", true }, { "runvs.io", true }, { "ruobr.ru", true }, + { "rupeevest.com", true }, { "ruquay.com", true }, { "ruralink.com.ar", true }, { "ruralsuppliesdirect.co.uk", true }, { "ruri.io", false }, { "rusempire.ru", true }, + { "rushball.net", true }, { "rushiiworks.com", true }, { "rushpoppershop.co.uk", true }, { "rushter.com", true }, @@ -31623,38 +32554,33 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ruska-modra.cz", true }, { "ruskamodra.cz", true }, { "ruskod.net", true }, - { "rusl.net", true }, { "rusmolotok.ru", true }, { "russellupevents.co.uk", true }, { "russia.dating", true }, { "russiaeconomy.org", true }, { "russianorthodoxchurch.co.uk", true }, - { "russpuss.ru", true }, { "russt.me", true }, { "rust.mn", true }, { "rustable.com", true }, { "rustikalwallis.ch", true }, - { "rustralasia.net", true }, { "rustyrambles.com", true }, { "rusxakep.com", true }, { "rutgerschimmel.nl", true }, - { "ruthmontenegro.com", true }, + { "ruthmontenegro.com", false }, { "rutiger.com", true }, + { "rutika.ru", true }, { "ruudkoot.nl", true }, { "ruwhof.net", true }, { "ruya.com", true }, { "ruyatabirleri.com", true }, { "rv-jpshop.com", true }, { "rva-asbestgroep.nl", true }, - { "rvender.cz", true }, { "rvfu98.com", true }, { "rvnoel.net", true }, - { "rvoigt.eu", true }, { "rvsa2bevestigingen.nl", true }, { "rvsa4bevestigingen.nl", true }, { "rvsbevestigingen.nl", true }, { "rw.search.yahoo.com", false }, - { "rwgamernl.ml", true }, { "rwky.net", true }, { "rws-vertriebsportal.de", true }, { "rwx.ovh", true }, @@ -31672,18 +32598,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ryanhowell.io", false }, { "ryankearney.com", false }, { "ryanmcdonough.co.uk", false }, - { "ryanroberts.co.uk", true }, { "ryansmithphotography.com", true }, { "ryazan-region.ru", true }, { "rychlikoderi.cz", true }, { "rydermais.tk", true }, { "rynekpierwotny.pl", true }, + { "ryois.me", true }, { "rys.pw", true }, { "ryssl.com", true }, { "ryu22e.org", true }, { "ryuu.es", true }, { "ryyule.com", true }, - { "ryzex.de", true }, { "ryzhov.me", true }, { "rzentarzewski.net", true }, { "s-a.xyz", true }, @@ -31692,16 +32617,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "s-huset.dk", true }, { "s-ip-media.de", true }, { "s-mainte.com", true }, - { "s-mdb.com", true }, { "s-n-unso.com", true }, { "s-pegasus.com", true }, { "s-s-paint.com", true }, { "s007.co", true }, - { "s0laris.co.uk", true }, { "s10y.eu", true }, { "s13d.fr", true }, { "s16e.no", true }, { "s2member.com", true }, + { "s2p.moe", true }, { "s3cur3.it", true }, { "s3gfault.com", true }, { "s3robertomarini.it", true }, @@ -31711,7 +32635,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "s4media.org", true }, { "s4q.me", true }, { "s4tips.com", true }, - { "s4ur0n.com", true }, { "s5118.com", true }, { "s64.cz", true }, { "s8a.us", true }, @@ -31728,11 +32651,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sabine-forschbach.de", true }, { "sabineforschbach.de", true }, { "sabrinajoias.com.br", true }, - { "sabrinajoiasprontaentrega.com.br", true }, - { "sabtunes.com", true }, { "sacaentradas.com", true }, { "saccani.net", true }, - { "sackers.com", true }, { "sackmesser.ch", true }, { "saclier.at", true }, { "sacprincesse.com", true }, @@ -31743,12 +32663,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sadbox.xyz", true }, { "sadeghian.us", true }, { "sadev.co.za", true }, + { "sadhana.cz", true }, { "sadhawkict.org", true }, + { "sadiejewellery.co.uk", true }, { "sadmansh.com", true }, { "sadou.kyoto.jp", true }, - { "sadsu.com", true }, + { "saechsischer-christstollen.shop", true }, { "saengsook.com", true }, { "saengsuk.com", true }, + { "saf.earth", true }, { "safar.sk", true }, { "safaritenten.nl", true }, { "safcstore.com", true }, @@ -31770,13 +32693,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "safeme.ga", true }, { "safeocs.gov", true }, { "safer-networking.org", true }, - { "saferpost.com", true }, + { "saferproduct.gov", true }, + { "saferproducts.gov", true }, + { "safersurfing.eu", false }, { "safescan.com", true }, { "safestore.io", true }, { "safetext.me", true }, { "safetycloud.me", true }, { "safetynames.com", true }, { "safetyrisk.net", true }, + { "safetyworkkits.co.nz", true }, { "safeui.com", true }, { "safire.ac.za", true }, { "sagargandecha.com.au", true }, @@ -31793,30 +32719,40 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sahkotyot.eu", true }, { "said.id", true }, { "said.my.id", true }, + { "saidelbakkali.com", true }, { "saidtezel.com", true }, { "saier.me", true }, { "saifoundation.in", true }, { "saigonflowers.com", true }, - { "saigonstar.de", true }, { "saikarra.com", true }, { "saikou.moe", true }, { "saikouji.tokushima.jp", true }, { "sailingonward.com", true }, { "sailormoonevents.org", true }, { "sailormoonlibrary.org", true }, + { "sailwiz.com", true }, { "saimoe.moe", true }, - { "saimoe.org", true }, { "sainetworks.net", true }, { "saint-bernard-gouesch.fr", true }, { "saint-cyril.com", true }, { "saintaardvarkthecarpeted.com", true }, + { "saintanne.net", true }, { "saintanthonyscorner.com", true }, { "sainth.de", true }, + { "sainthedwig-saintmary.org", true }, + { "sainthelena-centersquare.net", true }, { "sainthelenas.org", true }, + { "saintisidorecyo.com", true }, { "saintjamestheapostle.org", true }, { "saintjohn-bocaraton.com", true }, + { "saintjosephschurch.net", true }, { "saintmarkchurch.net", true }, + { "saintmaryna.com", true }, { "saintpatrick-norristown.net", true }, + { "saintpeterchurch.net", true }, + { "saintphilipneri.org", true }, + { "saintpius.net", true }, + { "saintpolycarp.org", true }, { "saintsrobotics.com", true }, { "saipariwar.com", true }, { "saiputra.com", true }, @@ -31825,12 +32761,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sajamstudija.info", true }, { "sajdowski.de", true }, { "sakaki.anime.my", false }, + { "sakamichi.moe", true }, + { "sakerhetskopiering.nu", true }, { "sakostacloud.de", true }, { "sakura-paris.org", true }, { "sakura.zone", true }, { "sakuracdn.com", true }, - { "sakuracommunity.com", false }, + { "sakuracommunity.com", true }, { "sakuraflores.com.br", true }, + { "sakuraplay.com", true }, { "salamon-it.de", false }, { "salandalairconditioning.com", true }, { "salde.net", true }, @@ -31852,12 +32791,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "salesmachine.io", true }, { "salexy.kz", true }, { "salidaswap.com", true }, + { "salixcode.com", true }, { "salland1.nl", true }, { "salle-quali.fr", true }, { "sallydowns.name", true }, { "salmododia.net", true }, { "salmonella.co.uk", true }, - { "salmonrecovery.gov", true }, { "salmonvision.com.tw", true }, { "salmos91.com", true }, { "salmotierra-salvatierra.com", true }, @@ -31875,7 +32814,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saltstack.cz", true }, { "salud.top", false }, { "saludmas.site", true }, - { "saludsexualmasculina.org", true }, { "saludsis.mil.co", true }, { "saludyvida.site", true }, { "salutethefish.com", true }, @@ -31891,6 +32829,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "samara-avia.ru", true }, { "samaritainsmeyrin.ch", true }, { "samatva-yogalaya.com", true }, + { "samba.com.co", true }, { "samba.org", true }, { "sambaa.com.br", true }, { "sambaash.com", true }, @@ -31917,6 +32856,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sammyservers.net", true }, { "sammyslimos.com", true }, { "samnya.cn", true }, + { "samrobertson.co.uk", true }, + { "samshouseofspaghetti.net", true }, { "samsungmobile.it", true }, { "samsungphonegenerator.xyz", true }, { "samtalen.nl", true }, @@ -31925,34 +32866,34 @@ static const nsSTSPreload kSTSPreloadList[] = { { "samuellaulhau.fr", true }, { "samui-samui.de", false }, { "samuirehabcenter.com", true }, - { "samvanderkris.xyz", true }, { "samwilberforce.com", true }, { "samwrigley.co.uk", true }, { "samwu.tw", true }, - { "samyerkes.com", true }, - { "san-mian-ka.ml", true }, { "san.ac.th", true }, { "sana-store.com", true }, { "sana-store.cz", true }, { "sana-store.sk", true }, + { "sanael.net", true }, { "sanantoniolocksmithinc.com", true }, { "sanantoniolocksmithtx.com", true }, { "sanasport.cz", true }, { "sanasport.sk", true }, { "sanatorii-sverdlovskoy-oblasti.ru", true }, { "sanatorionosti.com.ar", true }, - { "sanchez.adv.br", true }, + { "sanbornteam.com", true }, { "sand-islets.de", true }, { "sandalj.com", true }, { "sandbagexpress.com", true }, { "sandbox.mydigipass.com", false }, { "sandboxfp.com", true }, { "sandburner.net", true }, + { "sander.sh", true }, { "sanderdorigo.nl", true }, { "sanderkoenders.eu", true }, { "sanderkoenders.nl", true }, { "sandervanderstap.nl", true }, { "sandervankasteel.nl", false }, + { "sandhaufen.tk", true }, { "sandiegotown.com", true }, { "sandmanintel.com", true }, { "sandmarc.cz", true }, @@ -31963,6 +32904,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sandraindenfotografie.nl", true }, { "sandrocorapi.com", true }, { "sandrolittke.de", true }, + { "sandrproperty.com", true }, { "sandtears.com", true }, { "sandtonescorts.com", true }, { "sandtonplumber24-7.co.za", true }, @@ -31975,6 +32917,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sanglierhurlant.fr", true }, { "sangwon.io", true }, { "sanilodge.com", true }, + { "sanipousse.com", true }, { "sanissimo.com.mx", false }, { "sanitairwinkel.be", true }, { "sanitairwinkel.com", true }, @@ -32013,16 +32956,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sapprendre.ch", true }, { "saprima.de", true }, { "sarahbeckettharpist.com", true }, + { "sarahboydrealty.com", true }, + { "sarahcorliss.com", true }, { "sarahlicity.co.uk", true }, { "sarahlicity.me.uk", true }, { "sarahplusdrei.de", true }, + { "sarahsecret.de", true }, { "sarahvictor.co.uk", true }, { "sarahwikeley.co.uk", true }, { "saraleebread.com", false }, { "sarariman.com", true }, + { "sarasotaroboticurology.com", true }, { "sarasturdivant.com", true }, + { "sardacompost.it", true }, { "sardegnatirocini.it", true }, { "sarink.eu", true }, + { "sarkisianbuilders.com", true }, { "saro.me", true }, { "saronno5stelle.it", true }, { "sarpsb.org", true }, @@ -32038,10 +32987,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sashascollections.com", true }, { "sasioglu.co.uk", true }, { "saskpension.com", true }, - { "sasrobotics.xyz", true }, + { "sassandbelle.co.uk", true }, + { "sassandbelle.com", true }, + { "sassandbelletrade.co.uk", true }, + { "sassandbelletrade.com", true }, { "sastd.com", true }, { "sasyabapi.com", true }, { "sat4all.com", true }, + { "sat7a-riyadh.com", false }, { "satai.dk", true }, { "satal.in", true }, { "satellites.hopto.me", true }, @@ -32078,10 +33031,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "save-me-koeln.de", true }, { "savecrypto.org", true }, { "savenet.org", true }, + { "saveoney.ca", true }, { "saveora.com", true }, { "savetheinternet.eu", true }, { "saveya.com", true }, - { "savic.com", true }, + { "savic.com", false }, { "saviezvousque.net", true }, { "savingrecipe.com", true }, { "savingsoftheyear.com", true }, @@ -32094,6 +33048,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "saxojoe.co.uk", true }, { "saxojoe.de", true }, { "saxoncreative.com", true }, + { "saxotex.de", true }, { "saxwereld.nl", true }, { "sayori.pw", true }, { "sayprepay.com", true }, @@ -32119,19 +33074,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sbit.com.br", true }, { "sblum.de", true }, { "sbo-dresden.de", true }, + { "sbox-servers.com", true }, { "sbr.red", true }, { "sbrouwer.org", true }, { "sbrownbourne.com", true }, { "sbsavings.bank", true }, { "sbsbaits.com", true }, + { "sbscyber.com", true }, { "sbsnursery.co.uk", true }, - { "sbsrv.ml", true }, { "sbssoft.ru", true }, { "sbytes.info", true }, + { "sc-artworks.co.uk", true }, { "sc5.jp", true }, { "scaarus.com", true }, { "scaffalature.roma.it", true }, - { "scaffoldhireeastrand.co.za", true }, { "scalacollege.nl", true }, { "scalaire.com", true }, { "scalaire.fr", true }, @@ -32149,18 +33105,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scarafaggio.it", true }, { "scatsbouncingcastles.ie", true }, { "scbdh.org", true }, + { "scbreed.com", true }, + { "sceenfox.de", true }, { "scelec.com.au", true }, { "scenastu.pl", true }, { "scene.mx", true }, { "scenester.tv", true }, { "scenicbyways.info", true }, + { "scentofwine.com", true }, { "scepticism.com", true }, - { "sceptique.eu", true }, { "schadevergoedingen.eu", true }, { "schaefer-reifen.de", true }, { "schamlosharmlos.de", true }, { "schaper-sport.com", true }, - { "schatmeester.be", true }, { "schatzibaers.de", true }, { "schawe.me", true }, { "schbebtv.fr", true }, @@ -32180,7 +33137,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scheuchenstuel.at", true }, { "schgroup.com", true }, { "schier.info", true }, - { "schil.li", true }, { "schildbach.de", true }, { "schillers-friedberg.de", true }, { "schimmel-test.info", true }, @@ -32205,14 +33161,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schmidthomes.com", true }, { "schmidtplasticsurgery.com", true }, { "schmitt-max.com", true }, - { "schmitz.link", true }, { "schnapke.name", true }, { "schneeketten-ratgeber.de", true }, { "schnegg.name", true }, { "schneidr.de", true }, { "schneids.me", true }, { "schnellno.de", true }, - { "schnellsuche.de", true }, { "schnouki.net", true }, { "schnuckenhof-wesseloh.de", true }, { "schnyder-werbung.ch", true }, @@ -32221,6 +33175,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schoepski.de", true }, { "schoknecht.net", true }, { "schoknecht.one", true }, + { "schoko-ferien.de", true }, + { "schokoferien.de", true }, { "schokofoto.de", true }, { "schokokeks.org", true }, { "scholar.group", true }, @@ -32228,6 +33184,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scholarly.com.ph", true }, { "scholarly.ph", true }, { "scholarnet.cn", true }, + { "scholarshipplatform.com", true }, + { "scholarshipsplatform.com", true }, { "scholarstyle.com", true }, { "scholierenvervoerzeeland.nl", true }, { "schollbox.de", false }, @@ -32255,6 +33213,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schreibers.ca", true }, { "schreinerei-jahreis.de", true }, { "schrenkinzl.at", true }, + { "schritt4fit.de", true }, { "schrodingersscat.com", true }, { "schrodingersscat.org", true }, { "schroeder-immobilien-sundern.de", true }, @@ -32265,6 +33224,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schtiehve.duckdns.org", true }, { "schubergphilis.com", true }, { "schubertgmbh-ingelheim.de", true }, + { "schuelerzeitung-ideenlos.de", true }, { "schuhbeck.tk", true }, { "schuhbedarf.de", true }, { "schuhwerkstatt.at", true }, @@ -32280,6 +33240,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schunako.ch", true }, { "schuppentier.org", true }, { "schurkenstaat.net", true }, + { "schutterijschinveld.nl", true }, { "schutz-vor-schmutz.de", true }, { "schutznetze24.de", false }, { "schutzwerk.com", true }, @@ -32293,8 +33254,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "schwarzhenri.ch", true }, { "schwarztrade.cz", true }, { "schwarzwald-flirt.de", true }, - { "schwedenhaus.ag", true }, - { "schwerkraftlabor.de", true }, { "schwinabart.com", true }, { "schwinger.me", true }, { "schwinnbike.ru", true }, @@ -32317,11 +33276,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scilifebiosciences.com", true }, { "scimage.com", true }, { "scintilla.nl", true }, + { "scintillating.stream", true }, { "scis.com.ua", true }, { "scistarter.com", true }, { "scitopia.me", true }, { "scitopia.net", true }, - { "sckc.stream", false }, { "sclns.co", true }, { "scohetal.de", true }, { "scontogiusto.com", true }, @@ -32330,21 +33289,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scootaloo.co.uk", true }, { "scooterservis.com", true }, { "scootfleet.com", true }, + { "scorerealtygroup.com", true }, { "scorobudem.ru", true }, { "scorocode.ru", true }, { "scorp13.com", true }, + { "scottah.com", true }, { "scottgalvin.com", true }, { "scottgruber.me", true }, { "scottgthomas.com", true }, { "scotthelme.co.uk", true }, + { "scottipc.com", true }, { "scottishcu.org", true }, { "scottishseniorsgolf.com", true }, + { "scottlanderkingman.com", true }, { "scottseditaacting.com", true }, - { "scottstorey.co.uk", true }, { "scotttopperproductions.com", true }, { "scoutingridderkerk.nl", true }, { "scoutingtungelroy.nl", true }, { "scoutnet.de", true }, + { "scouttrails.com", true }, { "scp-trens.notaires.fr", true }, { "scp500.com", true }, { "scpartyentertainment.co.uk", true }, @@ -32360,10 +33323,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scratchandscuffs.uk", true }, { "scrayos.net", true }, { "scredible.com", false }, + { "screefox.de", true }, + { "screen-fox.de", true }, { "screen64.tk", true }, + { "screenfax.de", true }, + { "screenfox.eu", true }, + { "screenfox.info", true }, + { "screenfox.net", true }, { "screenlight.tv", true }, { "screenmachine.com", true }, { "screenparadigm.com", true }, + { "screenpublisher.com", true }, { "scripo-bay.com", true }, { "script.google.com", true }, { "scripter.co", true }, @@ -32372,6 +33342,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scrisulfacebine.ro", true }, { "scrod.me", true }, { "scroll.in", true }, + { "scrtch.fr", true }, { "scrumbleship.com", true }, { "scrumpus.com", true }, { "scrumstack.co.uk", true }, @@ -32381,7 +33352,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scswam.com", true }, { "sctiger.me", true }, { "sctiger.ml", true }, - { "sctm.at", true }, { "sctrainingllc.com", true }, { "scubadiving-phuket.com", true }, { "scubaland.hu", true }, @@ -32390,14 +33360,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "scuolaguidalame.ch", true }, { "scuters.club", true }, { "scw.com", true }, - { "scw.nz", true }, - { "scwilliams.co.uk", true }, - { "scwilliams.uk", true }, { "sd.af", true }, { "sdayman.com", true }, { "sdcardrecovery.de", true }, { "sdg-tracker.org", true }, + { "sdgllc.com", true }, { "sdho.org", true }, + { "sdis-trib.fr", true }, { "sdns.fr", true }, { "sdsi.us", true }, { "sdsk.one", true }, @@ -32406,12 +33375,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sdvigpress.org", true }, { "sdvx.net", true }, { "sdxcentral.com", true }, + { "se-booster.com", true }, + { "se-live.org", true }, { "se-theories.org", true }, { "se.com", true }, { "se.search.yahoo.com", false }, { "seac.me", true }, { "seacam-store.com", true }, { "seachef.it", true }, + { "seadus.ee", true }, { "seafood.co.nz", true }, { "seaholmwines.com", true }, { "sealaw.com", true }, @@ -32419,6 +33391,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sealoffantasy.de", true }, { "sealtitebasement.com", true }, { "seamless.no", true }, + { "seamoo.se", true }, { "sean-wright.com", true }, { "seanholcroft.co.uk", true }, { "seankilgarriff.com", true }, @@ -32443,10 +33416,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "searchcandy.nl", true }, { "searchcandy.uk", true }, { "searchdatalogy.com", true }, + { "searchfox.org", true }, { "seareytraining.com", true }, { "searsucker.com", true }, { "searx.ru", true }, - { "searx.xyz", true }, { "seasidestudios.co.uk", true }, { "season.moe", true }, { "seasons.nu", false }, @@ -32457,7 +33430,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seattlemesh.net", true }, { "seattleprivacy.org", true }, { "seattlewalkinbathtubs.com", true }, - { "seavancouver.com", true }, { "seb-mgl.de", true }, { "sebald.com", true }, { "sebald.org", true }, @@ -32473,6 +33445,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sebastianboegl.de", true }, { "sebastiaperis.com", true }, { "sebasveeke.nl", true }, + { "sebepoznani.eu", true }, { "sebi.org", true }, { "seby.io", true }, { "sec-mails.de", true }, @@ -32483,11 +33456,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sec.gov", true }, { "sec.red", true }, { "sec3ure.co.uk", true }, + { "sec44.com", true }, + { "sec44.net", true }, + { "sec44.org", true }, { "sec455.com", true }, { "sec530.com", true }, { "sec555.com", true }, { "secbone.com", true }, - { "secboom.com", true }, { "seccom.ch", true }, { "secctexasgiving.org", false }, { "secgui.de", true }, @@ -32499,19 +33474,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "secondchancejobsforfelons.com", true }, { "seconfig.sytes.net", true }, { "secpatrol.de", true }, - { "secpoc.online", true }, { "secretar.is", true }, { "secretary-schools.com", true }, + { "secretpigeon.com", true }, { "secretsanta.fr", true }, { "secretsdujeu.com", true }, { "secretserveronline.com", true }, - { "secretum.tech", true }, { "secteer.com", true }, { "sectelligence.nl", true }, { "sectio-aurea.org", true }, { "section-31.org", true }, { "section.io", true }, { "section508.gov", true }, + { "section77.de", true }, { "sectionw2s.org", true }, { "sector5.xyz", true }, { "sectun.com", true }, @@ -32541,6 +33516,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "securify.nl", true }, { "securipy.com", true }, { "securiscan.io", true }, + { "securist.nl", true }, { "security-24-7.com", true }, { "security-brokers.com", true }, { "security.gives", true }, @@ -32548,43 +33524,49 @@ static const nsSTSPreload kSTSPreloadList[] = { { "security.love", true }, { "security201.co.uk", true }, { "security201.com", true }, - { "securitycamerasaustin.net", true }, + { "securityblues.co.uk", true }, { "securitycamerascincinnati.com", true }, - { "securitycamerasjohnsoncity.com", true }, + { "securityescrownews.com", true }, { "securityfest.com", true }, { "securitygladiators.com", true }, { "securityheaders.com", true }, { "securityheaders.io", true }, { "securityheaders.nl", true }, + { "securityindicators.com", true }, { "securityinet.com", false }, { "securitykey.co", true }, + { "securitymap.wiki", true }, { "securitypluspro.com", true }, { "securityprimes.in", true }, { "securitypuppy.com", true }, { "securitysense.co.uk", true }, { "securitysnobs.com", false }, + { "securitystrata.com", true }, { "securitystreak.com", true }, { "securitytrails.com", true }, { "securitywithnick.com", true }, + { "securitywithoutborders.org", true }, { "securityzap.com", true }, { "securocloud.com", true }, { "secutrans.com", true }, { "secuvera.de", false }, + { "secvault.io", true }, { "secwall.me", true }, { "secyourity.se", true }, { "sedeusquiser.net", true }, { "sedlakovalegal.com", true }, { "sedmicka.sk", true }, + { "sedomicilier.fr", true }, { "sedussa.ro", true }, { "see.wtf", true }, { "seeclop.ch", true }, { "seedandleisure.co.uk", true }, + { "seedcoworking.es", true }, { "seedisclaimers.com", true }, { "seednode.co", true }, { "seedsofangelica.net", true }, { "seekers.ch", true }, { "seeks.ru", true }, - { "seekthe.net", true }, { "seemeagain.com", true }, { "seesuite.com", true }, { "seewhatididhere.com", true }, @@ -32596,10 +33578,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "segaretro.org", true }, { "segitz.de", true }, { "segmetic.com", true }, + { "segnidisegni.eu", true }, { "segulink.com", true }, + { "seguridadconsumidor.gov", true }, { "seguros-de-salud-y-vida.com", true }, { "segurosbalboa.com.ec", false }, - { "segurosocial.gov", true }, + { "segurosdecarroshialeah.org", true }, + { "segurosdevidamiami.org", true }, + { "segurosocial.gov", false }, { "seguroviagem.srv.br", false }, { "sehnenweh.org", true }, { "seibert.ninja", true }, @@ -32612,10 +33598,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seitai-nabejun.jp", true }, { "seitai-taiyou.com", true }, { "seitenwaelzer.de", true }, + { "sekikawa.biz", true }, { "sekisonn.com", true }, { "sekoya.org", true }, { "selbys.net.au", true }, { "selcusters.nl", true }, + { "seldax.com", true }, { "selea.se", true }, { "selected-properties.com", true }, { "selectel.com", false }, @@ -32623,7 +33611,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "selectorders.com", true }, { "selectsplat.com", true }, { "selegiline.com", true }, - { "selent.me", true }, + { "selekzo.com", true }, { "self-evident.org", true }, { "self-signed.com", true }, { "self-xss.info", true }, @@ -32638,13 +33626,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "selfoutlet.com", true }, { "selkiemckatrick.com", true }, { "sellajoch.com", true }, + { "selldurango.com", true }, { "sellguard.pl", true }, { "sellme.biz", true }, { "sellmoretires.com", true }, { "sello.com", true }, { "sellorbuy.uk", true }, { "sellorbuy.us", true }, - { "seltendoof.de", true }, { "semacode.com", true }, { "semaf.at", true }, { "semaflex.it", true }, @@ -32652,13 +33640,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "semaphore-studios.com", true }, { "semdynamics.com", true }, { "semenov.su", false }, - { "semianalog.com", true }, { "seminariruum.ee", true }, { "semiocast.com", true }, { "semirben.de", true }, { "semiread.com", true }, { "semjonov.de", true }, - { "semmlers.com", true }, { "semox.de", true }, { "semps-2fa.de", true }, { "semps-threema.de", true }, @@ -32683,18 +33669,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "senekalstorageman.co.za", true }, { "sengokulife.com", true }, { "seniorem.eu", true }, + { "seniorhomepurchaseprogram.com", true }, { "seniors.singles", true }, { "senmendai-reform.com", true }, + { "senmonsyoku.top", true }, { "sennase.net", true }, { "senobio.com", true }, { "senorcontento.com", true }, + { "sens2lavie.com", true }, + { "sensavi.ua", true }, { "sensebridge.com", true }, { "sensebridge.net", true }, { "sensepixel.com", true }, { "senshudo.tv", true }, - { "sensoft-int.net", true }, + { "sensoft-int.org", true }, + { "sensound.ml", true }, { "sentandsecure.com", true }, - { "sentic.info", true }, { "sentidosdelatierra.org", true }, { "sentinel.gov", true }, { "sentinelproject.io", true }, @@ -32713,27 +33703,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seoankara.name.tr", true }, { "seobutler.com", true }, { "seocomposer.com", true }, - { "seoenmexico.com.mx", true }, + { "seodayo.com", true }, { "seoexperte.berlin", true }, { "seogeek.nl", true }, { "seohackers.fr", true }, { "seohouston.com", true }, { "seoinc.com", true }, - { "seoium.com", true }, { "seojames.com", true }, - { "seolib.org", true }, { "seomarketing.bg", true }, { "seon.me", true }, { "seoprovider.nl", true }, { "seoquake.com", true }, + { "seosec.xyz", true }, { "seosof.com", true }, - { "seostepbysteplab.com", true }, + { "seostepbysteplab.com", false }, { "seoul.dating", true }, { "seouniversity.org", true }, + { "seovision.se", true }, { "sepalandseed.com", true }, { "seppelec.com", true }, { "seproco.com", true }, - { "septakkordeon.de", true }, { "septentrionalist.org", true }, { "septfinance.ch", true }, { "septicrepairspecialists.com", true }, @@ -32749,10 +33738,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "serenaden.at", true }, { "serendeputy.com", true }, { "serf.io", true }, + { "serge-design.ch", true }, { "sergeemond.ca", true }, { "sergefonville.nl", true }, { "sergeyreznikov.com", true }, { "sergije-stanic.me", true }, + { "sergiojimenezequestrian.com", true }, { "sergiosantoro.it", true }, { "sergiozygmunt.com", true }, { "sergos.de", true }, @@ -32763,10 +33754,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "seriousclimbing.com", true }, { "seriouss.am", true }, { "sernate.com", true }, - { "serotiuk.com", true }, + { "serotiuk.com", false }, { "serpenteq.com", true }, { "serrano-chris.ch", true }, - { "servdiscount.com", true }, + { "seru.eu", true }, { "serve-a.com.au", true }, { "servea.com.au", true }, { "serveatechnologies.com", true }, @@ -32778,6 +33769,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "server-essentials.com", false }, { "server-eye.com", true }, { "server-eye.de", true }, + { "server92.tk", true }, { "serveradium.com", true }, { "serveradminz.com", true }, { "serverco.com", true }, @@ -32796,7 +33788,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "servethecity-karlsruhe.de", true }, { "servettorna.com", true }, { "servgate.jp", true }, - { "service-wueste-vodafone.tk", true }, { "service.gov.uk", true }, { "servicebeaute.fr", true }, { "serviceboss.de", true }, @@ -32807,14 +33798,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "servious.org", true }, { "servitek.de", true }, { "serviziourgente.it", true }, + { "servo.org", true }, { "servx.org", true }, { "serw.org", true }, { "serwis-wroclaw.pl", true }, + { "serwusik.pl", true }, { "seryox.com", true }, { "sesam-biotech.com", true }, { "sessionslogning.dk", true }, { "sesslerimmo.ch", true }, { "sestra.in", true }, + { "setasgourmet.es", true }, { "setenforce.one", true }, { "setfix.de", true }, { "sethcaplan.com", true }, @@ -32823,14 +33817,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "setphaserstostun.org", true }, { "setsailanddive.com", true }, { "settberg.de", true }, - { "setterirlandes.com.br", true }, + { "settimanadellascienza.it", true }, { "settleapp.co", true }, + { "setuid.io", true }, { "setuid0.kr", true }, { "setyoursite.nl", true }, { "seva.fashion", true }, { "seven-purple.com", true }, { "sevencooks.com", true }, - { "sevenet.pl", true }, { "sevenhillsapartments.com.au", true }, { "sevenicealimentos.com.br", true }, { "sevenmatches.com", true }, @@ -32838,6 +33832,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "severine-trousselard.com", true }, { "severntrentinsuranceportal.com", true }, { "sevinci.ch", true }, + { "sevwebdesign.com", true }, { "sewa.nu", true }, { "sewafineseam.com", true }, { "sewinginsight.com", true }, @@ -32846,14 +33841,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sexdocka.nu", true }, { "sexflare.net", true }, { "sexmobil.de", true }, + { "sexplicit.co.uk", true }, { "sexservice.io", true }, - { "sexshopnet.com.br", true }, { "sexy-store.nl", true }, + { "seydaozcan.com", true }, { "seyfarth.de", true }, { "seyr.me", true }, { "sfa.sk", true }, { "sfaparish.org", true }, - { "sfcomercio.com.br", true }, { "sfdev.ovh", true }, { "sfg-net.com", true }, { "sfg-net.eu", true }, @@ -32877,6 +33872,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sgroup-rec.com", true }, { "sgs-systems.de", true }, { "sgs.camera", true }, + { "sgs.systems", true }, { "sgsp.nl", true }, { "sgtcodfish.com", true }, { "sgtt.ch", true }, @@ -32886,6 +33882,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sh0rt.zone", true }, { "sh0shin.org", true }, { "shaadithailand.com", true }, + { "shabiwangyou.com", true }, { "shad.waw.pl", true }, { "shadesofgrayadr.com", true }, { "shadesofgraylaw.com", true }, @@ -32913,6 +33910,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shaicoleman.com", true }, { "shainessim.com", true }, { "shakan.ch", true }, + { "shakebox.de", true }, { "shaken-kyoto.jp", true }, { "shaken110.com", true }, { "shakepeers.org", false }, @@ -32925,12 +33923,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shalyapin.by", true }, { "shamara.info", true }, { "shamariki.ru", true }, + { "shamka.ru", true }, + { "shampoo63.ru", true }, { "shan.io", false }, { "shan.si", true }, { "shanahanstrategy.com", true }, { "shanetully.com", true }, - { "shanewadleigh.com", true }, - { "shangzhen.site", true }, { "shankangke.com", true }, { "shannoneichorn.com", true }, { "shansing.cn", true }, @@ -32942,6 +33940,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "share.works", true }, { "sharealo.org", true }, { "sharedhost.de", true }, + { "sharejoy.cn", false }, { "sharekey.com", false }, { "sharelovenotsecrets.com", true }, { "shareoffice.ch", true }, @@ -32952,11 +33951,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sharisharpe.com", true }, { "shark.cat", true }, { "shark5060.net", true }, - { "sharkie.org.za", true }, + { "sharkcut.se", true }, { "sharperedge.pw", true }, { "sharperedgecomputers.com", true }, { "sharu.me", true }, { "sharvey.ca", true }, + { "shattered-souls.de", true }, { "shaun.net", true }, { "shaunandamyswedding.com", true }, { "shaunc.com", true }, @@ -32982,6 +33982,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shehaal.com", true }, { "shehata.com", true }, { "sheilasdrivingschool.com", true }, + { "shek.zone", true }, { "shelfordsandstaplefordscouts.org.uk", true }, { "shellday.cc", true }, { "shelleystoybox.com", true }, @@ -32989,20 +33990,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shellgame.io", true }, { "shellj.me", true }, { "shelljuggler.com", false }, - { "shellot.com", true }, { "shellshock.eu", true }, { "shellvatore.us", true }, { "shemsconseils.ma", true }, - { "shena.co.uk", true }, + { "shengbao.org", true }, { "shenghaiautoparts.com", true }, { "shenghaiautoparts.net", true }, - { "shengrenyu.com", true }, { "shens.ai", true }, { "shenyuqi.com", false }, { "sherbers.de", true }, { "sherrikehoetherapy.com", true }, { "sherut.net", true }, { "shft.cl", true }, + { "shg-pornographieabhaengigkeit.de", false }, { "shgroup.xyz", true }, { "shgt.jp", true }, { "shh-listen.com", true }, @@ -33011,6 +34011,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shichibukai.net", true }, { "shico.org", true }, { "shieldcomputer.com", true }, + { "shielder.it", true }, { "shieldfe.com", true }, { "shieldofachilles.in", true }, { "shift-record.com", true }, @@ -33026,7 +34027,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shikimori.org", true }, { "shimi.net", true }, { "shimo.im", true }, - { "shin-inc.jp", true }, { "shinghoi.com", true }, { "shinglereplacementlv.com", true }, { "shining.gifts", true }, @@ -33035,18 +34035,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shinonome-lab.eu.org", true }, { "shinsyo.com", true }, { "shintoism.com", true }, + { "shinuytodaati.co.il", true }, { "shinyuu.net", true }, { "shipard.com", true }, { "shipard.cz", true }, { "shipcloud.io", true }, + { "shippercenter.info", true }, { "shiqi.ca", true }, + { "shiqi.lol", true }, { "shiqi.one", true }, + { "shiqi.tv", true }, { "shiqisifu.cc", true }, { "shirakaba-cc.com", true }, + { "shirao.jp", true }, { "shirt2go.shop", true }, { "shirtsdelivered.com", true }, { "shirtsofholland.com", true }, - { "shishamania.de", true }, + { "shiseki.top", true }, { "shishkabobnc.com", true }, { "shishkin.us", true }, { "shishlik.net", true }, @@ -33056,7 +34061,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shitposts.se", true }, { "shitproductions.org", true }, { "shitsta.in", true }, - { "shivamber.com", true }, { "shivammaheshwari.com", true }, { "shivammathur.com", true }, { "shivatattvayoga.com", true }, @@ -33070,11 +34074,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shoeracks.uk", true }, { "shoestringeventing.co.uk", true }, { "shokola.com", true }, + { "sholtowu.com", true }, { "shome.de", true }, { "shooter.dog", true }, + { "shootingstarmedium.com", true }, { "shop-hellsheadbangers.com", true }, { "shop-s.net", true }, - { "shop.fr", true }, { "shop4d.com", true }, { "shopadvies.nl", true }, { "shopalike.cz", true }, @@ -33096,14 +34101,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shopcoupons.my", true }, { "shopcoupons.ph", true }, { "shopcoupons.sg", true }, - { "shophisway.com", true }, { "shopific.co", true }, + { "shopific.com", true }, { "shopify.com", true }, { "shopifycloud.com", true }, { "shopkini.com", true }, { "shoplandia.co", true }, { "shopperexperts.com", true }, - { "shoppia.se", true }, { "shopping24.de", true }, { "shoppr.dk", true }, { "shopregional.com.br", true }, @@ -33117,6 +34121,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "short-term-plans.com", true }, { "shortcut.pw", true }, { "shortdiary.me", true }, + { "shorten.ninja", true }, { "shoshin-aikido.de", true }, { "shoshin.technology", true }, { "shotbow.net", true }, @@ -33126,6 +34131,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shovonhasan.com", true }, { "show-saratov.ru", false }, { "showbits.net", true }, + { "showersnet.com", true }, { "showf.om", true }, { "showmax.com", true }, { "showmethemoney.ru", true }, @@ -33136,16 +34142,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "showroom113.ru", true }, { "showsonar.com", true }, { "shredriteservices.com", true }, - { "shreyansh26.me", true }, { "shrike.me", false }, { "shrinidhiclinic.in", true }, { "shrinkhub.com", true }, { "shrub.ca", true }, { "shrug.ml", true }, + { "shtaketniki.kz", true }, + { "shtaketniki.ru", true }, { "shteiman.net", true }, { "shu-fu.net", true }, + { "shuax.com", true }, { "shuffleradio.nl", true }, { "shugo.net", true }, + { "shuhacksoc.co.uk", true }, { "shukatsu-support.jp", true }, { "shulan.moe", true }, { "shuletime.ml", true }, @@ -33155,19 +34164,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "shuset.dk", true }, { "shushu.media", true }, { "shutter-shower.com", true }, - { "shuvo.rocks", true }, { "shuvodeep.de", true }, { "shux.pro", true }, { "shwrm.ch", true }, - { "shybynature.com", true }, { "shyuka.me", true }, { "si-benelux.nl", true }, { "si.to", true }, { "si2b.fr", true }, { "siaggiusta.com", true }, + { "siamdevsqua.re", true }, + { "siamdevsquare.com", true }, { "siamsnus.com", true }, { "sianbryn.co.uk", true }, { "sianjhon.com", true }, + { "siberas.de", true }, + { "siberkulupler.com", true }, + { "sibertakvim.com", true }, { "sibfk.org", true }, { "sibiutourguide.com", true }, { "sibrenvasse.nl", true }, @@ -33178,7 +34190,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sicken.eu", true }, { "sickfile.com", true }, { "siconnect.us", true }, - { "sicurled.com", true }, + { "sicurled.com", false }, { "sidelka-tver.ru", true }, { "sidema.be", true }, { "sidemount-forum.com", true }, @@ -33186,7 +34198,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sidepodcast.com", true }, { "sidepodcastdaily.com", true }, { "sidepodcastextra.com", true }, - { "sideropolisnoticias.com.br", true }, { "sideshowbarker.net", true }, { "sidium.de", true }, { "sidnicio.us", true }, @@ -33224,6 +34235,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "significantbanter.com", true }, { "signing-milter.org", true }, { "signix.net", true }, + { "signrightsigns.co.uk", true }, { "signtul.com", false }, { "sigsrv.net", true }, { "sigterm.no", true }, @@ -33231,6 +34243,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sigurnost.online", true }, { "siirtutkusu.com", true }, { "sikayetvar.com", false }, + { "sikecikcomel.com", true }, { "sikevux.se", true }, { "sikko.biz", true }, { "siku-shop.ch", true }, @@ -33240,6 +34253,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "silent-clean.de", true }, { "silent-yachts.com", true }, { "silent.live", false }, + { "silentexplosion.de", true }, { "silentkernel.fr", false }, { "silentundo.org", true }, { "silerfamily.net", true }, @@ -33250,13 +34264,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "siliconchip.me", true }, { "silkebaekken.no", true }, { "silkebeckmann.de", true }, + { "silkon.net", true }, { "sillisalaatti.fi", true }, { "sillysnapz.co.uk", true }, { "silo.org.br", true }, { "siloportem.net", true }, { "silsha.me", true }, { "silv.me", true }, - { "silvacor-ziegel.de", true }, { "silver-heart.co.uk", true }, { "silverbowflyshop.com", true }, { "silverdragonart.com", true }, @@ -33303,16 +34317,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "silvergoldbull.in", true }, { "silvergoldbull.is", true }, { "silvergoldbull.it", true }, - { "silvergoldbull.kg", true }, { "silvergoldbull.kr", true }, { "silvergoldbull.ky", true }, { "silvergoldbull.li", true }, { "silvergoldbull.lk", true }, - { "silvergoldbull.lt", true }, { "silvergoldbull.lv", true }, { "silvergoldbull.ma", true }, { "silvergoldbull.mk", true }, - { "silvergoldbull.ml", true }, { "silvergoldbull.mw", true }, { "silvergoldbull.my", true }, { "silvergoldbull.nz", true }, @@ -33338,6 +34349,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "silverseen.com", true }, { "silverswanrecruitment.com", true }, { "silverwind.io", true }, + { "silvesrom.ro", true }, { "silvine.xyz", true }, { "silvobeat.blog", true }, { "silvobeat.com", true }, @@ -33412,11 +34424,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "simplycloud.de", true }, { "simplyfixit.co.uk", true }, { "simplyhelen.de", true }, + { "simplylifetips.com", true }, { "simplylovejesus.com", true }, { "simplymozzo.se", true }, - { "simplyrara.com", true }, { "simplyregister.net", true }, { "simplystudio.com", true }, + { "simplytiles.com", true }, { "simpte.com", true }, { "simpul.nl", true }, { "simrail.nl", true }, @@ -33426,7 +34439,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sin.swiss", true }, { "sinaryuda.web.id", true }, { "sinatrafamily.com", true }, - { "sinceschool.com", true }, { "sinclairinat0r.com", true }, { "sinde.ru", true }, { "sinefili.com", true }, @@ -33441,7 +34453,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "singleuse.link", true }, { "singlu10.org", false }, { "sinktank.de", true }, - { "sinn.io", true }, { "sinnersprojects.ro", true }, { "sinomod.com", true }, { "sinonimos.com.br", true }, @@ -33453,9 +34464,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sintaxis.org", true }, { "sinterama.biz", true }, { "sinuelovirtual.com.br", true }, + { "sinusitis-bronchitis.ch", true }, { "sioeckes.hu", true }, { "sion.info", true }, { "sipc.org", true }, + { "sipstix.co.za", true }, { "siratalmustaqim.com", true }, { "siraweb.org", true }, { "sirbouncealotcastles.co.uk", true }, @@ -33469,6 +34482,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sirtaptap.com", true }, { "sirtuins.com", true }, { "sirvoy.com", true }, + { "sisiengineers.gq", true }, { "sisseastumine.ee", true }, { "sistel.es", true }, { "sistem-maklumat.com", true }, @@ -33483,6 +34497,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sit.ec", true }, { "sitc.sk", true }, { "site-helper.com", true }, + { "siteage.net", true }, { "sitebuilderreport.com", true }, { "sitedrive.fi", true }, { "sitefactory.com.br", true }, @@ -33491,10 +34506,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "siterencontre.me", true }, { "sites.google.com", true }, { "sitesko.de", true }, - { "sitesuccessful.com", true }, { "sitevandaag.nl", true }, { "sitischu.com", true }, - { "sitsy.ru", false }, { "sivale.mx", true }, { "sivyerge.com", true }, { "siw64.com", true }, @@ -33504,13 +34517,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sixtwentyten.com", true }, { "sj-leisure.com", true }, { "sjaakgilsingfashion.nl", true }, - { "sjatsh.com", true }, + { "sjbwoodstock.org", true }, { "sjd.is", true }, - { "sjdaws.com", true }, { "sjis.me", true }, { "sjleisure.co.uk", true }, { "sjoorm.com", true }, - { "sjv4u.ch", true }, { "sk-net.cz", true }, { "skala.io", true }, { "skalarwelle.eu", true }, @@ -33528,10 +34539,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skepneklaw.com", true }, { "skepticalsports.com", true }, { "sketchmyroom.com", true }, + { "sketchywebsite.net", true }, + { "skgzberichtenbox.nl", true }, { "skhaz.io", true }, { "skhire.co.uk", true }, { "skhoop.cz", true }, { "skia.org", false }, + { "skiblandford.com", true }, { "skid.church", true }, { "skiddle.com", true }, { "skifairview.com", true }, @@ -33544,7 +34558,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skillmoe.at", true }, { "skillout.org", true }, { "skills2serve.org", true }, - { "skills2services.com", true }, { "skillseo.com", true }, { "skin-cosmetic.eu", true }, { "skincare-note.com", true }, @@ -33564,21 +34577,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skks.cz", true }, { "sklepsamsung.pl", true }, { "sklepwielobranzowymd.com", true }, - { "sklotechnik.cz", true }, { "sknclinics.co.uk", true }, { "skogsbruket.fi", true }, { "skogskultur.fi", true }, { "skol.bzh", true }, { "skolagatt.is", true }, + { "skolakrizik.cz", true }, { "skolem.de", true }, { "skoleniphp.cz", true }, { "skommettiamo.it", true }, { "skontakt.cz", true }, { "skontorp-enterprise.no", true }, { "skoolergraph.azurewebsites.net", true }, + { "skorepova.info", true }, { "skortekaas.nl", false }, { "skory.us", true }, { "skou.dk", false }, + { "skpk.de", true }, { "skram.de", true }, { "skryptersi.pl", true }, { "sksdrivingschool.com.au", true }, @@ -33591,7 +34606,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sky-coach.com", true }, { "sky-coach.nl", true }, { "sky-live.fr", true }, - { "sky-universe.net", true }, { "skyanchor.com", true }, { "skybloom.io", true }, { "skycmd.net", true }, @@ -33599,6 +34613,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skydragoness.com", true }, { "skydrive.live.com", false }, { "skyem.co.uk", true }, + { "skyfone.cz", true }, + { "skyger.cz", true }, { "skylgenet.nl", true }, { "skylightcreative.com.au", true }, { "skylinertech.com", true }, @@ -33609,7 +34625,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skynet233.ch", true }, { "skynethk.com", true }, { "skynetnetwork.eu.org", true }, - { "skynetz.tk", true }, { "skype.com", true }, { "skyquid.co.uk", true }, { "skys-entertainment.com", true }, @@ -33618,7 +34633,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "skyynet.de", true }, { "skyzimba.com.br", true }, { "sl-bildermacher.de", true }, - { "sl0.us", true }, + { "sl-informatique.ovh", true }, { "sl899.com", true }, { "sl998.com", true }, { "slab.com", false }, @@ -33635,7 +34650,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slash32.co.uk", true }, { "slashcrypto.org", true }, { "slate.to", true }, - { "slatemc.fun", true }, { "slatop.org", false }, { "slaughter.com", true }, { "slaughterhouse.fr", true }, @@ -33656,14 +34670,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slevomat.cz", true }, { "slicklines.co.uk", true }, { "slidebatch.com", true }, - { "slides.zone", true }, + { "slightfuture.com", true }, { "slik.ai", true }, { "slim-slender.com", true }, - { "slimk1nd.nl", true }, { "slimspots.com", true }, { "slingo-sta.com", true }, { "slingooriginals.com", true }, - { "slingoweb.com", true }, { "slink.hr", true }, { "slip-gaming.tk", true }, { "slneighbors.org", true }, @@ -33684,6 +34696,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "slpower.com", true }, { "slrd-isperih.com", true }, { "sluciaconstruccion.com", true }, + { "sluimann.de", false }, { "sluitkampzeist.nl", false }, { "slusham.com", true }, { "slvh.fr", true }, @@ -33712,6 +34725,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smaltimentoamianto.frosinone.it", true }, { "smaltimentoamianto.latina.it", true }, { "smaltimentorifiuti.firenze.it", true }, + { "smaltimentorifiuti.livorno.it", true }, { "smaltimentorifiuti.veneto.it", true }, { "smares.de", true }, { "smart-cp.jp", true }, @@ -33728,7 +34742,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smartcleaningcenter.nl", true }, { "smartcpa.ca", true }, { "smartedg.io", true }, - { "smartest-trading.com", true }, { "smartfit.cz", true }, { "smartftp.com", true }, { "smarthdd.com", true }, @@ -33740,21 +34753,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smartlogstock.com", true }, { "smartlogtower.com", true }, { "smartmarketingcoaching.com", true }, + { "smartmeal.ru", true }, { "smartmessages.net", true }, - { "smartmompicks.com", true }, { "smartmomsmartideas.com", true }, { "smartpass.government.ae", true }, { "smartphonechecker.co.uk", true }, + { "smartphones-baratos.com", true }, { "smartpolicingplatform.com", true }, { "smartrecruit.ro", true }, { "smartservices.nl", true }, { "smartshiftme.com", true }, { "smartship.co.jp", true }, + { "smartshoppers.es", true }, { "smartsparrow.com", true }, { "smartthursday.hu", true }, { "smartvideo.io", true }, { "smartviewing.com", true }, { "smartwank.com", true }, + { "smartweb.ge", true }, { "smartwelve.com", true }, { "smartwoodczech.cz", true }, { "smartwurk.nl", false }, @@ -33766,6 +34782,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sme-gmbh.net", true }, { "smeetsengraas.com", true }, { "smeso.it", true }, + { "smexpt.com", true }, { "smiatek.name", true }, { "smileandpay.com", true }, { "smiledirectsales.com", true }, @@ -33779,8 +34796,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smit.com.ua", true }, { "smit.ee", true }, { "smith.co", true }, - { "smith.is", true }, { "smithandcanova.co.uk", false }, + { "smithchow.com", true }, + { "smithchung.eu", true }, { "smithfieldbaptist.org", true }, { "smkw.com", false }, { "smm.im", true }, @@ -33792,11 +34810,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smoo.st", true }, { "smoothcomp.com", true }, { "smoothgesturesplus.com", true }, - { "smoothics.at", true }, - { "smoothics.com", true }, - { "smoothics.eu", true }, - { "smoothics.mobi", true }, - { "smoothics.net", true }, { "smoothtalker.com", true }, { "smorgasblog.ie", true }, { "smow.com", true }, @@ -33807,16 +34820,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "smsben.net", true }, { "smsbrana.cz", true }, { "smsg-dev.ch", true }, + { "smsinger.com", true }, { "smsk.email", true }, { "smsk.io", true }, { "smskeywords.co.uk", true }, { "smskmail.com", true }, { "smsprivacy.org", true }, + { "smspujcka24.eu", true }, { "smtp.in.th", true }, { "smuncensored.com", true }, { "smutba.se", true }, { "smutek.net", true }, + { "smvcm.com", true }, { "smx.net.br", true }, + { "sn0int.com", true }, + { "snabbare-dator.se", true }, + { "snabbit-support.nu", true }, + { "snabbit-support.se", true }, { "snackbesteld.nl", true }, { "snafu.cz", true }, { "snakafya.com", true }, @@ -33831,9 +34851,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snaptools.io", true }, { "snargol.com", true }, { "snatch.com.ua", true }, + { "snazel.co.uk", false }, { "snazzie.nl", true }, { "sncdn.com", true }, { "sndbouncycastles.co.uk", true }, + { "sneak.berlin", true }, { "sneakpod.de", true }, { "sneakynote.com", true }, { "sneakypaw.com", true }, @@ -33842,6 +34864,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sneedit.com", true }, { "sneedit.de", true }, { "sneeuwhoogtes.eu", true }, + { "snegozaderzhatel.ru", true }, { "snel4u.nl", true }, { "snelbv.nl", true }, { "snelshops.nl", true }, @@ -33852,18 +34875,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sngallery.co.uk", true }, { "sngeo.com", true }, { "sniderman.eu.org", true }, + { "sniderman.org", true }, { "sniderman.us", true }, { "sniep.net", true }, { "snight.co", true }, { "snille.com", true }, { "snip.run", true }, + { "snippet.host", true }, { "snippet.wiki", true }, { "snl.no", true }, { "sno-kingroofing-gutters.com", true }, { "snoerendevelopment.nl", true }, { "snohomishsepticservice.com", true }, { "snopyta.com", true }, - { "snoringhq.com", true }, + { "snortfroken.net", true }, { "snote.io", true }, { "snoupon.com", true }, { "snow-online.com", true }, @@ -33875,11 +34900,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "snowdy.dk", true }, { "snowhaze.ch", true }, { "snowhaze.com", true }, + { "snoworld.one", true }, { "snowpak.com", true }, { "snowpaws.de", true }, + { "snowplane.net", true }, { "snowraven.de", true }, { "snowy.land", true }, + { "snowyluma.com", true }, { "snowyluma.me", true }, + { "snperformance.gr", true }, { "snrat.com", true }, { "snrub.co", true }, { "sntravel.co.uk", true }, @@ -33930,23 +34959,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "socoastal.com", true }, { "sodadigital.com.au", true }, { "sodafilm.de", true }, - { "sodamakerclub.com", true }, { "sodexam.pro", true }, { "sodi.nl", true }, { "sodiao.cc", true }, { "sodomojo.com", true }, + { "soe-server.com", true }, { "sofa-rockers.org", true }, { "sofabedshop.de", true }, + { "sofiadaoutza.gr", true }, { "sofiavanmoorsel.com", true }, + { "sofiesteinfeld.de", true }, { "sofort.com", true }, { "sofortimplantate-muenchen.de", true }, { "sofortueberweisung.de", true }, + { "soft41.ru", true }, { "softandbouncy.co.uk", true }, { "softanka.com", true }, { "softart.club", true }, { "softballrampage.com", true }, - { "softbebe.com", true }, + { "softblinds.co.uk", true }, { "softcreatr.de", false }, + { "softfay.com", true }, { "softonic.com", true }, { "softonic.com.br", true }, { "softonic.jp", true }, @@ -33954,10 +34987,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "softplay4hire.co.uk", true }, { "softprayog.in", true }, { "softrobot.se", true }, + { "softsecmatheodexelle.be", true }, { "softtennis-zenei.com", true }, { "softw.net", true }, { "software.rocks", true }, { "softwarebetrieb.de", true }, + { "softwarebeveiligingtestdomein.be", true }, { "softwaredesign.foundation", false }, { "softwarehardenberg.nl", true }, { "softwarevoortherapeuten.nl", true }, @@ -34018,13 +35053,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "solomisael.com", true }, { "solomo.pt", true }, { "solonotizie24.it", true }, - { "solsocog.de", true }, + { "solos.im", true }, + { "soloshu.co", true }, + { "solsocog.de", false }, { "soluphant.de", true }, { "solutionhoisthire.com.au", true }, + { "solutions-teknik.com", true }, { "solvation.de", true }, { "solve-it.se", true }, + { "solve.co.uk", true }, { "solved.tips", true }, { "solvemethod.com", true }, + { "solvewebmedia.com", true }, { "solvingproblems.com.au", true }, { "solvops.com", true }, { "somaini.li", true }, @@ -34036,6 +35076,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "somecrazy.com", true }, { "somersetscr.nhs.uk", true }, { "somersetwellbeing.nhs.uk", true }, + { "somethingsketchy.net", true }, { "sommefeldt.com", true }, { "somoshuemul.cl", true }, { "somosnoticia.com.br", true }, @@ -34048,7 +35089,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sonavankova.cz", true }, { "sondergaard.de", true }, { "sondersobk.dk", true }, - { "songluck.com", true }, { "songshuzuoxi.com", true }, { "songsmp3.co", true }, { "songsmp3.com", true }, @@ -34075,8 +35115,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soontm.net", true }, { "soopure.nl", true }, { "sooscreekdental.com", true }, - { "soothemobilemassage.com.au", true }, { "soph.jp", true }, + { "soph.us", true }, { "sopher.io", true }, { "sophiaandmatt.co.uk", true }, { "sophiakligys.com", true }, @@ -34098,8 +35138,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sortesim.com.br", true }, { "soruly.com", true }, { "sorz.org", true }, + { "sos-elettricista.it", true }, + { "sos-fabbro.it", true }, { "sos-falegname.it", true }, { "sos-idraulico.it", true }, + { "sos-muratore.it", true }, + { "sosesh.shop", true }, { "sosoftplay.co.uk", true }, { "sospromotions.com.au", true }, { "sostacancun.com", true }, @@ -34113,6 +35157,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sou-co.jp", true }, { "soubriquet.org", true }, { "soufastnet.com.br", true }, + { "sougi-review.top", true }, + { "souked.com", true }, { "souki.cz", true }, { "soukodou.jp", true }, { "soul-source.co.uk", true }, @@ -34125,6 +35171,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soumikghosh.com", true }, { "soumya92.me", true }, { "soundabout.nl", true }, + { "soundbytemedia.com", true }, { "soundeo.com", true }, { "soundeo.net", true }, { "soundhunter.xyz", false }, @@ -34133,11 +35180,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "soundscrate.com", true }, { "soundtruckandautorepair.com", true }, { "soupcafe.org", true }, - { "souqtajmeel.com", true }, { "sour.is", true }, { "souravsaha.com", true }, { "sourcebox.be", false }, - { "sourcely.net", true }, + { "sourcecode.tw", true }, { "sourceway.de", true }, { "souris.ch", true }, { "southafrican.dating", true }, @@ -34146,11 +35192,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "southbankregister.com.au", true }, { "southcountyplumbing.com", true }, { "southdakotahealthnetwork.com", true }, + { "southeastvalleyurology.com", true }, + { "southernlights.gq", true }, { "southernmost.us", true }, { "southernstructuralsolutions.com", true }, + { "southernsurgicalga.com", true }, { "southernutahinfluencers.com", true }, { "southflanewsletter.com", true }, { "southlakenissanparts.com", true }, + { "southlandurology.com", true }, { "southmelbourne.apartments", true }, { "southmorangtownhouses.com.au", true }, { "southside-crew.com", true }, @@ -34165,6 +35215,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sowlutions.com", true }, { "soybase.org", true }, { "soydemac.com", true }, + { "soz6.com", true }, { "sozai-good.com", true }, { "sozialy.com", true }, { "sozon.ca", true }, @@ -34174,6 +35225,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "space-it.de", true }, { "space-y.cf", true }, { "spacebaseapp.com", true }, + { "spacebear.ee", true }, { "spacedirectory.org", true }, { "spacedots.net", true }, { "spacehighway.ms", true }, @@ -34189,9 +35241,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spakurort.eu", true }, { "spaldingwall.com", true }, { "spamdrain.com", true }, - { "spamwc.de", true }, { "spanda.io", true }, { "spanjeflydrive.nl", true }, + { "spanner.works", true }, { "spanyolul.hu", true }, { "spar-ni.co.uk", true }, { "sparanoid.com", true }, @@ -34200,15 +35252,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sparkforautism.org", true }, { "sparklatvia.lv", true }, { "sparklebastard.com", true }, - { "sparkresearch.net", true }, - { "sparkreviewcenter.com", true }, { "sparkz.no", true }, { "sparprofi.at", true }, - { "sparta-en.org", true }, { "sparta-solutions.de", true }, { "spartaconsulting.fi", true }, { "spartacuslife.com", true }, { "spartaermelo.nl", true }, + { "sparxsolutions.be", true }, { "spasicilia.it", true }, { "spatzenwerkstatt.de", true }, { "spaysy.com", true }, @@ -34216,19 +35266,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spaziopervoi.com.br", true }, { "spazturtle.co.uk", true }, { "spazzacamino.roma.it", true }, + { "spbet99.com", true }, { "spd-pulheim-mitte.de", true }, { "spdepartamentos.com.br", true }, { "spdf.net", true }, { "spdillini.com", true }, { "speak-polish.com", true }, + { "speakingdiligence.com", true }, { "spearfishingmx.com", true }, { "speargames.net", true }, { "specdrones.us", true }, + { "specialized-hosting.eu", true }, + { "specialproperties.com", true }, { "specialtyalloys.ca", true }, { "speciesism.com", true }, { "spectroom.space", true }, - { "spectrosoftware.de", true }, { "spectrum.gov", true }, + { "spediscifiori.com", true }, + { "spedition-transport-umzug.de", true }, { "speech-balloon.com", true }, { "speechdrop.net", true }, { "speechmate.com", true }, @@ -34250,27 +35305,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spellcheckci.com", true }, { "spellchecker.net", true }, { "spenglerei-shop.de", true }, + { "spenny.tf", true }, { "sperandii.it", true }, { "sperec.fr", true }, { "sperrstun.de", true }, { "spesys-services.fr", true }, { "spha.info", true }, + { "sphere-realty.com", true }, { "sphereblur.com", true }, - { "spherenix.org", true }, { "sphido.org", true }, + { "spicejungle.com", true }, { "spicydog.org", true }, { "spicymatch.com", true }, { "spidermail.tk", true }, { "spidernet.tk", true }, { "spideroak.com", true }, { "spiders.org.ua", true }, - { "spiel-teppich.de", true }, { "spielezar.ch", true }, { "spielland.ch", true }, { "spiellawine.de", true }, { "spiet.nl", true }, { "spiff.eu", true }, { "spiga.ch", true }, + { "spikelands.com", true }, { "spilogkoder.dk", true }, { "spinalien.net", false }, { "spinalo.se", true }, @@ -34280,6 +35337,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spinor.im", true }, { "spins.fedoraproject.org", true }, { "spinspin.wtf", true }, + { "spiralschneiderkaufen.de", true }, { "spirella-shop.ch", true }, { "spirit55555.dk", true }, { "spiritual.dating", true }, @@ -34297,13 +35355,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "splintermail.com", true }, { "splitdna.com", true }, { "splitreflection.com", true }, + { "splnk.net", true }, { "splopp.com", true }, { "splunk.net", true }, + { "spnitalianfestival.com", true }, { "spodelime.com", true }, { "spokaneexteriors.com", true }, { "spokanepolebuildings.com", true }, - { "spoketwist.com", true }, { "spoluck.ca", true }, + { "spolwind.de", true }, { "spom.net", true }, { "sponc.de", true }, { "spongepowered.org", true }, @@ -34338,15 +35398,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sportugalia.ru", true }, { "sportvereine.online", true }, { "sportwette.eu", true }, + { "sportwetten-anbieter.de", true }, { "sportxt.ru", true }, { "spot-lumiere-led.com", true }, { "spotrebitelskecentrum.sk", true }, { "spottedpenguin.co.uk", true }, - { "spotteredu.com", true }, { "spotupload.com", true }, { "sppin.fr", true }, - { "spr.id.au", true }, { "sprachfreudehoch3.de", true }, + { "sprax2013.de", true }, { "sprayforce.com", true }, { "spreadsheetgear.com", true }, { "spreadsheets.google.com", true }, @@ -34356,16 +35416,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "spricknet.de", true }, { "springerundpartner.de", true }, { "springfieldbricks.com", true }, + { "springhillmaine.com", true }, { "springreizen.nl", true }, { "sprinklermanohio.com", true }, { "spritmonitor.de", true }, { "spritsail.io", true }, + { "spro.in", true }, { "sproktz.com", true }, + { "spron.in", true }, + { "sproutways.com", true }, { "sprucecreekclubs.com", true }, { "sprucecreekgcc.com", true }, { "sps-lehrgang.de", true }, { "spslawoffice.com", true }, { "spsnewengland.org", true }, + { "spt.re", true }, { "sptk.org", true }, { "spuffin.com", true }, { "spufpowered.com", true }, @@ -34382,6 +35447,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sqlfeatures.com", true }, { "sqr-training.com", true }, { "sqroot.eu", true }, + { "sqsd.xyz", true }, { "square-gaming.org", true }, { "square-src.de", false }, { "square.com", false }, @@ -34398,8 +35464,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "srandom.com", true }, { "sranje.rocks", true }, { "srbija-nekretnine.org", true }, + { "src-el-main.com", true }, { "src.fedoraproject.org", true }, { "srchub.org", true }, + { "srichan.net", true }, { "srife.net", true }, { "srigc.com", true }, { "srihash.org", true }, @@ -34424,8 +35492,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ssbgportal.net", true }, { "ssbkk.ru", true }, { "ssbrm.ch", true }, - { "ssc8689.com", true }, - { "ssc8689.net", true }, { "sscd.no", true }, { "ssdax.com", false }, { "ssdservers.co.uk", true }, @@ -34438,6 +35504,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ssl.doctor", true }, { "ssl.google-analytics.com", true }, { "ssl.md", true }, + { "ssl24.pl", true }, { "ssl247.co.uk", true }, { "ssl247.com.mx", true }, { "ssl247.de", true }, @@ -34482,6 +35549,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stacklasvegas.com", true }, { "stackpath.com", true }, { "stackptr.com", true }, + { "stacktile.io", false }, { "stackunderflow.com", true }, { "staddlestonesbowness.co.uk", true }, { "stadm.com", true }, @@ -34490,10 +35558,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stadtbauwerk.at", false }, { "stadtbuecherei-bad-wurzach.de", true }, { "stadterneuerung-hwb.de", true }, + { "stadtkapelle-oehringen.de", true }, { "stadtpapa.de", true }, { "stadtplan-ilmenau.de", true }, { "staer.ro", true }, { "staff.direct", true }, + { "staffexcellence.com", true }, { "staffordlabour.org.uk", true }, { "stage.wepay.com", false }, { "stage4.ch", true }, @@ -34502,15 +35572,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stageirites.org", true }, { "stahlfors.com", true }, { "stainedglass.net.au", true }, + { "stainternational.com", true }, { "stair.ch", true }, { "stairfallgames.com", true }, { "stairlin.com", true }, { "staklim-malang.info", true }, { "stako.jp", true }, { "staktrace.com", true }, - { "stalder.work", true }, { "staljedevledder.nl", true }, { "stalker-shop.com", true }, + { "stalkerteam.pl", true }, { "stalkr.net", true }, { "stameystreet.com", true }, { "stamkassa.nl", true }, @@ -34525,8 +35596,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "standards.gov", true }, { "stannri.org", true }, { "stanron.com", true }, + { "stantabler.com", true }, { "stanthony-hightstown.net", true }, + { "stanthony-yonkers.org", true }, { "stanthonymaryclaret.org", true }, + { "staparishgm.org", true }, { "star-clean.it", true }, { "starcoachservices.ca", true }, { "starcomproj.com", true }, @@ -34538,7 +35612,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stargatelrp.co.uk", true }, { "stargazer.de", true }, { "starina.ru", true }, - { "starinvestors.in", true }, { "starka.st", true }, { "starkbim.com", true }, { "starking.net.cn", true }, @@ -34547,23 +35620,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "starmtech.fr", true }, { "starpeak.org", true }, { "starphotoboothsni.co.uk", true }, + { "starport.com.au", true }, { "starsam80.net", true }, { "starsguru.com", true }, { "starsing.bid", true }, { "starskim.cn", true }, { "starstreak.net", false }, { "startaninflatablebusiness.com", true }, + { "startanull.ru", true }, { "startergen.com", true }, { "startlab.sk", true }, { "startle.cloud", true }, { "startpage.com", true }, { "startpage.info", true }, { "startrek.in", true }, - { "startsamenvitaal.nu", true }, + { "starttls-everywhere.org", true }, { "starttraffic.com", true }, { "starttraffic.uk", true }, { "startupgenius.org", true }, { "starwins.co.uk", true }, + { "stassi.ch", false }, { "stastka.ch", true }, { "stat.ink", true }, { "statebuildinggroup.com", true }, @@ -34571,6 +35647,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "static-myfxee-808795.c.cdn77.org", true }, { "static-myfxoau-808795.c.cdn77.org", true }, { "static-myfxouk-808795.c.cdn77.org", true }, + { "static.today", true }, { "static.wepay.com", false }, { "staticline.de", true }, { "stationa.ch", true }, @@ -34591,7 +35668,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stayschemingco.com", true }, { "stb-schefczyk.de", true }, { "stb-strzyzewski.de", true }, + { "stb.gov", true }, + { "stbartholomewmanchester.org", true }, { "stbennett.org", true }, + { "stbl.org", true }, + { "stbridgeteastfalls.org", true }, + { "stcatharine-stmargaret.org", true }, + { "stceciliakearny.org", true }, { "stclementmatawan.org", true }, { "stclementreligioused.org", true }, { "stcplasticsurgery.com", true }, @@ -34619,7 +35702,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "steef389.eu", true }, { "steel-roses.de", true }, { "steelephys.com.au", true }, - { "steelmounta.in", true }, { "steemit.com", true }, { "steemyy.com", true }, { "steerty.com", true }, @@ -34644,12 +35726,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "steinibox.de", true }, { "steklein.de", true }, { "stekosouthamerica.com", true }, + { "stelfox.net", true }, { "stella-artis-ensemble.at", true }, { "stellarguard.me", true }, { "stellarium-gornergrat.ch", true }, - { "stellen.ch", true }, + { "stellarx.com", true }, { "stelleninserate.de", true }, - { "stellenticket.de", true }, { "stellmacher.name", true }, { "stemapp.io", true }, { "stembureauledenindenhaag.nl", true }, @@ -34668,6 +35750,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stephenj.co.uk", true }, { "stephenjvoiceovers.com", true }, { "stephenperreira.com", true }, + { "stephenreescarter.com", true }, + { "stephenreescarter.net", true }, { "stephenschrauger.com", true }, { "stephenschrauger.info", true }, { "stephenschrauger.net", true }, @@ -34692,19 +35776,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sternen-sitzberg.ch", true }, { "sternenbund.info", true }, { "sternplastic.com", true }, + { "sternsinus.com", true }, { "stetspa.it", true }, { "steuer-voss.de", true }, - { "steuerberater-essen-steele.com", true }, { "steuerkanzlei-edel.de", true }, - { "steuerkanzlei-und-wirtschaftsberater-manke.de", true }, { "steuern-recht-wirtschaft.de", true }, { "steuerseminare-graf.de", true }, { "steuertipps-sonderausgaben.de", true }, - { "steve.kiwi", true }, { "steveborba.com", true }, { "stevecostar.com", true }, { "stevedesmond.ca", true }, { "stevedoggett.com", true }, + { "stevegellerhomes.com", true }, { "stevegrav.es", true }, { "stevemonteyne.be", true }, { "steven-bennett.com", true }, @@ -34727,10 +35810,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stfrancisnaugatuck.org", true }, { "stfw.info", true }, { "stgabrielstowepa.org", true }, + { "stgeorgecomfortinn.com", true }, { "stgeorgegolfing.com", true }, { "stgm.org", true }, { "sthenryrc.org", true }, { "stian.net", true }, + { "stichtingdemuziekkamer.nl", true }, { "stichtingliab.nl", true }, { "stichtingscholierenvervoerzeeland.nl", true }, { "stichtingsticky.nl", true }, @@ -34742,8 +35827,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stickies.io", true }, { "stickmanventures.com", true }, { "stickstueb.de", true }, - { "stickswag.eu", true }, - { "stiffordacademy.org.uk", true }, { "stift-kremsmuenster.at", true }, { "stiftemaskinen.no", true }, { "stigharder.com", true }, @@ -34752,6 +35835,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stijnodink.nl", true }, { "stikic.me", true }, { "stilartmoebel.de", true }, + { "stilecop.com", true }, { "stillnessproject.com", true }, { "stilmobil.se", true }, { "stiltmedia.com", true }, @@ -34773,6 +35857,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stjohnsottsville.org", true }, { "stjoseph-stcatherine.org", true }, { "stjosephspringcity.com", true }, + { "stjosephtheworker.net", true }, { "stjscatholicchurch.org", true }, { "stjustin.org", true }, { "stln.ml", true }, @@ -34780,21 +35865,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stlukenh.org", true }, { "stlukesbrandon.org", true }, { "stm-net.de", true }, - { "stm32f4.jp", true }, { "stma.is", true }, { "stmariagoretti.net", true }, + { "stmarkseagirt.com", true }, { "stmarthachurch.com", true }, { "stmaryextra.uk", true }, + { "stmatthewri.org", true }, { "stmattsparish.com", true }, { "stmichaellvt.com", true }, { "stmichaelunion.org", true }, - { "stmkza.net", true }, { "stmlearning.com", true }, { "stmsolutions.pl", true }, { "stneotsbouncycastlehire.co.uk", true }, - { "stnl.de", false }, { "stockpile.com", true }, { "stockrow.com", true }, + { "stockstuck.com", true }, + { "stocktout.info", true }, { "stocktrader.com", true }, { "stodieck.com", true }, { "stoebermehl.at", true }, @@ -34805,24 +35891,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stolin.info", true }, { "stolina.de", false }, { "stolkpotplanten.nl", true }, - { "stolkschepen.nl", true }, + { "stollen-wurm.de", true }, + { "stollenwurm.de", true }, { "stolpi.is", true }, { "stomt.com", true }, { "stoneagehealth.com.au", true }, + { "stonechatjewellers.ie", true }, { "stonedworms.de", true }, - { "stonefusion.org.uk", true }, { "stonehammerhead.org", true }, + { "stonehurstcap.com", true }, { "stonewuu.com", true }, { "stony.com", true }, { "stonystratford.org", true }, - { "stopbreakupnow.org", true }, { "stopbullying.gov", true }, { "stopfraud.gov", false }, + { "stopjunkmail.co.uk", true }, { "stopthethyroidmadness.com", true }, { "storageideas.uk", true }, { "stordbatlag.no", true }, { "storedsafe.com", true }, { "storeit.co.uk", true }, + { "storeprice.co.uk", true }, + { "storeprijs.nl", true }, { "storillo.com", true }, { "storm-family.com", true }, { "stormi.io", true }, @@ -34832,18 +35922,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "storycollective.nl", true }, { "storyland.ie", true }, { "storysift.news", true }, - { "storytea.top", true }, { "storytell.com", true }, { "storytime.hu", true }, { "stouter.nl", true }, { "stoxford.com", true }, { "stpatrickbayshore.org", true }, + { "stpaulcatholicchurcheastnorriton.net", true }, + { "str8hd.com", true }, { "straatderzotten.nl", true }, { "strafensau.de", true }, + { "strafvollzugsgesetze.de", true }, { "strahlende-augen.info", true }, - { "straightedgebarbers.ca", true }, { "strajnar.si", true }, { "straka.name", true }, + { "strandschnuppern.de", true }, { "strangelane.com", true }, { "strangemusicinc.com", true }, { "strangemusicinc.net", true }, @@ -34853,19 +35945,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "strategie-zone.de", true }, { "strathewerd.de", true }, { "stratmann-b.de", true }, - { "stratuscloud.co.za", true }, - { "stratuscloudconsulting.cn", true }, - { "stratuscloudconsulting.co.uk", true }, - { "stratuscloudconsulting.co.za", true }, - { "stratuscloudconsulting.com", true }, - { "stratuscloudconsulting.in", true }, - { "stratuscloudconsulting.info", true }, - { "stratuscloudconsulting.net", true }, - { "stratuscloudconsulting.org", true }, { "straubis.org", true }, { "strauser.com", true }, { "stravers.shoes", true }, { "strawberry-laser.gr", true }, + { "streamblur.net", true }, { "streamchan.org", true }, { "streamelements.com", true }, { "streamkit.gg", true }, @@ -34874,6 +35958,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "street-smart-home.de", true }, { "street-tek.com", true }, { "streetdancecenter.com", true }, + { "streetlightdata.com", true }, { "streetmarket.ru", true }, { "streets.mn", true }, { "streetshirts.co.uk", true }, @@ -34884,11 +35969,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stremio.com", true }, { "strengthroots.com", true }, { "stretchmyan.us", true }, + { "stretchpc.com", true }, { "striata.com", true }, { "striatadev.com", true }, { "stricted.net", true }, { "strictlyguitar.de", true }, - { "strictlynormal.com", true }, { "strijkshop.be", true }, { "stringtoolbox.com", true }, { "stringvox.com", true }, @@ -34896,10 +35981,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "striped.horse", true }, { "strivephysmed.com", false }, { "strm.hu", true }, - { "strming.com", true }, { "strobeltobias.de", true }, { "strobeto.de", true }, { "strobotti.com", true }, + { "stroccounioncity.org", true }, { "stroeerdigital.de", true }, { "stroginohelp.ru", true }, { "strom.family", true }, @@ -34915,13 +36000,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "strosemausoleum.com", true }, { "stroseoflima.com", true }, { "strozik.de", true }, + { "strrl.com", true }, { "structurally.net", true }, { "structure.systems", true }, { "strugee.net", true }, { "strutta.me", true }, { "strydom.me.uk", true }, { "stsolarenerji.com", true }, + { "ststanstrans.org", true }, { "stt.wiki", true }, + { "sttg.com.au", true }, + { "stthomasbrigantine.org", true }, { "stuartbell.co.uk", true }, { "stuarteggerton.com", true }, { "stuartmorris.id.au", true }, @@ -34929,6 +36018,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stuartmorris.name", true }, { "stuartmorris.tel", true }, { "stuarts.xyz", false }, + { "stuckateur-bruno.de", true }, { "stuco.co", true }, { "stucydee.nl", true }, { "studenckiemetody.pl", true }, @@ -34942,19 +36032,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "studentse.fr", true }, { "studenttenant.com", true }, { "studiebegeleiding-haegeman.be", true }, - { "studiemeter.nl", true }, { "studienportal.eu", true }, { "studienservice.de", true }, - { "studiereader.nl", true }, + { "studio-637.com", true }, { "studio-architetto.com", true }, + { "studio-art.pro", true }, { "studio-fotografico.ru", true }, - { "studio-webdigi.com", true }, { "studio44.fit", true }, + { "studioadevents.com", true }, { "studioavvocato24.it", true }, { "studiobergaminloja.com.br", true }, { "studiodentisticosanmarco.it", true }, { "studiodewit.nl", true }, { "studiogavioli.com", true }, + { "studiogears.com", true }, { "studiograou.com", true }, { "studiohelder.fr", false }, { "studiohomebase.amsterdam", true }, @@ -34969,13 +36060,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "studioscherp.nl", true }, { "studiostawki.com", true }, { "studiostudio.net", true }, + { "studiosus-gruppenreisen.com", true }, + { "studiosus.com", true }, { "studiotheatrestains.fr", true }, { "studiovaud.com", true }, { "studipro-formation.fr", true }, { "studipro-marketing.fr", true }, - { "studisys.net", true }, { "studium.cz", true }, - { "studlan.no", true }, { "studyin.jp", true }, { "studyspy.ac.nz", true }, { "studytactics.com", true }, @@ -34983,7 +36074,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stuetzredli.ch", true }, { "stuffi.fr", true }, { "stuffie.org", true }, - { "stuffiwouldbuy.com", true }, { "stuka-art.de", true }, { "stulda.cz", false }, { "stumeta.de", true }, @@ -34991,10 +36081,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stumf.si", true }, { "stuntmen.xyz", true }, { "stupendous.net", false }, - { "sturbi.de", true }, { "stutelage.com", true }, - { "stuttgart-gablenberg.de", true }, - { "stuudium.cloud", true }, { "stuudium.com", true }, { "stuudium.net", true }, { "stuudium.org", true }, @@ -35005,6 +36092,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "stuvus.uni-stuttgart.de", true }, { "stw-group.at", true }, { "stygium.net", false }, + { "stylaq.com", true }, + { "stylebajumuslim.com", true }, { "styleci.io", true }, { "stylecollective.us", true }, { "styles.pm", true }, @@ -35036,6 +36125,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "succ.in", true }, { "succesprojekter.dk", true }, { "successdeliv.com", true }, + { "suche.org", true }, { "suchmaschinen-werkstatt.de", true }, { "suckmyan.us", false }, { "sucretown.net", true }, @@ -35047,7 +36137,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sudo.org.au", true }, { "sudo.ws", true }, { "sudokian.io", true }, - { "sudoschool.com", true }, { "suelyonjones.com", true }, { "suessdeko.de", true }, { "suevia-ka.de", true }, @@ -35084,9 +36173,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "summa.eu", false }, { "summercampthailand.com", true }, { "summershomes.com", true }, - { "sumoatm.com", false }, { "sumthing.com", true }, - { "sun-leo.co.jp", true }, { "sunboxstore.jp", true }, { "sunbritetv.com", true }, { "sunchasercats.com", true }, @@ -35099,11 +36186,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sunfox.cz", true }, { "sunfulong.blog", true }, { "sunfulong.me", true }, + { "sungreen.info", true }, { "sunjaydhama.com", true }, { "sunjiutuo.com", true }, { "sunlit.cloud", true }, { "sunn.ie", true }, + { "sunnylyx.com", true }, { "sunoikisis.org", true }, + { "sunred.info", true }, + { "sunred.org", true }, { "sunsetwx.com", true }, { "sunshinesf.org", true }, { "sunsmartresorts.com", true }, @@ -35114,6 +36205,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supa.sexy", true }, { "supastuds.com", true }, { "supcoronado.com", true }, + { "supedi.com", true }, + { "supedi.de", true }, + { "supedio.com", true }, { "superaficionados.com", true }, { "superbart.nl", true }, { "superbdistribute.com", true }, @@ -35132,12 +36226,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "superguide.com.au", true }, { "superhappiness.com", true }, { "superhome.com.au", true }, + { "superidropulitrice.com", true }, { "supermae.pt", true }, + { "supermarx.nl", true }, { "supermercadosdia.com.ar", true }, { "supermercato24.it", true }, { "supermil.ch", true }, { "supern0va.net", true }, { "supernaut.info", true }, + { "supernt.lt", true }, { "supersec.es", true }, { "supersole.net", true }, { "supersonnig-festival.de", true }, @@ -35163,8 +36260,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "supportericking.org", true }, { "supportme123.com", true }, { "supra.tf", true }, + { "supracube.com", true }, { "suprem.biz", true }, { "suprem.ch", true }, + { "supremestandards.com", true }, { "supriville.com.br", true }, { "sur-v.com", true }, { "surao.cz", true }, @@ -35176,6 +36275,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "surefit-oms.com", true }, { "suretone.co.za", true }, { "surfnetkids.com", true }, + { "surfnetparents.com", true }, { "surfocal.com", true }, { "surgenet.nl", true }, { "surgeongeneral.gov", true }, @@ -35184,11 +36284,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "surpreem.com", true }, { "surreyheathyc.org.uk", true }, { "suruifu.com", true }, - { "suruifu.tk", true }, { "survature.com", true }, { "surveillance104.com", true }, { "surveyhealthcare.com", true }, - { "surveyinstrumentsales.com", true }, { "surveymill.co.uk", true }, { "survivalistplanet.com", true }, { "survivalmonkey.com", true }, @@ -35196,14 +36294,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "susanbpilates.com", true }, { "susann-kerk.de", true }, { "susanna-komischke.de", true }, - { "susanvelez.com", true }, { "susc.org.uk", true }, { "sush.us", true }, + { "sushi.roma.it", true }, { "sushibesteld.nl", true }, { "sushikatze.de", true }, - { "susoccm.org", true }, { "susosudon.com", true }, { "suspension-shop.com", true }, + { "sussexheart.com", true }, { "sustainabilityknowledgegroup.com", true }, { "sustainoss.org", true }, { "sustsol.com", true }, @@ -35221,7 +36319,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sv-turm-hohenlimburg.de", true }, { "sv.search.yahoo.com", false }, { "svager.cz", true }, + { "svak-gutachter.de", true }, { "svallee.fr", false }, + { "svanstrom.com", true }, + { "svanstrom.org", true }, { "svantner.sk", true }, { "svarnyjunak.cz", true }, { "svc-sitec.com", true }, @@ -35248,21 +36349,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "svorcikova.cz", true }, { "sw-servers.net", true }, { "sw33tp34.com", true }, + { "swagsocial.net", true }, { "swankism.com", true }, { "swansdoor.org", true }, { "swap.gg", true }, { "swapadoodle.com", true }, + { "swaptaxdata.com", true }, { "swarfarm.com", true }, - { "swarlys-server.de", true }, { "swat4stats.com", true }, { "swattransport.ae", true }, { "sway-cdn.com", true }, { "swd.agency", true }, + { "swe77.com", true }, + { "swe777.com", true }, { "sweak.net", true }, { "swedishhost.com", true }, { "swedishhost.se", true }, { "sweep-me.net", true }, { "sweepay.ch", true }, + { "sweet-as.co.uk", true }, { "sweet-orr.com", true }, { "sweetair.com", true }, { "sweetbridge.com", true }, @@ -35279,7 +36384,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "swiftqueue.com", true }, { "swilly.org", true }, { "swimbee.nl", true }, - { "swimmingpoolaccidentattorney.net", true }, { "swimready.net", true }, { "swimwear365.co.uk", true }, { "swineson.me", true }, @@ -35295,9 +36399,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "swissdojo.ch", true }, { "swisselement365.com", true }, { "swissfreshaircan.ch", true }, - { "swissfreshaircan.com", true }, { "swissid.ch", true }, { "swisslinux.org", true }, + { "swisstechassociation.ch", true }, { "swisstechtalks.ch", true }, { "swissvanilla.ch", true }, { "swissvanilla.com", true }, @@ -35320,8 +36424,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "sy24.ru", true }, { "syajvo.if.ua", true }, { "syamutodon.xyz", true }, - { "syamuwatching.xyz", true }, { "sycamorememphis.org", true }, + { "sychov.pro", true }, { "sydney-sehen.com", true }, { "sydney.dating", true }, { "sydneyhelicopters.com.au", true }, @@ -35351,6 +36455,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "symbiose.com", true }, { "symbiosecom.ch", true }, { "symeda.de", true }, + { "symetria.io", true }, { "symfora-meander.nl", true }, { "symlnk.de", true }, { "symphonos.it", true }, @@ -35359,12 +36464,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "symptome-erklaert.de", true }, { "synabi.com", true }, { "synack.uk", true }, + { "synackr.net", true }, { "synaptickz.me", true }, { "synatra.co", true }, { "sync-it.no", true }, { "synccentre.com", true }, { "syncflare.com", true }, + { "synchrocube.com", true }, { "synchrolarity.com", true }, + { "synchronicity.cz", true }, { "synchronyse.com", true }, { "syncrise.co.jp", true }, { "syneart.com", true }, @@ -35398,6 +36506,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "system.is", true }, { "system12.pl", true }, { "system365.eu", true }, + { "system4travel.com", true }, { "systemadmin.uk", true }, { "systematic-momo.com", true }, { "systematic-momo.dk", true }, @@ -35410,23 +36519,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "systemonthego.com", true }, { "systemreboot.net", true }, { "systemspace.link", true }, + { "systemups.com", true }, { "systemweb.no", true }, { "systemzeit.info", true }, { "systoolbox.net", true }, { "sysystems.cz", true }, { "syt3.net", true }, { "syukatsu-net.jp", true }, + { "syunpay.cn", true }, { "syy.im", true }, { "syzygy-tables.info", true }, + { "sz-ideenlos.de", true }, + { "sz-lessgym-kamenz.de", true }, { "szafkirtv.pl", true }, - { "szagun.net", true }, { "szaloneigly.com", true }, { "szamitogepdepo.com", true }, { "szaydon.me", false }, + { "szc.me", true }, { "szclsya.me", true }, - { "szczot3k.pl", true }, { "szechenyi2020.hu", true }, { "szentistvanpt.sk", true }, + { "szepsegbennedrejlik.hu", true }, { "szerelem.love", true }, { "szetowah.org.hk", true }, { "szunia.com", true }, @@ -35434,20 +36547,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "szyndler.ch", true }, { "szzsivf.com", true }, { "t-hawk.com", true }, + { "t-m.me", true }, { "t-net.org.hu", true }, { "t-shirts4less.nl", true }, { "t-stonegroup.com", true }, { "t.facebook.com", false }, + { "t0ny.name", true }, { "t12u.com", true }, - { "t2000headphones.com", true }, - { "t2000laserpointers.com", true }, { "t23m-navi.jp", false }, { "t2i.nl", true }, + { "t3rror.net", true }, { "t47.io", true }, { "t4c.link", true }, { "t4cc0.re", true }, { "t5118.com", true }, { "t7e.de", false }, + { "t9i.in", true }, { "ta-65.com", true }, { "ta-sports.net", true }, { "ta65.com", true }, @@ -35457,12 +36572,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tabernadovinho.com.br", true }, { "tabi-news.com", true }, { "tabi-runrun.com", true }, + { "tabino.top", true }, { "tabithawebb.co.uk", true }, { "tabledusud.be", true }, { "tabledusud.nl", true }, { "tablescraps.com", true }, { "tablet.facebook.com", false }, { "tabletd.com", true }, + { "tabletsbaratasya.com", true }, { "tablotv.com", false }, { "taborsky.cz", true }, { "tac-volley.com", true }, @@ -35485,11 +36602,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taglioepiega.eu", true }, { "taglioepiega.it", true }, { "tagpay.com", true }, + { "tagungsraum-usedom.de", true }, + { "tagungsraum-zinnowitz.de", true }, { "tahavu.com", true }, + { "taherian.me", true }, { "tahosa.co", true }, { "tahosalodge.org", true }, - { "tai-in.com", true }, - { "tai-in.net", true }, { "tailpuff.net", false }, { "tails.boum.org", true }, { "taimane.com", true }, @@ -35511,7 +36629,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "takeitoffline.co.uk", true }, { "takemoto-ped.com", true }, { "taken.pl", true }, - { "takeshifujimoto.com", true }, + { "takeshifujimoto.com", false }, { "takk.pl", true }, { "takkaaaaa.com", true }, { "takuhai12.com", true }, @@ -35540,7 +36658,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "talltreeskv.com.au", true }, { "tallyfy.com", true }, { "talon.rip", true }, - { "talroo.com", true }, { "talun.de", true }, { "tam-moon.com", true }, { "tam-safe.com", true }, @@ -35549,20 +36666,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tamasszabo.net", true }, { "tambre.ee", true }, { "tamchunho.com", true }, + { "tamersunion.org", true }, { "tamindir.com", true }, + { "tamirson.com", true }, { "tammy.pro", true }, { "tampabaybusinesslistings.com", true }, { "tamposign.fr", true }, + { "tamriel-rebuilt.org", true }, { "tanacio.com", true }, - { "tanak3n.xyz", false }, { "tancredi.nl", true }, + { "tandem-trade.ru", false }, + { "tandemexhibits.com", true }, { "tandempartnerships.com", true }, { "tandilmap.com.ar", true }, { "tandk.com.vn", true }, { "tandzorg.link", true }, { "tangel.me", true }, { "tangemann.org", true }, - { "tango-cats.de", true }, { "tango-ouest.com", true }, { "tangoalpha.co.uk", true }, { "tanhit.com", true }, @@ -35586,6 +36706,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tanzhijun.com", true }, { "tanzo.io", true }, { "taoburee.com", true }, + { "taotuba.org", true }, { "taoways.com", true }, { "taplamvan.net", true }, { "taplemon.at", true }, @@ -35593,10 +36714,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taprix.org", true }, { "tapsnapp.co", true }, { "taquilla.com", true }, - { "taqun.club", true }, { "tar-mag.com", true }, - { "taranis.re", true }, - { "tarantul.org.ua", true }, { "tarasecurity.co.uk", true }, { "tarasecurity.com", true }, { "tarasevich.by", true }, @@ -35607,12 +36725,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tariff.cc", true }, { "tarik.io", true }, { "tarmexico.com", true }, - { "tarots-et-oracles.com", true }, + { "taron.top", true }, { "tarsan.cz", true }, { "tartaneagle.org.uk", true }, { "tartanhamedshop.com.br", true }, { "taruntarun.net", true }, { "tas2580.net", false }, + { "tasadordecoches.com", true }, + { "tascuro.com", true }, { "taskin.me", true }, { "taskotron.fedoraproject.org", true }, { "taskotron.stg.fedoraproject.org", true }, @@ -35636,13 +36756,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tattoo.dating", true }, { "tattvaayoga.com", true }, { "tatuantes.com", true }, - { "taunhanh.us", false }, + { "taunhanh.us", true }, + { "tauschen.info", true }, { "tavolaquadrada.com.br", true }, { "tavsys.net", true }, { "tax-guard.com", true }, { "taxaroo.com", true }, { "taxaudit.com", true }, - { "taxi-24std.de", false }, { "taxi-chamonix.fr", true }, { "taxi-collectif.ch", true }, { "taxi-jihlava.cz", true }, @@ -35654,6 +36774,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "taxisafmatosinhos.pt", true }, { "taxiscollectifs.ch", true }, { "taxlab.co.nz", true }, + { "taxo.fi", true }, + { "taxpackagesupport.com", true }, { "taxsquirrel.com", true }, { "taylorpearson.me", false }, { "taylorreaume.com", true }, @@ -35673,15 +36795,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tbuchloh.de", true }, { "tc-st-leonard.ch", true }, { "tc.nz", true }, - { "tcacademy.co.uk", true }, { "tcb-a.org", true }, { "tcb-b.org", true }, { "tccmb.com", true }, { "tcdw.net", true }, + { "tcdww.cn", true }, { "tcf.org", true }, { "tcgforum.pl", true }, { "tcgrepublic.com", true }, - { "tchaka.top", true }, { "tchannels.tv", true }, { "tchebb.me", true }, { "tchebotarev.com", true }, @@ -35689,7 +36810,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tchoukball.ch", true }, { "tcmwellnessclinic.com", true }, { "tcnapplications.com", true }, - { "tcptun.com", true }, { "tcpweb.net", true }, { "tcspartner.net", true }, { "tcvvip.com", true }, @@ -35697,15 +36817,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tdchrom.com", true }, { "tdfbfoundation.org", true }, { "tdrcartuchos.com.br", true }, + { "tdro.cf", true }, { "tdrs.info", true }, { "tdsf.io", true }, { "tdsinflatables.co.uk", true }, { "tdude.co", true }, { "tea.codes", true }, { "teabagdesign.co.uk", true }, + { "teachbiz.net", true }, { "teachercreatedmaterials.com", true }, { "teacherph.com", true }, { "teacherpowered.org", true }, + { "teachertool.io", true }, { "teachingcopyright.com", true }, { "teachingcopyright.net", true }, { "teachingcopyright.org", true }, @@ -35734,6 +36857,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teamnorthgermany.de", true }, { "teampaddymurphy.ch", true }, { "teampaddymurphy.ie", true }, + { "teamsimplythebest.com", true }, + { "teamspeak-serverlist.xyz", true }, { "teamtouring.net", true }, { "teamtrack.uk", true }, { "teamtravel.co", true }, @@ -35752,8 +36877,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tecart-system.de", true }, { "tecartcrm.de", true }, { "tech-blogger.net", true }, + { "tech-clips.com", false }, { "tech-director.ru", true }, { "tech-essential.com", true }, + { "tech-info.jp", true }, { "tech-rat.com", true }, { "tech-seminar.jp", true }, { "tech-value.eu", true }, @@ -35763,45 +36890,52 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techademy.nl", true }, { "techamigo.in", true }, { "techarea.fr", true }, + { "techaulogy.com", true }, { "techbelife.com", true }, - { "techbrawl.org", true }, { "techbrown.com", true }, - { "techcentric.com", false }, { "techcracky.com", true }, { "techcultivation.de", false }, { "techcultivation.net", false }, { "techcultivation.org", false }, { "techdirt.com", true }, { "techdroid.eu", true }, + { "techendeavors.com", true }, { "techformator.pl", true }, + { "techglover.com", true }, { "techhappy.ca", true }, { "techinet.pl", true }, { "techinsurance.com", true }, { "techjoe.co", true }, + { "techmagus.icu", true }, { "techmajesty.com", true }, { "techmasters.io", true }, + { "techmoviles.com", true }, { "techmunchies.net", false }, { "technic3000.com", true }, { "technicabv.nl", true }, { "technicalbrothers.cf", true }, { "technicallyeasy.net", true }, { "technicalsystemsprocessing.com", true }, + { "techniclab.net", true }, + { "techniclab.org", true }, + { "techniclab.ru", true }, { "technifocal.com", true }, { "technik-boeckmann.de", true }, { "technikblase.fm", true }, { "technikman.de", true }, + { "technikrom.org", true }, { "technoinfogroup.it", true }, { "technologie-innovation.fr", true }, - { "technologyand.me", true }, { "technologyhound.org", true }, { "technologysi.com", true }, { "technoparcepsilon.fr", true }, { "technoscoots.com", true }, { "technosorcery.net", true }, - { "technotonic.co.uk", true }, + { "technospeakco.com", true }, { "techold.ru", true }, { "techorbiter.com", true }, { "techosmarcelo.com.ar", true }, + { "techpilipinas.com", true }, { "techpit.us", true }, { "techpivot.net", true }, { "techpoint.org", true }, @@ -35813,25 +36947,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "techtalks.no", true }, { "techtrader.ai", true }, { "techtrader.io", true }, - { "techvalue.gr", true }, { "techview.link", true }, { "techviewforum.com", true }, { "techwayz.com", true }, { "techwithcromulent.com", true }, { "techwords.io", true }, + { "techzero.cn", true }, { "teckids.org", true }, { "tecma.com", true }, { "tecmarkdig.com", true }, { "tecne.ws", true }, { "tecnicoelettrodomestici.roma.it", true }, + { "tecnidev.com", true }, { "tecnoarea.com.ar", true }, { "tecnobrasilloja.com.br", true }, { "tecnodritte.it", true }, { "tecnogazzetta.it", true }, { "tecnologiasurbanas.com", true }, - { "tecnologino.com", true }, { "tecon.co.at", true }, { "tecyt.com", true }, + { "ted.do", true }, { "tedb.us", true }, { "teddy.ch", true }, { "teddybradford.com", true }, @@ -35840,6 +36975,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tedsdivingsystem.com", true }, { "tedxodense.com", true }, { "teebeedee.org", false }, + { "teedb.de", true }, { "teemo.gg", true }, { "teemperor.de", true }, { "teemulintula.fi", true }, @@ -35849,9 +36985,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teeworlds-friends.de", true }, { "tefek.cz", true }, { "tege-elektronik.hu", true }, - { "tehcrayz.com", true }, { "tehrabbitt.com", false }, - { "tehrankey.ir", true }, + { "tehranperfume.com", true }, { "teixobactin.com", true }, { "tejarat98.com", true }, { "teknemodus.com.au", true }, @@ -35861,12 +36996,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teknoforums.com", true }, { "teknolit.com", true }, { "tekstschrijvers.net", true }, - { "tektuts.com", true }, { "tekuteku.jp", true }, { "telamon.eu", true }, { "telamon.fr", true }, { "tele-alarme.ch", true }, - { "tele-assistance.ch", true }, { "tele-online.com", true }, { "telealarme.ch", true }, { "telealarmevalais.ch", true }, @@ -35888,10 +37021,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teleogistic.net", true }, { "telepass.me", true }, { "telephonedirectories.us", true }, - { "telepons.com", true }, + { "telesto.online", true }, + { "teletechnology.in", false }, + { "teletexto.com", true }, { "telework.gov", true }, { "tellcorpassessoria.com.br", true }, { "telling.xyz", true }, + { "tellingua.com", false }, { "tellusaboutus.com", true }, { "telly.site", true }, { "tellygames.com", true }, @@ -35900,6 +37036,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "telos-analytics.com", true }, { "teltru.com", true }, { "tem.li", true }, + { "temariopolicianacional.es", true }, + { "temariosdeoposiciones.es", true }, + { "temasa.net", true }, { "tematicas.org", true }, { "temdu.com", true }, { "temizmama.com", true }, @@ -35909,14 +37048,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tempdomain.ml", true }, { "template-parks.com", true }, { "templateinvaders.com", true }, + { "templates-office.com", true }, { "templum.com.br", true }, { "tenable.com.au", true }, { "tenberg.com", true }, { "tenbos.ch", true }, { "tendance-et-accessoires.com", true }, { "tendermaster.com.ua", true }, + { "tenderplan.ru", true }, { "tenderstem.co.uk", true }, { "tendomag.com", true }, + { "tendoryu-aikido.org", false }, { "tenenz.com", true }, { "tenisservis.eu", true }, { "tenkofx.com", true }, @@ -35928,12 +37070,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tenseapp.pl", true }, { "tenshoku-hanashi.com", true }, { "tenta.com", true }, - { "tentabrowser.com", true }, { "tentations-voyages.com", false }, { "tenthousandcoffees.com", true }, { "tenthpin.com", false }, { "tenyx.de", true }, { "tenzer.dk", true }, + { "teoleonie.com", true }, { "tepid.org", true }, { "tepitus.de", true }, { "teplofom.ru", true }, @@ -35947,14 +37089,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teriiphotography.com", true }, { "teriyakisecret.com", true }, { "terlindung.com", true }, - { "termax.me", true }, - { "terminalvelocity.co.nz", true }, { "termino.eu", true }, { "terminsrakning.se", true }, { "termitemounds.org", true }, { "termitinitus.org", true }, { "termografiranje.si", true }, { "termux.com", true }, + { "terpotiz.net", true }, { "terra.fitness", true }, { "terrab.de", false }, { "terracloud.de", false }, @@ -35970,7 +37111,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "terrapay.com", true }, { "terrastaffinggroup.com", false }, { "terraweb.net", true }, - { "terrax.net", true }, { "terresmagiques.com", true }, { "terrorbilly.com", true }, { "terrty.net", true }, @@ -35985,17 +37125,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "teslamagician.com", true }, { "tesoro.pr", true }, { "tessai.ga", true }, - { "test-aankoop.be", true }, - { "test-achats.be", true }, + { "tesseractinitiative.org", true }, + { "test-sev-web.pantheonsite.io", true }, { "test-textbooks.com", true }, { "test.de", true }, { "test.support", true }, - { "testadren.com", true }, { "testeveonline.com", true }, { "testgeomed.ro", true }, { "testomato.com", true }, { "testosteronedetective.com", true }, { "testsuite.org", true }, + { "testsvigilantesdeseguridad.es", true }, { "testuje.net", true }, { "tetedelacourse.ch", true }, { "teto.nu", true }, @@ -36006,10 +37146,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tetsumaki.net", true }, { "teufel.dk", true }, { "teufelswerk.net", true }, + { "teulon.eu", true }, { "teusink.eu", true }, { "teva-li.com", true }, { "tewarilab.co.uk", true }, { "tewkesburybouncycastles.co.uk", true }, + { "texashomesandland.com", true }, { "texasllcpros.com", true }, { "texaspaintingandgutters.com", true }, { "texasparkinglotstriping.com", true }, @@ -36032,11 +37174,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "texy.info", true }, { "teysens.com", true }, { "teyssedre.ca", true }, - { "tf-network.de", true }, { "tf2b.com", true }, { "tf2calculator.com", true }, { "tf7879.com", true }, + { "tfb.az", true }, { "tfg-bouncycastles.com", true }, + { "tfk.fr", true }, { "tfle.xyz", true }, { "tflite.com", true }, { "tfnapps.de", true }, @@ -36059,6 +37202,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thablubb.de", true }, { "thaedal.net", true }, { "thai.dating", true }, + { "thai.land", false }, { "thaicyberpoint.com", true }, { "thaiforest.ch", true }, { "thaihomecooking.com", true }, @@ -36074,6 +37218,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thaliagetaway.com.au", true }, { "thallinger.me", true }, { "thamesfamilydentistry.com", true }, + { "thamtubinhminh.com", true }, { "thanabh.at", true }, { "thanatoid.net", true }, { "thanhthinhbui.com", true }, @@ -36081,8 +37226,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thatquiz.org", true }, { "thatsme.io", true }, { "thca.ca", true }, - { "thcpbees.co.uk", true }, + { "the-arabs.com", true }, { "the-bermanns.com", true }, + { "the-big-bang-theory.com", true }, { "the-body-shop.hu", false }, { "the-fermenter.com", true }, { "the-gdn.net", true }, @@ -36096,10 +37242,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "the-zenti.de", true }, { "the2f.de", true }, { "the3musketeers.biz", true }, + { "the8rules.co.uk", true }, { "theactuary.ninja", true }, { "theadelaideshow.com.au", true }, { "theadultswiki.com", true }, + { "theafleo.gq", true }, { "thealexandertechnique.co.uk", true }, + { "theallmanteam.com", true }, { "theankhlife.com", true }, { "theanticellulitediet.com", true }, { "theaps.net", true }, @@ -36108,13 +37257,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thebakers.com.br", true }, { "thebakery2go.de", true }, { "thebannerstore.com", true }, + { "thebarbdemariateam.com", true }, { "thebarneystyle.com", true }, + { "thebarrens.nu", true }, { "thebasebk.org", true }, { "thebcm.co.uk", true }, { "thebeachessportsphysio.com", true }, + { "thebeardedrapscallion.com", true }, { "thebeginningviolinist.com", true }, { "thebest.ch", true }, { "thebestfun.co.uk", true }, + { "thebestofthesprings.com", true }, { "thebestpersonin.ml", true }, { "thebestsavingsplan.com", true }, { "thebigbitch.nl", true }, @@ -36128,6 +37281,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theblackknightsings.com", true }, { "theblondeabroad.com", true }, { "theblueroofcottage.ca", true }, + { "thebluub.com", true }, + { "theboatmancapital.com", true }, { "thebodyprinciple.com", true }, { "thebonerking.com", true }, { "thebouncedepartment.co.uk", true }, @@ -36154,32 +37309,39 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thecondobuyers.com", true }, { "thecookiejar.me", true }, { "thecrazytravel.com", true }, + { "thecrescentchildcarecenter.com", true }, { "thecrew-exchange.com", true }, { "thecrochetcottage.net", true }, + { "thecstick.com", true }, { "thecuppacakery.co.uk", true }, - { "thecuriouscat.net", true }, + { "thecuriousdev.com", true }, { "thecurvyfashionista.com", true }, { "thecustomdroid.com", true }, + { "theda.co.za", true }, { "thedark1337.com", true }, { "thederminstitute.com", true }, - { "thediaryofadam.com", true }, + { "thedhs.com", true }, + { "thediamondcenter.com", true }, { "thedisc.nl", true }, { "thediscovine.com", true }, { "thedocumentrefinery.com", true }, { "thedom.site", true }, { "thedreamtravelgroup.co.uk", true }, { "thedronechart.com", true }, + { "thedroneely.com", true }, { "thedutchmarketers.com", true }, { "theebookkeepers.co.za", true }, { "theeducationchannel.info", true }, { "theeducationdirectory.org", true }, + { "theeffingyogablog.com", true }, { "theeighthbit.com", true }, { "theel0ja.ovh", true }, { "theemasphere.com", true }, + { "theender.net", true }, + { "theepiclounge.com", true }, { "thefairieswantmedead.com", true }, { "thefanimatrix.net", true }, { "thefashionpolos.com", true }, - { "thefasterweb.com", true }, { "thefbstalker.com", true }, { "thefengshuioffice.com", true }, { "theferrarista.com", true }, @@ -36190,12 +37352,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thefnafarchive.org", true }, { "theforkedspoon.com", true }, { "thefourthmoira.com", true }, + { "thefreemail.com", true }, { "thefrk.pw", true }, { "thefuckingtide.com", true }, { "thefunfirm.co.uk", true }, { "thefurnitureco.uk", true }, + { "thefurniturefamily.com", true }, { "thegarrowcompany.com", true }, + { "thegatheringocala.com", true }, { "thegeekdiary.com", true }, + { "thegerwingroup.com", true }, { "thegioinano.com", true }, { "thegospelforgeeks.org", true }, { "thegrape.ro", true }, @@ -36207,15 +37373,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thegrs.com", true }, { "theguitarcompany.nl", true }, { "thegvoffice.net", true }, - { "thegym.org", true }, { "thehackerblog.com", true }, { "thehairrepublic.net", true }, { "thehairstandard.com", true }, + { "thehamiltoncoblog.com", true }, { "thehaxbys.co.uk", true }, - { "thehiddenbay.fi", true }, - { "thehiddenbay.info", true }, - { "thehiddenbay.ws", true }, { "thehivedesign.org", true }, + { "thehobincompany.com", true }, { "thehomeicreate.com", true }, { "thehonorguard.org", true }, { "thehookup.be", true }, @@ -36225,8 +37389,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thehouseofgod.org.nz", true }, { "thehowtohome.com", true }, { "theidiotboard.com", true }, + { "theig.co", true }, { "theillustrationstudio.com.au", true }, { "theimagefile.com", true }, + { "theimaginationagency.com", true }, + { "theinboxpros.com", true }, { "theinflatables-ni.co.uk", true }, { "theinflatablesne.co.uk", true }, { "theinitium.com", true }, @@ -36237,10 +37404,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thekev.in", true }, { "thekeytobusiness.co.uk", true }, { "thekindplate.ca", true }, - { "thekingofhate.com", true }, + { "thekingofhate.com", false }, { "thekovnerfoundation.org", true }, { "thelaimlife.com", true }, { "thelanscape.com", true }, + { "thelastbeach.top", true }, { "thelastsurprise.com", true }, { "thelatedcult.com", true }, { "thelearningenterprise.co.uk", true }, @@ -36248,16 +37416,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thelifeofmala.com", true }, { "thelinuxtree.net", true }, { "thelittlecraft.com", true }, + { "thelittlejewel.com", true }, { "thelocals.ru", true }, { "thelonelyones.co.uk", true }, { "thelonious.nl", true }, { "themacoaching.nl", true }, + { "themadlabengineer.co.uk", true }, { "themallards.info", true }, { "themarshallproject.org", true }, { "themecraft.studio", true }, { "themefoxx.com", true }, + { "themeridianway.com", true }, { "themetacity.com", true }, + { "themiddle.co", true }, { "themigraineinstitute.com", true }, + { "themilanlife.com", true }, { "themillerslive.com", true }, { "themimitoof.fr", true }, { "themist.cz", true }, @@ -36272,12 +37445,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thenanfang.com", true }, { "thenarcissisticlife.com", true }, { "theneatgadgets.com", true }, + { "thenerdic.com", true }, { "thenexwork.com", true }, { "thenib.com", true }, + { "theninenine.com", true }, { "thenocman.com", true }, { "thenovaclinic.com", true }, { "thenowheremen.com", true }, { "theo.me", true }, + { "theobg.co", true }, { "theobromos.fr", true }, { "theoc.co", true }, { "theocharis.org", true }, @@ -36313,11 +37489,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theplayspot.co.uk", true }, { "theploughharborne.co.uk", true }, { "thepoplarswines.com.au", true }, - { "thepostoffice.ro", true }, { "thepriorybandbsyresham.co.uk", true }, { "theproductpoet.com", true }, { "thepromisemusic.com", true }, - { "thepurem.com", true }, { "thepythianseed.com", true }, { "theragran.co.id", true }, { "theralino.de", true }, @@ -36359,7 +37533,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theseletarmall.com", true }, { "theseoframework.com", true }, { "theseosystem.com", true }, - { "theserviceyouneed.com", true }, { "thesession.org", false }, { "thesharedbrain.ch", true }, { "thesharedbrain.com", true }, @@ -36375,15 +37548,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "theskingym.co.uk", true }, { "thesmallbusinesswebsiteguy.com", true }, { "thesmokingcuban.com", true }, + { "thesnellvilledentist.com", true }, { "thesocialmediacentral.com", true }, { "thesplashlab.com", true }, { "thesslstore.com", true }, + { "thestandingroomrestaurant.com", true }, { "thestationatwillowgrove.com", true }, { "thesteins.org", false }, { "thestoneage.de", true }, { "thestory.ie", true }, { "thestoryshack.com", true }, { "thestrategyagency.com.au", true }, + { "thestreamable.com", true }, { "thestudyla.com", true }, { "thestyle.city", true }, { "thestyleforme.com", true }, @@ -36392,15 +37568,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thetechnical.me", true }, { "thetenscrolls.com", true }, { "thethreepercent.marketing", true }, + { "thetiedyelab.com", true }, + { "thetinylife.com", true }, { "thetomharling.com", true }, { "thetotalemaildelivery.com", true }, { "thetree.ro", true }, { "thetrendspotter.net", true }, { "thetuxkeeper.de", false }, { "thetvtraveler.com", true }, - { "theunitedstates.io", true }, { "thevacweb.com", true }, { "thevalentineconstitution.com", true }, + { "thevalueofarchitecture.com", true }, { "thevenueofhollywood.com", true }, { "theverybusyoffice.co.uk", true }, { "thevgg.com", false }, @@ -36411,7 +37589,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thewaxhouse.academy", true }, { "thewaxhouse.de", true }, { "thewayofthedojo.com", true }, - { "thewebdexter.com", true }, { "thewebflash.com", true }, { "thewebsitedoctors.co.uk", true }, { "thewebsitemarketingagency.com", true }, @@ -36420,13 +37597,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thewinstonatlyndhurst.com", true }, { "thewoodkid.com.au", true }, { "thewoolroom.com.au", true }, + { "theworld.tk", true }, { "theworldexchange.com", true }, { "theworldexchange.net", true }, { "theworldexchange.org", true }, { "theworldsend.eu", true }, { "thexfactorgames.com", true }, { "thexme.de", true }, - { "theyachtteam.com", true }, { "theyakshack.co.uk", true }, { "theyarnhookup.com", false }, { "theyear199x.org", true }, @@ -36440,15 +37617,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thiepxinh.net", true }, { "thierry-daellenbach.com", true }, { "thierrybasset.ch", true }, - { "thierryhayoz.ch", true }, + { "thijmenmathijs.nl", true }, { "thijsalders.nl", false }, { "thijsbekke.nl", true }, { "thijsslop.nl", true }, { "thijsvanderveen.net", true }, { "thinegen.de", true }, + { "thingies.site", true }, { "thingsimplied.com", true }, { "thingsof.org", true }, { "think-asia.org", true }, + { "think-pink.info", true }, { "think-positive-watches.de", true }, { "thinkforwardmedia.com", true }, { "thinkheaddesign.com", true }, @@ -36460,8 +37639,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thinkquality.nl", true }, { "thinkrealty.com", true }, { "thinktux.net", true }, - { "thirdbearsolutions.com", true }, + { "thirdgenphoto.co.uk", true }, { "thiry-automobiles.net", true }, + { "this-server-will-be-the-death-of-me.com", true }, { "thisbrownman.com", true }, { "thiscloudiscrap.com", false }, { "thiscode.works", true }, @@ -36482,8 +37662,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomalaudan.de", true }, { "thomas-bertran.com", true }, { "thomas-fahle.de", true }, + { "thomas-klubert.de", true }, { "thomas-prior.com", true }, { "thomas-sammut.com", true }, + { "thomas-schmittner.de", true }, { "thomas-suchon.fr", true }, { "thomas.love", false }, { "thomasbeckers.be", true }, @@ -36494,6 +37676,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomaseyck.com", true }, { "thomasfoster.co", true }, { "thomashunter.name", false }, + { "thomaskaviani.be", true }, { "thomasmcfly.com", true }, { "thomasmeester.nl", false }, { "thomasmerritt.de", true }, @@ -36505,6 +37688,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thomaswoo.com", true }, { "thompsonfamily.cloud", true }, { "thomsonscleaning.co.uk", true }, + { "thomspooren.nl", true }, { "thomwiggers.nl", true }, { "thor.edu", true }, { "thor.re", true }, @@ -36531,6 +37715,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "threatworking.com", true }, { "threecrownsllp.com", true }, { "threedpro.me", true }, + { "threefantasy.com", true }, { "threefours.net", true }, { "threelions.ch", true }, { "threema.ch", true }, @@ -36546,6 +37731,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "throughtheglass.photo", true }, { "throwaway.link", true }, { "throwpass.com", true }, + { "thrush.com", true }, { "thues.eu", true }, { "thuisverpleging-meerdael.be", true }, { "thullbery.com", true }, @@ -36556,8 +37742,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "thunraz.com", true }, { "thusoy.com", true }, { "thuthuatios.com", true }, - { "thuviensoft.com", true }, - { "thuybich.com", true }, + { "thuybich.com", false }, { "thw-bernburg.de", true }, { "thxandbye.de", true }, { "thycotic.ru", true }, @@ -36574,12 +37759,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tibicinagarricola.com", true }, { "tibipg.com", true }, { "tibovanheule.space", true }, - { "ticfleet.com", true }, - { "tichieru.pw", true }, { "ticketassist.nl", true }, { "ticketdriver.com", true }, { "ticketluck.com", true }, - { "ticketmates.com.au", true }, { "ticketmaze.com", true }, { "ticketpro.ca", false }, { "ticketrunway.com", true }, @@ -36593,25 +37775,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ticketsvergleichen.de", true }, { "tickit.ca", true }, { "tid.jp", true }, + { "tidy.chat", true }, { "tidycustoms.net", true }, { "tiekoetter.com", true }, - { "tielectric.ch", true }, - { "tiendavertigo.com", true }, + { "tielectric.ch", false }, { "tiens-ib.cz", true }, { "tier-1-entrepreneur.com", true }, { "tierarztpraxis-bogenhausen.de", true }, { "tierarztpraxis-weinert.de", true }, - { "tierraprohibida.net", true }, { "ties.com", true }, { "tiew.pl", true }, { "tifan.net", true }, + { "tiffanytravels.com", true }, { "tiffnix.com", true }, { "tigerchef.com", true }, { "tigerdile.com", true }, { "tigernode.com", true }, { "tigernode.net", true }, { "tiggeriffic.com", true }, - { "tiggi.pw", true }, { "tiglitub.com", true }, { "tiihosen.fi", true }, { "tiim.technology", true }, @@ -36619,9 +37800,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tijo.ch", true }, { "tik.edu.ee", true }, { "tik.help", true }, + { "tiki-god.co.uk", true }, { "tildes.net", true }, { "tildesnyder.com", true }, - { "tiledailyshop.com", true }, { "tilesbay.com", true }, { "tiliaze.be", true }, { "tiliaze.biz", true }, @@ -36641,10 +37822,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timberkel.com", true }, { "timbers.space", true }, { "timbishopartist.com", true }, + { "timbrado.com", true }, { "timbrust.de", true }, { "timco.cloud", true }, { "timdeneau.com", true }, { "timdoug.com", true }, + { "time.gov", true }, { "time.sh", true }, { "time2060.ru", true }, { "time22.com", true }, @@ -36657,17 +37840,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timetech.io", true }, { "timetotrade.com", true }, { "timewasters.nl", true }, + { "timewk.cn", true }, { "timfiedler.net", true }, { "timhieuthuoc.com", true }, + { "timi-matik.hu", true }, { "timing.com.br", true }, { "timjk.de", true }, { "timmersgems.com", true }, - { "timmy.im", true }, { "timmyrs.de", true }, { "timnash.co.uk", true }, { "timonengelke.de", true }, { "timoso.de", true }, { "timothybjacobs.com", true }, + { "timowi.de", true }, { "timoxbrow.com", true }, { "timsayedmd.com", true }, { "timtaubert.de", true }, @@ -36676,6 +37861,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "timvivian.ca", true }, { "timweb.ca", true }, { "timysewyn.be", true }, + { "tina-zander.de", true }, { "tina.media", true }, { "tinastahlschmidt.de", true }, { "tindallriley.co.uk", true }, @@ -36683,7 +37869,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tinfoilsecurity.com", false }, { "tinfoleak.com", true }, { "tinker.career", true }, - { "tinkerboard.org", true }, + { "tinkerbeast.com", true }, + { "tinkererstrunk.co.za", true }, { "tinkertry.com", true }, { "tinlc.org", true }, { "tinte24.de", true }, @@ -36701,6 +37888,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tinytownsoftplay.co.uk", true }, { "tinyvpn.net", true }, { "tinyvpn.org", true }, + { "tioat.net", true }, { "tipaki.gr", true }, { "tipbox.is", true }, { "tipe.io", true }, @@ -36726,6 +37914,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tit-dns.de", true }, { "tit-mail.de", true }, { "tit.systems", true }, + { "titanandco.com", true }, { "titandirect.co.uk", true }, { "titanous.com", true }, { "titansized.com", true }, @@ -36733,13 +37922,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "titelseite.ch", true }, { "titiansgirlphotography.com", true }, { "titouan.co", false }, - { "tittelbach.at", false }, + { "tittelbach.at", true }, { "titusetcompagnies.net", true }, { "tivido.nl", true }, { "tiwag.at", true }, { "tixeconsulting.com", true }, { "tixify.com", true }, { "tjampoer.com", true }, + { "tjcuk.co.uk", true }, { "tjenestetorvet.dk", true }, { "tjkcastles.uk", true }, { "tjl.rocks", true }, @@ -36748,18 +37938,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tkacz.pro", true }, { "tkanemoto.com", true }, { "tkat.ch", true }, - { "tkeycoin.com", true }, { "tkgpm.com", true }, - { "tkirch.de", true }, + { "tkjg.fi", true }, { "tkn.me", true }, { "tkusano.jp", true }, { "tkw01536.de", false }, { "tl.gg", true }, + { "tlach.cz", true }, { "tlca.org", true }, { "tlcnet.info", true }, { "tlehseasyads.com", true }, { "tleng.de", true }, { "tlo.xyz", true }, + { "tloxygen.com", true }, { "tls-proxy.de", true }, { "tls.builders", true }, { "tls.care", true }, @@ -36780,10 +37971,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tmcpromotions.co.uk", true }, { "tmcreationweb.com", true }, { "tmdb.biz", true }, + { "tmdc.ddns.net", true }, { "tmf.ru", true }, { "tmi-products.eu", true }, { "tmi-produkter.se", true }, - { "tmi.news", true }, { "tmm.cx", true }, { "tmonitoring.com", true }, { "tmpraider.net", true }, @@ -36791,6 +37982,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tmsdiesel.com", true }, { "tmtopup.com", true }, { "tn0.club", true }, + { "tnd.net.in", true }, { "tndentalwellness.com", true }, { "tnes.dk", true }, { "tniad.mil.id", false }, @@ -36801,10 +37993,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toad.ga", true }, { "toast.al", false }, { "tob-rulez.de", true }, - { "tobacco.gov", true }, { "tobaccolocker.com", true }, + { "tobedo.net", true }, { "tober-cpag.de", true }, { "tobi-mayer.de", true }, + { "tobi-server.goip.de", true }, + { "tobi-videos.goip.de", true }, { "tobias-bauer.de", true }, { "tobias-haenel.de", true }, { "tobias-kleinmann.de", true }, @@ -36830,7 +38024,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tobyalden.com", true }, { "tobyx.com", true }, { "tobyx.de", true }, - { "tobyx.eu", true }, { "tobyx.net", true }, { "tobyx.org", true }, { "tocaro.im", true }, @@ -36842,6 +38035,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "todapolitica.com", true }, { "todaymeow.com", true }, { "toddfry.com", true }, + { "toddmath.com", true }, { "todoereaders.com", true }, { "todoescine.com", true }, { "todoist.com", true }, @@ -36854,12 +38048,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toerclub-ing-arnhem.nl", true }, { "toetsplatform.be", true }, { "tofe.io", true }, + { "tofliving.nl", true }, { "tofu.cf", true }, { "togech.jp", true }, { "togetter.com", true }, { "toheb.de", false }, { "tohochofu-sportspark.com", true }, { "tohokinemakan.tk", true }, + { "tohokufd.com", true }, { "tokaido-kun.jp", true }, { "tokaido.com", true }, { "tokainafb.net", true }, @@ -36869,12 +38065,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokens.net", true }, { "tokic.hr", true }, { "tokinoha.net", true }, - { "tokintu.com", true }, { "tokio.fi", true }, { "tokka.com", true }, { "tokke.dk", true }, { "tokkee.org", true }, - { "tokky.eu", true }, { "tokototech.com", true }, { "tokugai.com", true }, { "tokumei.co", true }, @@ -36885,7 +38079,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tokyomakino.com", true }, { "tokyovipper.com", true }, { "tolboe.com", true }, - { "toldositajuba.com", true }, { "toleressea.fr", true }, { "toles-sur-mesure.fr", true }, { "tolle-wolke.de", true }, @@ -36904,7 +38097,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomasjacik.cz", true }, { "tomaskavalek.cz", false }, { "tomaspatera.cz", true }, - { "tomaspialek.cz", true }, { "tomasvecera.cz", true }, { "tomasz.com", true }, { "tomatenaufdenaugen.de", true }, @@ -36912,6 +38104,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomaw.net", true }, { "tomaz.eu", true }, { "tombaker.me", true }, + { "tombroker.org", true }, { "tombrossman.com", true }, { "tomd.ai", true }, { "tomend.es", true }, @@ -36931,6 +38124,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tomlowenthal.com", true }, { "tomm.yt", true }, { "tommic.eu", true }, + { "tommy-bordas.fr", false }, { "tomnatt.com", true }, { "tomo.gr", false }, { "tomosm.net", true }, @@ -36940,10 +38134,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toms.ovh", true }, { "tomschlick.com", true }, { "tomsdevsn.me", true }, + { "tomsherakmshope.org", true }, { "tomspdblog.com", true }, { "tomssl.com", true }, { "tomticket.com", true }, - { "tomudding.com", true }, { "tomudding.nl", true }, { "tomvote.com", true }, { "tomwassenberg.com", true }, @@ -36973,11 +38167,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tonermonster.de", true }, { "tonex.de", true }, { "tonex.nl", true }, + { "toni-dis.ch", true }, + { "tonifarres.net", true }, + { "tonigallagherinteriors.com", true }, { "tonkayagran.com", true }, { "tonkayagran.ru", true }, { "tonkinson.com", true }, { "tonkinwilsonvillenissanparts.com", true }, { "tonnycat.com", true }, + { "tonnygaric.com", true }, { "tono.us", true }, { "tonsit.com", true }, { "tonsit.org", true }, @@ -36991,26 +38189,31 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tonywebster.com", true }, { "too.gy", true }, { "toobug.net", true }, + { "toolbox-bodensee.de", true }, { "toolbox.ninja", false }, + { "toolineo.de", true }, { "toolkits.design", true }, { "toolroomrecords.com", true }, { "tools.pro", true }, { "toolsense.io", true }, { "toom.io", true }, - { "toomy.ddns.net", true }, + { "toomy.pri.ee", true }, + { "toon.style", true }, { "toonpool.com", true }, { "toonsburgh.com", true }, { "toontown.team", true }, { "toontownrewritten.com", true }, { "toool.nl", true }, + { "toool.nyc", true }, { "toool.org", true }, { "tooolroc.org", false }, { "toot.center", true }, { "toothdoc.ca", true }, { "tooti.biz", true }, - { "top-esb.com", true }, { "top-obaly.cz", true }, { "top-opakowania.pl", true }, + { "top-solar-info.de", true }, + { "top4shop.de", true }, { "top5hosting.co.uk", true }, { "top9.fr", true }, { "topaxi.ch", true }, @@ -37026,7 +38229,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "topdroneusa.com", true }, { "topekafoundationpros.com", true }, { "topeng-emas.com", true }, - { "topesb.com", true }, { "topeyelashenhancerserumreviews.com", true }, { "topfivepercent.co.uk", true }, { "topgshop.ru", true }, @@ -37041,16 +38243,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "topodin.com", true }, { "toponlinecasinosites.co.uk", true }, { "toppercan.es", true }, - { "toppointrea.com", true }, { "topprice.ua", true }, { "topsailtechnologies.com", true }, { "topservercccam.tv", true }, { "topshelfcommercial.com", true }, + { "topshoptools.com", true }, { "topsteaks-daun.de", true }, { "toptec.net.br", true }, { "toptexture.com", true }, { "toptheto.com", true }, - { "topvertimai.lt", true }, + { "topvision.se", true }, { "topwindowcleaners.co.uk", true }, { "topworktops.co.uk", true }, { "toracon.org", true }, @@ -37058,6 +38260,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "torchantifa.org", true }, { "toreni.us", true }, { "toretame.jp", true }, + { "torfbahn.de", true }, { "torg-room.ru", true }, { "torkware.com", true }, { "tormakristof.eu", true }, @@ -37078,10 +38281,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "torresygutierrez.com", true }, { "torretzalam.com", true }, { "torservers.net", true }, + { "torsquad.com", true }, { "torsten-schmitz.net", true }, { "torstensenf.de", true }, { "torte.roma.it", true }, - { "tortocan.com", true }, { "tortoises-turtles.com", true }, { "tortugan.com.br", true }, { "tosainu.com.br", true }, @@ -37090,13 +38293,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toschool.com.br", true }, { "toshen.com", true }, { "toshkov.com", true }, - { "toskana-appartement.de", true }, { "tosolini.info", true }, { "tosostav.cz", true }, { "tosteberg.se", true }, { "tostu.de", true }, + { "tot-radio.com", true }, { "totaku.ru", true }, - { "totalbeauty.co.uk", true }, { "totalbike.com.br", true }, { "totalcarcheck.co.uk", true }, { "totalchecklist.com", true }, @@ -37117,10 +38319,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "touch.mail.ru", true }, { "touchoflife.in", true }, { "touchscreentills.com", true }, + { "touchstone.io", true }, + { "touchtable.nl", true }, { "touchweb.fr", true }, { "touchwoodtrees.com.au", true }, { "touhou.ac.cn", true }, - { "touhou.cc", true }, { "touhou.fm", true }, { "touhouwiki.net", true }, { "toujours-actif.com", true }, @@ -37139,8 +38342,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toushi-return.xyz", true }, { "toushi-shakkin.com", true }, { "touslesdrivers.com", true }, - { "tout-art.ch", true }, - { "toutart.ch", true }, + { "toutelathailande.fr", true }, { "toutenmusic.fr", true }, { "toutmonexam.fr", true }, { "toutvendre.be", true }, @@ -37156,6 +38358,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "toverland-tickets.nl", true }, { "tovp.org", true }, { "towandalibrary.org", true }, + { "tower.land", true }, { "townandcountryus.com", true }, { "townhousedevelopments.com.au", true }, { "townhouseregister.com.au", true }, @@ -37163,8 +38366,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "towsonroofers.com", true }, { "towywebdesigns.uk", true }, { "tox21.gov", false }, + { "toycu.de", true }, { "toymagazine.com.br", true }, { "toyota-kinenkan.com", true }, + { "toysale.by", true }, { "toysperiod.com", true }, { "tp-iryuubun.com", true }, { "tp-kabushiki.com", true }, @@ -37192,7 +38397,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "traceroute.guru", true }, { "traceroute.link", true }, { "traceroute.network", true }, - { "traces.ml", true }, + { "tracetracker.no", true }, { "tracfinancialservices.com", true }, { "tracinsurance.com", true }, { "trackchair.com", true }, @@ -37211,11 +38416,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trade.gov.uk", true }, { "trade247.exchange", true }, { "tradeacademy.in", true }, - { "tradedesk.co.za", true }, { "tradeinvent.co.uk", true }, { "trademan.ky", true }, { "traderjoe-cloud.de", true }, { "tradernet.ru", true }, + { "tradeshowfreightservices.com", true }, { "tradik.com", true }, { "tradinews.com", true }, { "tradinews.fr", true }, @@ -37223,11 +38428,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "traditionskapperscollege.nl", true }, { "traditionsvivantesenimages.ch", true }, { "tradiz.org", false }, + { "tradlost-natverk.se", true }, { "trafarm.ro", true }, { "trafas.nl", true }, { "traffic.az", true }, { "trafficmanager.ltd", true }, { "trafficmanager.xxx", true }, + { "trafficmgr.cn", true }, + { "trafficmgr.net", true }, { "trafficologyblueprint.com", true }, { "trafficpixel.tk", true }, { "traffixdevices.com", true }, @@ -37238,9 +38446,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trailforks.com", true }, { "trainex.org", true }, { "trainhornforums.com", true }, - { "trainhorns.us", true }, { "trainiac.com.au", true }, - { "trainings-handschuhe-test.de", true }, + { "traininghamburg.de", true }, { "trainline.at", true }, { "trainline.cn", true }, { "trainline.com.br", true }, @@ -37261,6 +38468,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trainplaza.net", true }, { "trainplaza.nl", true }, { "trainsgoodplanesbad.com", true }, + { "traintimes.be", true }, + { "traintimes.ch", true }, + { "traintimes.dk", true }, + { "traintimes.fi", true }, + { "traintimes.ie", true }, + { "traintimes.it", true }, + { "traintimes.lu", true }, + { "traintimes.nl", true }, + { "traintimes.se", true }, { "traista.ru", true }, { "traiteurpapillonevents.be", true }, { "trajano.net", true }, @@ -37273,9 +38489,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tranceheal.com", true }, { "tranceheal.de", true }, { "tranceheal.me", true }, - { "trancendances.fr", true }, { "trangcongnghe.com", true }, - { "trangell.com", true }, { "tranglenull.xyz", true }, { "tranhsondau.net", false }, { "tranquillity.se", true }, @@ -37284,12 +38498,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "transcend.org", true }, { "transcontrol.com.ua", true }, { "transfer.pw", true }, - { "transferio.nl", true }, { "transfers.do", true }, { "transfers.mx", true }, { "transferserver.at", true }, { "transfersummit.com", true }, { "transfigurewizard.com", true }, + { "transfile.fr", true }, { "transformaniatime.com", true }, { "transformations-magazin.com", true }, { "transgendergedenkdag.nl", true }, @@ -37302,21 +38516,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "transhumanist.net", true }, { "transhumanist.org", true }, { "transhumanist.uk", true }, + { "transitmoe.io", true }, { "transitownplaza.com", true }, { "transitpoint.us", true }, { "translate-polish.com", true }, { "translate.fedoraproject.org", true }, { "translate.googleapis.com", true }, { "translate.stg.fedoraproject.org", true }, - { "translatoruk.co.uk", true }, { "transmarttouring.com", true }, { "transmisjeonline.pl", true }, { "transmitit.pl", true }, { "transmute.review", true }, { "transnexus.com", true }, { "transoil.co.uk", true }, + { "transpak-cn.com", true }, { "transparentcorp.com", true }, - { "transport.eu", true }, { "transporta.it", true }, { "transporterlock.com", true }, { "transumption.com", true }, @@ -37331,32 +38545,36 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trattamenti.biz", true }, { "trattamento-cotto.it", true }, { "trauer-beileid.de", true }, + { "traumwerker.com", true }, { "traut.cloud", true }, { "travador.com", true }, { "travaux-toiture-idf.fr", true }, + { "travel-dealz.de", true }, { "travel-to-nature.ch", true }, { "travel.co.za", true }, { "travel365.it", true }, { "travelarmenia.org", true }, { "traveleets.com", true }, { "travelemy.com", true }, + { "travelfield.org", true }, + { "travelholicworld.com", true }, { "travelinsurance.co.nz", true }, { "travellers.dating", true }, { "travellovers.fr", true }, - { "travelmyth.ie", true }, { "travelogue.jp", true }, { "travelphoto.cc", true }, { "travelrefund.com", true }, { "travelshack.com", true }, + { "traverse.com.ua", true }, { "travi.org", true }, { "travis.nl", true }, { "travisf.net", true }, { "travisforte.io", true }, - { "travisfranck.com", true }, { "travler.net", true }, { "trbanka.com", true }, { "trea98.org", true }, { "treaslockbox.gov", true }, + { "trebarov.cz", true }, { "tree0.xyz", true }, { "treebaglia.xyz", true }, { "treehouseresort.nl", true }, @@ -37373,21 +38591,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trek-planet.ru", true }, { "trekfriend.com", true }, { "trekkinglife.de", true }, - { "tremlor.com", true }, { "trendkraft.de", true }, { "trendreportdeals.com", true }, + { "trendsettersre.com", true }, { "trendus.no", true }, { "trendykids.cz", true }, { "trenta.io", true }, + { "trenztec.ml", true }, { "tresor.it", true }, { "tresorit.com", true }, { "tresorsecurity.com", true }, { "tretail.net", true }, - { "tretkowski.de", true }, { "treussart.com", true }, + { "trevsanders.co.uk", true }, { "trezy.me", true }, { "trezy.net", true }, { "trhastane.com", true }, + { "triage.ai", true }, { "triage.clinic", true }, { "triage.com", true }, { "triage.md", true }, @@ -37395,6 +38615,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trialandsuccess.nl", true }, { "trialcentralnet.com", true }, { "trianglecastles.co.uk", true }, + { "trianglelawngames.com", true }, { "tribac.de", true }, { "tribaldos.com", true }, { "tribaljusticeandsafety.gov", true }, @@ -37403,24 +38624,20 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tribly.de", true }, { "tribut.de", true }, { "tributh.cf", true }, - { "tributh.ga", true }, - { "tributh.gq", true }, - { "tributh.ml", true }, { "tributh.net", true }, - { "tributh.tk", true }, { "tricefy4.com", true }, - { "tricks.clothing", true }, + { "triciaree.com", true }, { "trident-online.de", true }, - { "tridentflood.com", true }, { "trietment.com", true }, { "trigardon-rg.de", true }, { "trik.es", false }, + { "trilithsolutions.com", true }, { "trillian.im", true }, { "trilliumvacationrentals.ca", true }, { "triluxds.com", true }, { "trim-a-slab.com", true }, + { "trim21.cn", true }, { "trimage.org", true }, - { "trimarchimanuele.it", true }, { "trinary.ca", true }, { "trineco.com", true }, { "trineco.fi", true }, @@ -37430,9 +38647,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trio.online", true }, { "triop.se", true }, { "trior.net", true }, - { "triple-mmm.de", true }, { "triplekeys.net", true }, { "tripolistars.com", true }, + { "tripout.tech", true }, { "tripp.xyz", true }, { "tripseats.com", true }, { "tripsinc.com", true }, @@ -37453,7 +38670,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trollope-apollo.com", true }, { "trommelwirbel.com", true }, { "tronatic-studio.com", true }, - { "trondelan.no", true }, { "troomcafe.com", true }, { "troopaid.info", true }, { "trophee-discount.com", true }, @@ -37466,7 +38682,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "troyfawkes.com", true }, { "troyhunt.com", true }, { "troyhuntsucks.com", true }, - { "troykelly.com", true }, { "trs.tn", true }, { "trtltravel.com", true }, { "trtruijens.com", true }, @@ -37475,11 +38690,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "trucchibellezza.it", true }, { "truckersmp.com", true }, { "truckerswereld.nl", false }, - { "truckgpsreviews.com", true }, { "truckstop-magazin.de", false }, + { "trucosdescargas.com", true }, { "true-itk.de", true }, + { "trueachievements.com", true }, { "trueassignmenthelp.co.uk", true }, - { "trueblueessentials.com", true }, + { "trueduality.net", true }, + { "truehempculture.com.au", true }, { "trueinstincts.ca", true }, { "truekey.com", true }, { "truentumvet.it", true }, @@ -37489,7 +38706,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "truesteamachievements.com", true }, { "truestor.com", true }, { "trueteaching.com", true }, + { "truetraveller.com", true }, { "truetrophies.com", true }, + { "trueweb.es", true }, { "trufflemonkey.co.uk", true }, { "truhlarstvi-fise.cz", true }, { "trulance.com", true }, @@ -37521,19 +38740,18 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tryndraze.com", true }, { "trynta.com", true }, { "trynta.net", true }, + { "trypineapple.com", true }, { "tryretool.com", true }, { "tryupdates.com", true }, { "trywesayyes.com", true }, { "trzepak.pl", true }, - { "ts-publishers.com", true }, - { "ts3-dns.com", true }, - { "ts3-dns.net", false }, { "ts3-legenda.tech", true }, { "tsa-sucks.com", true }, { "tsab.moe", true }, { "tsai.com.de", true }, { "tsatestprep.com", true }, { "tschuermans.be", true }, + { "tscinsurance.com", true }, { "tsedryk.ca", true }, { "tsgkc1.com", true }, { "tsicons.com", true }, @@ -37551,10 +38769,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tsundere.moe", true }, { "tsung.co", true }, { "tsurai.work", true }, + { "tsurimap.com", true }, { "tsutsumi-kogyo.jp", true }, { "tsuyuzakihiroyuki.com", true }, { "tsv-1894.de", true }, - { "tt.dog", true }, { "ttb.gov", true }, { "ttbonline.gov", true }, { "ttc-birkenfeld.de", true }, @@ -37564,17 +38782,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ttclub.fr", true }, { "ttdsevaonline.com", true }, { "ttll.de", true }, - { "ttrade.ga", true }, { "ttsoft.pl", true }, { "ttsweb.org", true }, { "ttt.tt", true }, { "ttuwiki.ee", true }, { "ttuwiki.org", true }, + { "ttwt.com", true }, { "tty1.net", true }, { "ttyystudio.com", true }, { "tu-immoprojekt.at", true }, { "tu6.pm", true }, - { "tuang-tuang.com", true }, { "tuasaude.com", true }, { "tubanten.nl", true }, { "tube.tools", true }, @@ -37588,6 +38805,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tucuxi.org", true }, { "tudiennhakhoa.com", true }, { "tudorproject.org", true }, + { "tudulinna.ee", true }, { "tuev-hessen.de", true }, { "tufashionista.com", true }, { "tuffclassified.com", true }, @@ -37596,6 +38814,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tuincentersnaet.be", true }, { "tuingereedschappen.net", false }, { "tuitle.com", true }, + { "tuja.hu", true }, + { "tulumplayarealestate.com", true }, { "tumagiri.net", true }, { "tumblenfun.com", true }, { "tumedico.es", true }, @@ -37614,22 +38834,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tunnelwatch.com", true }, { "tuntitili.fi", true }, { "tuotteet.org", true }, - { "tuou.xyz", true }, { "tupa-germania.ru", true }, { "tupeuxpastest.ch", true }, { "tuppenceworth.ie", true }, { "turbobit.ch", true }, + { "turdnagel.com", true }, { "turf-experts.com", true }, { "turigum.com", true }, + { "turismodubrovnik.com", true }, { "turkish.dating", true }, { "turl.pl", true }, { "turnaroundforum.de", true }, { "turncircles.com", true }, + { "turnierplanung.com", true }, { "turnoffthelights.com", true }, { "turnonsocial.com", true }, { "turpinpesage.fr", true }, { "tursiae.org", true }, - { "turtle.ai", false }, { "turtleduckstudios.com", true }, { "turtlepwr.com", true }, { "turunculevye.com", true }, @@ -37641,27 +38862,31 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tutoragency.org", true }, { "tutorat-tect.org", true }, { "tutoref.com", true }, + { "tutorialehtml.com", true }, { "tutorialinux.com", true }, { "tutorme.com", true }, { "tuts4you.com", true }, { "tuttimundi.org", true }, { "tuttoandroid.net", true }, { "tuvangoicuoc.com", true }, + { "tuversionplus.com", true }, { "tuwaner.com", true }, { "tuxcloud.net", true }, { "tuxflow.de", false }, { "tuxgeo.com", false }, { "tuxie.com", true }, { "tuxlife.net", true }, + { "tuxone.ch", true }, { "tuxpeliculas.com", true }, + { "tuxpi.com", true }, { "tuxplace.nl", true }, - { "tuxrtfm.com", true }, { "tuxtimo.me", true }, { "tuxz.net", true }, { "tuza.com.au", true }, { "tuzaijidi.com", true }, { "tv-programme.be", true }, { "tv-programme.com", true }, + { "tvbaratas.net", true }, { "tvbeugels.nl", false }, { "tvcal.net", true }, { "tvcmarketing.com", true }, @@ -37671,18 +38896,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tvipper.com", true }, { "tvleaks.se", true }, { "tvlplus.net", true }, - { "tvqc.com", true }, { "tvseries.info", true }, { "tvsheerenhoek.nl", true }, { "tvzr.com", true }, { "tw.search.yahoo.com", false }, { "twaka.com", true }, + { "twalter.de", true }, { "twb.berlin", true }, { "twd2.me", true }, { "twd2.net", false }, + { "twdreview.com", true }, + { "tweak.group", true }, { "tweakers.com.au", true }, { "tweakers.net", true }, - { "tweakersbadge.nl", true }, { "tweaktown.com", true }, { "tweedehandslaptophardenberg.nl", true }, { "tweetfinity.com", true }, @@ -37695,6 +38921,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "twinztech.com", true }, { "twisata.com", true }, { "twistdevelopment.co.uk", true }, + { "twisted-brains.org", true }, { "twistedwave.com", true }, { "twisto.cz", true }, { "twisto.pl", true }, @@ -37705,12 +38932,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "twitteroauth.com", true }, { "twizzkidzinflatables.co.uk", true }, { "twlan.org", true }, - { "twocornertiming.com", true }, { "twodadsgames.com", true }, { "twofactorauth.org", true }, { "twohuo.com", true }, { "twopif.net", true }, { "tworaz.net", true }, + { "twtimmy.com", true }, + { "twtremind.com", true }, { "twun.io", true }, { "twuni.org", true }, { "txcap.org", true }, @@ -37719,22 +38947,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "txlrs.org", true }, { "txm.pl", true }, { "txtecho.com", true }, + { "txurologist.com", true }, { "tyche.io", true }, { "tycho.org", true }, { "tycom.cz", true }, - { "tyil.nl", true }, { "tyil.work", true }, - { "tyl.io", true }, + { "tykeplay.com", true }, + { "tyler.rs", true }, { "tylerdavies.net", true }, { "tylerfreedman.com", true }, - { "tylerharcourt.ca", true }, { "tylerharcourt.net", true }, + { "tyleromeara.com", true }, { "tylerschmidtke.com", true }, { "typcn.com", true }, { "typeblog.net", true }, { "typecodes.com", true }, { "typeof.pw", true }, - { "typeonejoe.com", true }, { "typeria.net", true }, { "typewolf.com", true }, { "typewritten.net", true }, @@ -37753,7 +38981,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "tzermias.gr", true }, { "tzifas.com", true }, { "u-martfoods.com", true }, - { "u-metals.com", true }, { "u-tokyo.club", true }, { "u.nu", true }, { "u0010.com", true }, @@ -37786,7 +39013,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uberbkk.com", true }, { "uberboxen.net", true }, { "uberestimator.com", true }, - { "ubermail.me", true }, + { "ubertt.org", true }, { "uberwald.de", true }, { "uberwald.ws", true }, { "ubezpieczeniepsa.com", true }, @@ -37796,14 +39023,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ubis.group", true }, { "ublaboo.org", true }, { "uborcare.com", true }, - { "ubun.net", true }, + { "ubunlog.com", true }, { "ubuntu18.com", true }, { "ucac.nz", false }, { "ucangiller.com", true }, + { "ucasa.org.au", true }, { "ucch.be", true }, { "ucfirst.nl", true }, { "uchargeapp.com", true }, - { "uchiha.ml", true }, { "uclf.de", true }, { "uclip.club", true }, { "ucppe.org", true }, @@ -37820,6 +39047,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ueberdosis.io", true }, { "ueberwachungspaket.at", true }, { "uedaviolin.com", true }, + { "uefeng.com", true }, { "uel-thompson-okanagan.ca", true }, { "ueni.com", true }, { "uevan.com", true }, @@ -37828,6 +39056,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ufindme.at", true }, { "ufplanets.com", true }, { "ugb-verlag.de", true }, + { "uggedal.com", true }, { "ugx-mods.com", true }, { "uhappy1.com", true }, { "uhappy11.com", true }, @@ -37857,10 +39086,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uhappy62.com", true }, { "uhappy66.com", true }, { "uhappy67.com", true }, - { "uhappy69.com", true }, - { "uhappy70.com", true }, { "uhappy71.com", true }, - { "uhappy72.com", true }, { "uhappy73.com", true }, { "uhappy74.com", true }, { "uhappy75.com", true }, @@ -37869,8 +39095,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uhappy78.com", true }, { "uhappy79.com", true }, { "uhappy8.com", true }, - { "uhappy80.com", true }, - { "uhappy81.com", true }, { "uhappy82.com", true }, { "uhappy83.com", true }, { "uhappy85.com", true }, @@ -37879,7 +39103,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uhappy9.com", true }, { "uhappy90.com", true }, { "uhappy99.com", true }, - { "uhasseltodin.be", true }, { "uhc.gg", true }, { "uhlhosting.ch", true }, { "uhrenlux.de", true }, @@ -37887,10 +39110,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uhurl.net", true }, { "ui8.net", true }, { "uiberlay.cz", true }, + { "uicchy.com", true }, { "uiop.link", true }, { "uiterwijk.org", true }, { "uitgeverij-deviant.nl", true }, { "ujob.com.cn", true }, + { "ujvary.eu", true }, { "uk.dating", true }, { "uk.search.yahoo.com", false }, { "ukbc.london", true }, @@ -37908,11 +39133,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ukrigging.net", true }, { "ukrnet.co.uk", true }, { "uktw.co.uk", true }, + { "ukulelejim.com", true }, { "ukunlocks.com", true }, { "ukwct.org.uk", true }, { "ulabox.com", true }, { "uldsh.de", true }, { "ulen.me", true }, + { "ulfberht.fi", true }, { "ulgc.cz", true }, { "uli-eckhardt.de", true }, { "ulitroyo.com", true }, @@ -37931,11 +39158,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ultratechlp.com", true }, { "ultrautoparts.com.au", true }, { "umanityracing.com", true }, + { "umbertheprussianblue.com", true }, { "umbrellaye.online", true }, { "umbricht.li", true }, { "umenlisam.com", true }, { "umisonoda.com", true }, - { "umkmjogja.com", true }, { "umsapi.com", true }, { "umwandeln-online.de", true }, { "un-framed.co.za", true }, @@ -37972,8 +39199,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uncensoreddns.dk", true }, { "uncensoreddns.org", true }, { "undeadbrains.de", true }, + { "undecidable.de", true }, { "undeductive.media", true }, - { "undef.in", true }, + { "undef.in", false }, { "underbridgeleisure.co.uk", true }, { "undercovercondoms.co.uk", true }, { "underfloorheating-uk.co.uk", true }, @@ -37982,15 +39210,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "underskatten.tk", true }, { "underwearoffer.com", true }, { "undo.co.il", true }, - { "undone.me", true }, { "unece-deta.eu", true }, { "unedouleur.com", true }, { "unefleur.be", true }, { "unerosesurlalune.fr", true }, { "unexpected.nu", true }, + { "unfallrechtler.de", true }, + { "unfc.nl", true }, { "unfettered.net", false }, - { "unfuddle.cn", true }, { "unga.dk", true }, + { "ungaeuropeer.se", true }, { "ungeek.eu", true }, { "ungeek.fr", true }, { "ungegamere.dk", true }, @@ -38021,12 +39250,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uniekglas.nl", true }, { "unifei.edu.br", true }, { "uniform-agri.com", true }, + { "unijob.com.br", true }, { "unikoingold.com", true }, { "unila.edu.br", true }, { "unimbalr.com", true }, - { "uninet.cf", true }, - { "uniojeda.ml", true }, + { "unioils.la", true }, { "unionplat.ru", true }, + { "unionstreetskateboards.com", true }, { "uniontestprep.com", true }, { "unipig.de", true }, { "uniprimebr.com.br", false }, @@ -38058,6 +39288,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "universeinform.com", true }, { "universidadvg.edu.mx", true }, { "univitale.fr", true }, + { "unix.se", true }, { "unixadm.org", true }, { "unixapp.ml", true }, { "unixattic.com", true }, @@ -38069,19 +39300,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unli.xyz", true }, { "unlocken.nl", true }, { "unlocktalent.gov", true }, + { "unmarkdocs.co", true }, { "unmonito.red", true }, { "unn-edu.info", true }, { "uno-pizza.ru", true }, + { "uno.fi", true }, { "unobrindes.com.br", true }, { "unoccupyabq.org", true }, { "unp.me", true }, { "unpkg.com", true }, - { "unpossible.xyz", true }, { "unpr.dk", true }, { "unquote.li", true }, { "unrealircd.org", true }, { "unrelated.net.au", true }, - { "unruh.fr", true }, { "uns.vn", true }, { "unsacsurledos.com", true }, { "unsee.cc", true }, @@ -38090,17 +39321,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "unser-gartenforum.de", true }, { "unsereins.me", true }, { "unsourirealecole.fr", true }, + { "unstablewormhole.ltd", true }, { "unstamps.org", true }, + { "unstoppableunits.com", true }, { "unsuspicious.click", true }, { "unterfrankenclan.de", true }, { "unterhaltungsbox.com", true }, { "unternehmer-radio.de", true }, + { "unternehmerrat-hagen.de", true }, + { "unterschicht.tv", true }, { "untethereddog.com", true }, { "unun.fi", true }, { "unusualhatclub.com", true }, - { "unworthy.ml", true }, { "unx.dk", true }, { "unxicdellum.cat", true }, + { "uotomizu.com", true }, + { "upakweship.com", true }, + { "upandrunningtutorials.com", true }, + { "upay.ru", true }, { "upbad.com", true }, { "upbeatrobot.com", true }, { "upbeatrobot.eu", true }, @@ -38123,7 +39361,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "upperbeaconsfield.org.au", true }, { "upperroommission.ca", true }, { "upplevelse.com", true }, - { "upr-info.org", true }, { "upr.com.ua", true }, { "uprint.it", true }, { "uprouteyou.com", true }, @@ -38135,12 +39372,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uptodateinteriors.com", true }, { "uptoon.jp", true }, { "uptownlocators.com", true }, + { "uptownvintagecafe.com", true }, { "uptrends.com", true }, { "uptrends.de", true }, { "uptrex.co.uk", true }, { "upturn.org", true }, { "upundit.com", true }, - { "upwardtraining.co.uk", true }, { "upwork.com", true }, { "upyourfinances.com", true }, { "ur.nl", true }, @@ -38150,7 +39387,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "urbackups.com", true }, { "urbalex.ch", true }, { "urban-culture.fr", true }, - { "urban-karuizawa.co.jp", true }, { "urban.melbourne", true }, { "urbancreators.dk", true }, { "urbandance.club", true }, @@ -38162,10 +39398,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "urbanmelbourne.info", true }, { "urbannewsservice.com", true }, { "urbansparrow.in", true }, - { "urbanstylestaging.com", true }, { "urbansurvival.com", true }, { "urbanwaters.gov", false }, { "urbanwildlifealliance.org", false }, + { "urbanxdevelopment.com", true }, { "urbexdk.nl", true }, { "urbizoroofing.com", true }, { "urcentral.com", true }, @@ -38179,7 +39415,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "urist1011.ru", true }, { "url.fi", true }, { "url.fm", true }, - { "url.rw", true }, + { "url.rw", false }, { "url0.eu", true }, { "urlaub-busreisen.de", true }, { "urlaub-leitner.at", true }, @@ -38192,6 +39428,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "urspringer.de", true }, { "ursuslibris.hu", true }, { "urth.org", true }, + { "uruguay-experience.com", true }, { "urukproject.org", true }, { "usa-greencard.eu", true }, { "usaa.com", false }, @@ -38209,6 +39446,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "usalearning.gov", true }, { "usaseanconnect.gov", true }, { "usastaffing.gov", true }, + { "usb-lock-rp.com", true }, { "usbcraft.com", true }, { "usbevents.co.uk", true }, { "usbr.gov", true }, @@ -38229,7 +39467,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "usimmigration.us", true }, { "usipvd.ch", true }, { "usitcolours.bg", true }, - { "uskaria.com", true }, { "usmint.gov", true }, { "usninosnikrcni.eu", true }, { "usnti.com", true }, @@ -38243,6 +39480,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ustr.gov", false }, { "ustugov.kiev.ua", true }, { "ustugova.kiev.ua", true }, + { "usu.org.ua", true }, { "usualbeings.com", true }, { "usuan.net", true }, { "usweme.info", true }, @@ -38252,6 +39490,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "utahlocal.net", true }, { "utahtravelcenter.com", true }, { "utazas-nyaralas.info", true }, + { "utazine.com", true }, { "utcast-mate.com", true }, { "utdsgda.com", true }, { "utepils.de", true }, @@ -38282,7 +39521,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uw1008.com", true }, { "uw2333.com", true }, { "uwac.co.uk", false }, - { "uwekoetter.com", true }, { "uwelilienthal.de", true }, { "uwsoftware.be", true }, { "uwvloereruit.nl", true }, @@ -38293,6 +39531,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "uz.search.yahoo.com", false }, { "uzaymedya.com.tr", true }, { "uziregister.nl", true }, + { "uzpirksana.lv", true }, { "uzsvm.cz", true }, { "uzzamari.com", true }, { "v-d-p.net", true }, @@ -38300,13 +39539,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "v-tek.fi", true }, { "v-u-z.ru", true }, { "v2bv.net", true }, + { "v2bv.win", true }, { "v2cn.win", true }, { "v2ex.com", true }, { "v2ray6.com", true }, { "v2ray66.com", true }, { "v2ray666.com", true }, + { "v4s.ro", true }, { "va-reitartikel.com", true }, - { "va.gov", false }, + { "va.gov", true }, { "vacationsbyvip.com", true }, { "vaccines.gov", true }, { "vacuumpump.co.id", true }, @@ -38315,6 +39556,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vaew.com", true }, { "vagabond.fr", true }, { "vagabondgal.com", true }, + { "vagaerg.com", true }, + { "vagaerg.net", true }, { "vagmour.eu", true }, { "vagpartsdb.com", true }, { "vagrantbits.com", true }, @@ -38327,16 +39570,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vakantienet.nl", true }, { "vakuutuskanava.fi", true }, { "valasi.eu", true }, - { "valbonne-consulting.com", true }, { "valcano-krd.ru", true }, { "valcano.ru", true }, + { "valcansell.com", true }, { "valcardiesel.com", true }, { "valek.net", true }, { "valenciadevops.me", true }, { "valentin-dederer.de", true }, - { "valentin-ochs.de", true }, { "valentin-sundermann.de", true }, - { "valentin.ml", true }, { "valentinberclaz.com", true }, { "valentineapparel.com", true }, { "valentineforpresident.com", true }, @@ -38360,15 +39601,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "valleyautoloan.com", true }, { "valleycode.net", true }, { "valleydalecottage.com.au", true }, - { "valleyshop.ca", true }, { "vallutaja.eu", true }, { "valokuva-albumi.fi", true }, { "valordolarblue.com.ar", true }, { "valorem-tax.ch", true }, { "valoremtax.ch", true }, { "valoremtax.com", true }, + { "valorin.net", true }, { "valorizofficial.com", true }, - { "valshamar.is", true }, { "valsk.is", false }, { "valskis.lt", true }, { "valtlai.fi", true }, @@ -38398,23 +39638,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vandorenscholars.org", true }, { "vandyhacks.org", true }, { "vaneigenkweek.be", true }, + { "vanessarivas.com", true }, + { "vaneurology.com", true }, { "vangoghcoaching.nl", true }, { "vanhoudt-usedcars.be", true }, { "vanhoutte.be", false }, { "vanhove.biz", true }, + { "vanlent.net", true }, { "vanmalland.com", true }, { "vannaos.com", true }, { "vannaos.net", true }, { "vanohaker.ru", true }, { "vanouwerkerk.net", true }, { "vantagepointpreneed.com", true }, - { "vantaio.com", true }, { "vante.me", true }, { "vantien.com", true }, { "vantru.is", true }, { "vanvoro.us", false }, { "vanwunnik.com", true }, - { "vapecom-shop.com", true }, { "vapecrunch.com", true }, { "vapehour.com", true }, { "vapensiero.co.uk", true }, @@ -38425,7 +39666,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vapingdaily.com", true }, { "vapor.cloud", false }, { "vapordepot.jp", true }, - { "vaporpunk.space", true }, { "varalwamp.com", true }, { "varcare.jp", true }, { "varden.info", true }, @@ -38435,9 +39675,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "variable.agency", false }, { "variag-group.ru", true }, { "variag-montazh.ru", true }, + { "variando.fi", true }, { "varicoseveinssolution.com", true }, { "varimedoma.com", true }, { "variomedia.de", true }, + { "varonahairrestoration.com", true }, { "varshasookt.com", true }, { "varshathacker.com", true }, { "varunagw.com", true }, @@ -38457,6 +39699,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vaskulitis-info.de", true }, { "vasp.group", true }, { "vasports.com.au", true }, + { "vastenotaris.nl", true }, { "vasyharan.com", true }, { "vat-eu.com", true }, { "vat.direct", true }, @@ -38469,18 +39712,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vaughanrisher.com", true }, { "vault21.net", true }, { "vault81.de", true }, - { "vaultproject.io", true }, + { "vaultproject.io", false }, { "vaur.fr", true }, { "vavel.com", true }, { "vawebsite.co", true }, { "vawlt.io", true }, + { "vawomenshealth.com", true }, { "vaygren.com", true }, { "vazue.com", true }, - { "vb-oa.co.uk", true }, { "vb.media", true }, { "vbazile.com", true }, { "vbcdn.com", true }, - { "vbestreviews.com", true }, { "vbh2o.com", true }, { "vbql.me", true }, { "vbwinery.com", true }, @@ -38503,6 +39745,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vdemuzere.be", true }, { "vdesc.com", true }, { "vdisk24.de", true }, + { "vdlp.nl", true }, { "vdmeij.com", true }, { "vdzwan.net", true }, { "ve.search.yahoo.com", false }, @@ -38521,12 +39764,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "veganism.co.uk", true }, { "veganism.com", true }, { "veganmasterrace.com", true }, + { "vegasluxuryestates.com", true }, + { "vegekoszyk.pl", true }, { "vegepa.com", true }, { "vegetariantokyo.net", true }, { "veggie-treff.de", true }, { "vegguide.org", true }, + { "vehicletransportservices.co", true }, { "veii.de", true }, { "veil-framework.com", true }, + { "veincenterbrintonlake.com", true }, { "veit.zone", true }, { "veke.fi", true }, { "velen.io", true }, @@ -38540,7 +39787,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vendreacheter.net", true }, { "vendserve.eu", true }, { "veneerssandiego.com", true }, - { "venenum.org", true }, { "venev.name", true }, { "venje.pro", true }, { "ventajasdesventajas.com", true }, @@ -38550,13 +39796,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ventriloservers.biz", true }, { "venturavwparts.com", true }, { "venturebanners.co.uk", true }, - { "venturedisplay.co.uk", true }, { "venturum.com", true }, { "venturum.de", true }, { "venturum.eu", true }, { "venturum.net", true }, { "ventzke.com", true }, { "venuedriver.com", true }, + { "venusbymariatash.com", true }, { "ver.ma", true }, { "vera.bg", true }, { "veramagazine.jp", true }, @@ -38564,6 +39810,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verberne.nu", true }, { "verbier-lechable.com", true }, { "verbierfestival.com", true }, + { "verboom.co.nz", true }, { "verdict.gg", true }, { "verduccies.com", true }, { "verein-kiekin.de", true }, @@ -38572,11 +39819,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vereinscheck.de", true }, { "verfassungsklage.at", true }, { "verge.capital", true }, - { "vergeaccessories.com", true }, { "vergelijksimonly.nl", true }, { "vergessen.cn", true }, - { "verhovs.ky", true }, + { "verhovs.ky", false }, + { "veri2.com", true }, { "verifalia.com", true }, + { "verificaprezzi.it", true }, { "verifiedjoseph.com", true }, { "verifiny.com", true }, { "verifyos.com", true }, @@ -38585,8 +39833,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verios.com.br", true }, { "veritafineviolins.com", true }, { "veritas-data.de", true }, + { "veritasinvestmentwealth.com", true }, { "verizonconnect.com", false }, { "verizonguidelines.com", true }, + { "verkeersschoolrichardschut.nl", true }, { "verliebt-in-bw.de", true }, { "verliebt-in-niedersachsen.de", true }, { "vermeerdealers.com", true }, @@ -38597,7 +39847,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vernonchan.com", true }, { "vernonfigureskatingclub.com", true }, { "vernonfilmsociety.bc.ca", true }, - { "vernonhouseofhope.com", true }, { "vernonsecureselfstorage.ca", true }, { "vernonspeedskatingclub.com", true }, { "vernonwintercarnival.com", true }, @@ -38607,9 +39856,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verry.org", true }, { "vers.one", true }, { "versagercloud.de", true }, + { "versalhost.com", true }, + { "versalhost.nl", true }, { "versbesteld.nl", true }, + { "verses.space", true }, { "versicherungen-werner-hahn.de", true }, { "versicherungskontor.net", true }, + { "versolslapeyre.fr", true }, { "verspai.de", true }, { "verstraetenusedcars.be", true }, { "vertebrates.com", true }, @@ -38627,14 +39880,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "verymetal.nl", true }, { "verzekeringencambier.be", true }, { "verzekeringsacties.nl", true }, - { "verzick.com", true }, { "vescudero.net", true }, { "veslosada.com", true }, { "vespacascadia.com", true }, { "vestd.com", true }, { "vestingbar.nl", true }, { "vestum.ru", true }, - { "vetbits.com", true }, + { "vet-planet.com", true }, + { "vetbits.com", false }, + { "vetergysurveys.com", true }, { "veterinarian-hospital.com", true }, { "veterinario.roma.it", true }, { "veterinarioaltea.com", true }, @@ -38646,6 +39900,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vets.gov", true }, { "veverusak.cz", true }, { "vfdworld.com", true }, + { "vfmc.vic.gov.au", true }, { "vfn-nrw.de", true }, { "vgchat.us", true }, { "vgerak.com", true }, @@ -38654,24 +39909,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vgropp.de", true }, { "vh.net", true }, { "vhrca.com", true }, + { "vhs-bad-wurzach.de", true }, { "vhummel.nl", true }, { "vi.photo", true }, { "via-shire-krug.ru", true }, + { "via.blog.br", true }, + { "viablog.com.br", true }, { "viacdn.org", true }, { "viafinance.cz", false }, { "viaggio-in-cina.it", true }, - { "viagraonlinebestellen.org", true }, { "viagusto.pl", true }, { "viajandoporelmundo.com.ar", true }, + { "viajaramsterdam.com", true }, { "viaje-a-china.com", true }, { "vialorran.com", true }, { "viaprinto.de", true }, { "viasinc.com", false }, { "vibrant-america.com", true }, + { "vibrato1-kutikomi.com", true }, { "vicentee.com", true }, { "vichiya.com", true }, + { "vician.cz", true }, { "vicicode.com", true }, - { "viciousflora.com", true }, { "vicjuwelen-annelore.be", true }, { "victora.com", true }, { "victorcanera.com", true }, @@ -38695,24 +39954,29 @@ static const nsSTSPreload kSTSPreloadList[] = { { "victornet.de", true }, { "victornilsson.pw", true }, { "victoroilpress.com", true }, + { "victorricemill.com", true }, { "victory.radio", true }, + { "victoryalliance.us", true }, { "victorzambrano.com", true }, { "vicyu.com", true }, { "vid-immobilien.de", true }, { "vida-it.com", true }, { "vida.es", true }, { "vidadu.com", true }, + { "vidarity.com", true }, { "vidbooster.com", true }, - { "vidcloud.xyz", true }, { "vide-greniers.org", false }, { "videogamesartwork.com", true }, + { "videojuegos.com", true }, { "videokaufmann.at", true }, { "videomail.io", true }, { "videosdiversosdatv.com", true }, { "videoseyredin.net", true }, + { "videosparatodos.com", true }, { "videospornogratis.pt", true }, { "videosqr.com", true }, { "videov.tk", true }, + { "vidister.de", true }, { "vidracariaespelhosbh.com.br", true }, { "vieclam24h.vn", false }, { "viekelis.lt", false }, @@ -38728,11 +39992,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vietnamguide.co.kr", true }, { "vietnamhost.vn", false }, { "vietnamluxurytravelagency.com", true }, + { "vietnamphotoblog.com", true }, { "vietnamwomenveterans.org", true }, + { "vieux.pro", true }, { "viewbook.com", true }, { "viewey.com", true }, + { "viewing.nyc", true }, { "viewmyrecords.com", true }, - { "viga.me", true }, { "vigenebio.com", true }, { "vigilantnow.com", true }, { "vigliano.ovh", true }, @@ -38753,12 +40019,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vikalpgupta.com", true }, { "vikapaula.com", true }, { "vikashkumar.me", true }, + { "vikaviktoria.com", true }, { "viking-style.ru", true }, { "vikings.net", true }, { "vikodek.com", true }, + { "viktorbarzin.me", true }, { "viktorprevaric.eu", true }, { "vila-eden.cz", true }, - { "vilabiamodas.com.br", true }, + { "vilaydin.com", true }, { "viljatori.fi", true }, { "villa-eden.cz", true }, { "villa-gockel.de", true }, @@ -38779,6 +40047,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "villesalonen.fi", true }, { "villu.ga", true }, { "viltsu.net", true }, + { "vim.cx", true }, { "vima.ch", true }, { "vimeo.com", true }, { "vinagro.sk", true }, @@ -38791,13 +40060,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vincible.space", true }, { "vinciconps4.it", true }, { "vincitraining.com", true }, - { "vineright.com", true }, { "vinetech.co.nz", true }, { "vingt.me", true }, + { "vinigas.com", true }, { "vinilosdecorativos.net", true }, { "vinistas.com", true }, { "vinner.com.au", true }, { "vinnie.gq", true }, + { "vinnyandchristina.com", true }, + { "vinnyvidivici.com", true }, + { "vinokurov.tk", true }, { "vinolli.de", true }, { "vinovum.net", true }, { "vinsation.com", true }, @@ -38811,19 +40083,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vintagetrailerbuyers.com", true }, { "vintazh.net", true }, { "vinticom.ch", true }, - { "vintock.com", true }, { "vinyculture.com", true }, { "vinzite.com", true }, { "violin4fun.nl", true }, { "vionicbeach.com", true }, { "vionicshoes.com", true }, - { "vip-9649.com", true }, { "vip4553.com", true }, { "vip8522.com", true }, - { "vip9649.com", true }, - { "vipesball.cc", true }, - { "vipesball.info", true }, - { "vipesball.me", true }, { "vipi.es", true }, { "viptamin.eu", true }, { "viptamol.com", true }, @@ -38884,6 +40150,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vistec-support.de", true }, { "vistodeturista.com.br", true }, { "visual-cockpit.com", true }, + { "visual-concept.net", true }, { "visualdrone.co", true }, { "visualgrafix.com.mx", true }, { "visualideas.org", true }, @@ -38895,11 +40162,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vitalamin.de", true }, { "vitalismaatjes.nl", true }, { "vitalityscience.com", true }, + { "vitalium-therme.de", true }, { "vitalthrills.com", true }, { "vitalware.com", true }, { "vitalyzhukphoto.com", true }, - { "vitamineproteine.com", true }, { "vitaminler.com", true }, + { "vitapingu.de", true }, { "vitastic.nl", true }, { "vitavie.nl", true }, { "viteoscrm.ch", true }, @@ -38918,6 +40186,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vivanosports.com.br", false }, { "vivatv.com.tw", true }, { "vivendi.de", true }, + { "viveport.com", true }, { "vivianmaier.cn", true }, { "vivid-academy.com", true }, { "vividinflatables.co.uk", true }, @@ -38944,10 +40213,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vkb-remont.ru", true }, { "vkennke.org", true }, { "vkino.com", false }, + { "vkirichenko.name", true }, { "vkox.com", true }, { "vksportphoto.com", true }, { "vladislavstoyanov.com", true }, { "vlakem.net", true }, + { "vlakjebak.nl", true }, { "vlastimilburian.cz", true }, { "vleesbesteld.nl", true }, { "vleij.com", true }, @@ -38979,16 +40250,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vnpem.org", true }, { "vnvisa.center", true }, { "vnvisa.ru", true }, - { "vocalik.com", true }, { "vocaloid.my", true }, { "vocalviews.com", true }, + { "vocescruzadasbcs.mx", true }, + { "vochuys.nl", true }, { "vocus.aero", true }, { "vocustest.aero", true }, { "vodb.me", true }, { "vodb.org", true }, - { "vodpay.com", true }, - { "vodpay.net", true }, - { "vodpay.org", true }, + { "vodicak.info", true }, { "vogelbus.ch", true }, { "vogler.name", true }, { "vogue.cz", true }, @@ -38998,13 +40268,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "voidcore.org", true }, { "voidma.in", true }, { "voidpay.com", true }, - { "voidpay.net", true }, - { "voidpay.org", true }, { "voidptr.eu", true }, { "voidx.top", true }, - { "voidzehn.com", true }, + { "voipdigit.nl", true }, { "voipsun.com", true }, { "vojtechpavelka.cz", true }, + { "vokativy.cz", true }, { "vokeapp.com", true }, { "vokurka.net", true }, { "volcanconcretos.com", true }, @@ -39021,19 +40290,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "volkerwesselstransfer.nl", false }, { "volksvorschlagpmar.ch", true }, { "vollans.id.au", true }, + { "vollmondstollen.de", true }, { "voloevents.com", true }, + { "volqanic.com", true }, { "volta.io", true }, + { "voltahurt.pl", true }, { "volto.io", true }, { "volunteeringmatters.org.uk", true }, { "vomitb.in", true }, - { "von-lien-aluprofile.de", true }, - { "von-lien-dachrinnen.de", true }, - { "von-lien-lichtplatten.de", true }, - { "von-lien-profilbleche.de", true }, { "vonauw.com", true }, { "vonborstelboerner.de", true }, { "vonniehudson.com", true }, { "vonski.pl", true }, + { "vonterra.us", true }, { "voodoochile.at", true }, { "vop.li", true }, { "vorlage-musterbriefe.de", true }, @@ -39041,8 +40310,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vorlagen-geburtstagsgruesse.de", true }, { "vorlicek.de", true }, { "vorlif.org", true }, + { "vorm2.com", true }, { "vorodevops.com", true }, - { "vorte.ga", true }, { "vos-fleurs.ch", true }, { "vos-fleurs.com", true }, { "vos-systems.com", true }, @@ -39065,6 +40334,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "votre-site-internet.ch", true }, { "vouchinsurance.sg", true }, { "vovladikavkaze.ru", true }, + { "vowsy.club", true }, + { "vox.vg", true }, { "voxfilmeonline.net", true }, { "voxml.com", true }, { "voxographe.com", false }, @@ -39097,6 +40368,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vrjetpackgame.com", true }, { "vroedvrouwella.be", true }, { "vrsystem.com.br", true }, + { "vrtak-cz.net", true }, { "vscale.io", true }, { "vsd.sk", true }, { "vsean.net", true }, @@ -39106,6 +40378,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vsestiralnie.com", true }, { "vsestoki.com", true }, { "vsl-defi.ch", true }, + { "vsl.de", true }, { "vssnederland.nl", true }, { "vstehn.ru", true }, { "vsund.de", true }, @@ -39125,6 +40398,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vulns.sexy", true }, { "vulnscan.org", true }, { "vulpine.club", true }, + { "vulyk-medu.com.ua", true }, { "vumetric.com", true }, { "vuojolahti.com", true }, { "vuojolahti.fi", true }, @@ -39137,6 +40411,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vvdbronckhorst.nl", true }, { "vvoip.org.uk", true }, { "vvw-8522.com", true }, + { "vvzero.cf", true }, { "vvzero.com", true }, { "vwbusje.com", true }, { "vwfsrentacar.co.uk", true }, @@ -39146,7 +40421,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "vwsoft.de", true }, { "vww-8522.com", true }, { "vx.hn", true }, - { "vxst.org", true }, { "vxstream-sandbox.com", true }, { "vybeministry.org", true }, { "vyber-odhadce.cz", true }, @@ -39163,6 +40437,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "w-w-auto.de", true }, { "w.wiki", true }, { "w1221.com", true }, + { "w1n73r.de", true }, { "w2n.me", true }, { "w3ctag.org", true }, { "w3n.org", true }, @@ -39172,13 +40447,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "w50.co.uk", true }, { "w5gfe.org", true }, { "w7k.de", true }, - { "w84.it", true }, + { "w889-line.com", true }, + { "w889-line.net", true }, + { "w889889.com", true }, + { "w889889.net", true }, + { "w8less.nl", true }, { "w95.pw", true }, - { "wa-stromerzeuger.de", true }, + { "wa-stromerzeuger.de", false }, { "wa.me", true }, { "waaw.tv", true }, { "wabatam.com", true }, - { "wachter.biz", true }, { "wacky-science.com", true }, { "wacky.one", true }, { "wadidi.com", true }, @@ -39190,36 +40468,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "waffle.at", false }, { "wafuton.com", true }, { "wagyu-bader.de", true }, - { "wahhoi.net", true }, { "wahidhasan.com", true }, + { "wahlen-bad-wurzach.de", true }, { "wahlman.org", true }, { "wahrnehmungswelt.de", true }, { "wahrnehmungswelten.de", true }, - { "wai-in.net", true }, { "waidfrau.de", true }, - { "waidu.de", true }, { "waifu-technologies.com", true }, { "waifu-technologies.moe", true }, { "waigel.org", true }, { "waikatowebdesigners.com", true }, - { "wail.net", true }, { "wains.be", false }, - { "wait.jp", true }, { "waiterwheels.com", true }, { "waits.io", true }, { "wajtc.com", true }, { "wak.io", true }, - { "waka-mono.com", true }, - { "waka168.com", true }, - { "waka168.net", true }, - { "waka88.com", true }, - { "waka88.net", true }, { "wakamiyasumiyosi.com", true }, { "wakandasun.com", true }, { "wakatime.com", true }, { "wakhanyeza.org", true }, { "wakiminblog.com", true }, { "wala-floor.de", true }, + { "waldgourmet.de", true }, { "waldvogel.family", true }, { "walent.in", true }, { "walentin.co", true }, @@ -39239,12 +40509,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wallethub.com", false }, { "walletnames.com", true }, { "wallinger-online.at", true }, - { "wallingford.cc", true }, { "wallpapers.pub", true }, { "wallpaperup.com", true }, { "walls.de", true }, { "walls.io", true }, + { "wallsauce.com", true }, { "walltime.info", true }, + { "wallumai.com.au", true }, { "wallysmasterblaster.com.au", true }, { "walnutgaming.com", true }, { "walnutis.net", true }, @@ -39254,6 +40525,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "walruses.org", true }, { "walshbanks.com", true }, { "waltellis.com", true }, + { "walter.lc", true }, { "waltervictor.com", true }, { "waltzmanplasticsurgery.com", true }, { "walvi.nl", true }, @@ -39270,10 +40542,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wangbangyu.gq", true }, { "wangbangyu.ml", true }, { "wangbangyu.tk", true }, - { "wangjun.me", true }, { "wangqiliang.cn", true }, { "wangqiliang.com", true }, - { "wangqiliang.org", true }, { "wangql.net", true }, { "wangqr.tk", true }, { "wangtanzhang.com", true }, @@ -39284,12 +40554,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wanlieyan.com", true }, { "wannaridecostarica.com", true }, { "wanybug.cf", true }, - { "wanybug.com", true }, { "wanybug.ga", true }, { "wanybug.gq", true }, { "wanybug.tk", true }, + { "wanyingge.com", true }, { "wanzenbug.xyz", true }, { "waonui.io", true }, + { "wapa.gov", true }, + { "wapazewddamcdocmanui6001.azurewebsites.net", true }, + { "wapazewrdamcdocmanui6001.azurewebsites.net", true }, + { "wapenon.com", true }, { "wapking.co", true }, { "wapoolandspa.com", true }, { "wardow.com", true }, @@ -39300,10 +40574,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wargameexclusive.com", true }, { "warhaggis.com", true }, { "warmservers.com", true }, + { "waroengkoe-shop.com", true }, { "warofelements.de", true }, - { "warp-radio.com", true }, - { "warp-radio.net", true }, - { "warp-radio.tv", true }, { "warr.ath.cx", true }, { "warringtonkidsbouncycastles.co.uk", true }, { "warschild.org", true }, @@ -39320,10 +40592,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wasielewski.com.de", true }, { "wasil.org", true }, { "waslh.com", true }, + { "wasserburg.dk", true }, { "wasserspucker.de", true }, { "wassibauer.com", true }, { "wastrel.ch", true }, { "watch-wiki.org", true }, + { "watchcom.org.za", true }, { "watchface.watch", true }, { "watchfreeonline.co.uk", true }, { "watchinventory.com", true }, @@ -39350,22 +40624,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "watsonwork.me", true }, { "watvindtnederland.com", true }, { "waukeect.com", true }, - { "wave-ola.es", true }, { "wave.is", true }, + { "wave.red", true }, + { "wavengine.com", true }, { "waverlysecuritycameras.com", true }, { "wavesboardshop.com", true }, - { "wavesoftime.com", true }, { "waveum.com", true }, { "wawak.pl", true }, { "waxdramatic.com", true }, { "waycraze.com", true }, { "wayfair.de", true }, { "wayfairertravel.com", true }, + { "waynefranklin.com", true }, { "wayohoo.com", true }, { "wayohoo.net", true }, { "waytt.cf", true }, { "waze.com", true }, { "wb256.com", true }, + { "wba.or.at", true }, { "wbci.us", false }, { "wbg-vs.de", true }, { "wblautomotive.com", true }, @@ -39380,11 +40656,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wby.tw", true }, { "wcbook.ru", false }, { "wcn.life", false }, - { "wd627.com", true }, - { "wd976.com", true }, + { "wcrca.org", true }, + { "wcsi.com", true }, + { "wcwcg.net", true }, { "wdbflowersevents.co.uk", true }, { "wdbgroup.co.uk", true }, { "wdic.org", true }, + { "wdmg.com.ua", true }, { "wdodelta.nl", true }, { "wdol.gov", true }, { "wdt.cz", false }, @@ -39407,8 +40685,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weather-schools.com", true }, { "weather.gov", true }, { "weathermyway.rocks", true }, + { "web-apps.tech", true }, { "web-art.cz", true }, { "web-design.co.il", true }, + { "web-dl.cc", true }, { "web-hotel.gr", true }, { "web-jive.com", true }, { "web-kouza.com", true }, @@ -39417,6 +40697,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "web-redacteuren.nl", true }, { "web-siena.it", true }, { "web-smart.com", true }, + { "web-thinker.ru", true }, { "web-wave.jp", true }, { "web.bzh", true }, { "web.cc", false }, @@ -39437,10 +40718,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webandmore.de", false }, { "webappky.cz", true }, { "webartex.ru", true }, - { "webauthority.co.uk", true }, { "webbiz.co.uk", true }, { "webbson.net", false }, { "webcamtoy.com", true }, + { "webcasinos.com", true }, { "webcatchers.nl", true }, { "webcatechism.com", false }, { "webclimbers.ch", true }, @@ -39449,7 +40730,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webcookies.org", true }, { "webcrm.com", true }, { "webcurtaincall.com", true }, - { "webdeflect.com", true }, { "webdemaestrias.com", true }, { "webdesign-st.de", true }, { "webdesigneauclaire.com", true }, @@ -39461,7 +40741,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webdevops.io", true }, { "webdevxp.com", true }, { "webdl.org", true }, - { "webdollarvpn.io", true }, { "webduck.nl", false }, { "webeast.eu", true }, { "webeau.com", true }, @@ -39482,9 +40761,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webgears.com", true }, { "webharvest.gov", true }, { "webhooks.stream", true }, - { "webhostingshop.ca", true }, { "webhostingzzp.nl", false }, { "webhostplan.info", true }, + { "webies.ro", true }, { "webinnovation.ie", true }, { "webjobposting.com", true }, { "webkef.com", true }, @@ -39493,7 +40772,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weblate.org", true }, { "webliberty.ru", true }, { "webline.ch", true }, - { "weblogic.pl", true }, { "weblogzwolle.nl", true }, { "webmail.gigahost.dk", false }, { "webmail.info", false }, @@ -39506,16 +40784,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webmetering.at", true }, { "webministeriet.net", true }, { "webmotelli.fi", true }, + { "webmr.de", true }, { "webnames.ca", true }, + { "webnetforce.net", true }, { "webnexty.com", true }, - { "webogram.org", false }, { "webpinoytambayan.net", true }, { "webpinoytv.info", true }, { "webpostingmart.com", true }, { "webpostingpro.com", true }, { "webpostingreviews.com", true }, { "webproject.rocks", true }, - { "webproxy.pw", true }, { "webpubsub.com", true }, { "webqualitat.com.br", true }, { "webrebels.org", false }, @@ -39529,18 +40807,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "websenat.de", true }, { "websharks.org", true }, { "website-engineering.co.za", true }, + { "websiteadvice.com.au", true }, { "websiteboost.nl", true }, { "websiteforlease.ca", true }, { "websiteout.ca", true }, { "websiteout.net", true }, - { "websiterent.ca", true }, { "websites4business.ca", true }, { "websitesdallas.com", true }, { "websiteservice.pro", true }, { "webslake.com", true }, { "websmartmedia.co.uk", true }, + { "websouthdesign.com", true }, { "webspiral.jp", true }, { "webspire.tech", true }, + { "webstart.nl", true }, + { "webstellung.com", true }, { "webstijlen.nl", true }, { "webstore.be", false }, { "webstu.be", true }, @@ -39550,6 +40831,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webtalis.nl", true }, { "webtasarim.pw", true }, { "webtheapp.com", true }, + { "webtobesocial.de", true }, { "webtorrent.io", true }, { "webtrh.cz", true }, { "webtropia.com", false }, @@ -39564,13 +40846,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "webyazilimankara.com", true }, { "webz.one", true }, { "wechatify.com", true }, + { "weck.alsace", true }, { "wecleanbins.com", true }, { "wecobble.com", true }, - { "weddingfantasy.ru", true }, + { "weddingdays.tv", true }, { "weddingofficiantwilmington.com", true }, { "weddingsbynoon.co.uk", true }, { "weddywood.ru", false }, + { "wedg.uk", true }, { "wedos.com", true }, + { "weebl.me", true }, { "weeblr.com", true }, { "weeblrpress.com", true }, { "weedlife.com", true }, @@ -39583,6 +40868,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weekendinitaly.com", true }, { "weekly-residence.com", true }, { "weeklycenter.co.jp", true }, + { "weeknummers.be", true }, { "weeknummers.nl", true }, { "weekvandemediawijsheid.nl", true }, { "weemake.fr", true }, @@ -39597,6 +40883,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weforgood.org.tw", true }, { "wegethitched.co.uk", true }, { "weggeweest.nl", true }, + { "wegonnagetsued.org", true }, { "wegotcookies.com", true }, { "wegrzynek.org", true }, { "wegvielfalt.de", true }, @@ -39622,13 +40909,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "weissman.agency", true }, { "weiterbildung-vdz.de", true }, { "weitergedacht.eu", true }, - { "weixiaojun.org", true }, { "weizenspr.eu", true }, { "welcome-tahiti.com", true }, { "welcome-werkstatt.com", true }, { "welcome-werkstatt.de", true }, { "welcome26.ch", true }, - { "welcomehelp.de", true }, + { "welcomescuba.com", true }, + { "welcometoscottsdalehomes.com", true }, { "weld.io", true }, { "weldwp.com", true }, { "wella-download-center.de", true }, @@ -39638,32 +40925,32 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wellensteyn.ru", true }, { "weller.pm", true }, { "wellist.com", true }, + { "wellness-bonbon.de", true }, { "wellness-gutschein.de", true }, { "wellnesscheck.net", true }, + { "wellnessever.com", true }, { "wellsolveit.com", false }, { "welovecatsandkittens.com", true }, - { "welsh.com.br", true }, { "welshccf.org.uk", true }, { "welteneroberer.de", true }, { "weltengilde.de", true }, { "weltenhueter.de", true }, + { "weltmeister.de", true }, { "weltverschwoerung.de", true }, { "welzijnkoggenland.nl", true }, - { "wem.hr", true }, + { "wem.hr", false }, { "wemakebookkeepingeasy.com", true }, { "wemakemenus.com", true }, { "wemakeonlinereviews.com", true }, { "wemovemountains.co.uk", true }, - { "wen-in.com", true }, - { "wen-in.net", true }, - { "wenchieh.com", true }, { "wendigo.pl", true }, { "wendlberger.net", true }, - { "wendu.me", true }, { "wener.me", false }, + { "wenge-murphy.com", true }, { "wenger-shop.ch", true }, { "wenjs.me", true }, { "wensing-und-koenig.de", true }, + { "wenta.de", true }, { "wepay.com", false }, { "wepay.in.th", true }, { "wepay.vn", true }, @@ -39697,9 +40984,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "werkstattkinder.de", true }, { "werktor.com", true }, { "werktor.net", true }, - { "werkz.io", true }, { "wermeester.com", true }, { "werner-ema.de", true }, + { "werner-schaeffer.de", true }, + { "wernerschaeffer.de", true }, { "werpo.com.ar", true }, { "wertheimer-burgrock.de", true }, { "wertpapiertreuhand.de", true }, @@ -39711,7 +40999,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wesleywarnell.com", true }, { "wesoco.de", true }, { "wesreportportal.com", true }, - { "wessner.co", true }, { "wessner.org", true }, { "west-contemporary.com", true }, { "west-trans.com.au", true }, @@ -39726,9 +41013,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "westcountrystalking.com", true }, { "westendwifi.net", true }, { "westernfrontierins.com", true }, + { "westernpadermatologist.com", true }, { "westeros.hu", true }, { "westhillselectrical.com", true }, - { "westlaketire.pt", true }, { "westlakevillageelectric.com", true }, { "westlakevillageelectrical.com", true }, { "westlakevillageelectrician.com", true }, @@ -39742,20 +41029,28 @@ static const nsSTSPreload kSTSPreloadList[] = { { "westmeadapartments.com.au", true }, { "westmidlandsbouncycastlehire.co.uk", true }, { "westmidlandsinflatables.co.uk", true }, + { "westside-pediatrics.com", true }, { "westsuburbanbank.com", true }, { "westwood.no", true }, { "wesupportthebadge.org", true }, + { "weswitch4u.com", true }, { "wetofu.top", true }, { "wetrepublic.com", true }, + { "wettanbieter-vergleich.de", true }, { "wette.de", true }, + { "wetten.eu", true }, { "wevenues.com", true }, + { "wew881.com", true }, + { "wew882.com", true }, + { "wewin88.com", true }, + { "wewin88.net", true }, { "wewitro.de", true }, { "wewitro.net", true }, { "wexfordbouncycastles.ie", true }, { "wexilapp.com", true }, { "weyland-yutani.org", true }, - { "weynaphotography.com", true }, { "wezartt.com", true }, + { "wezl.net", true }, { "wf-bigsky-master.appspot.com", true }, { "wf-demo-eu.appspot.com", true }, { "wf-demo-hrd.appspot.com", true }, @@ -39780,7 +41075,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wh-guide.de", true }, { "what-wood.servehttp.com", true }, { "whatagreatwebsite.net", true }, - { "whatanime.ga", true }, { "whatarepatentsfor.com", true }, { "whatclinic.co.uk", true }, { "whatclinic.com", true }, @@ -39788,7 +41082,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whatclinic.de", true }, { "whatclinic.ie", true }, { "whatclinic.ru", true }, + { "whatdevotion.com", true }, { "whateveraspidercan.com", true }, + { "whatisapassword.com", true }, { "whatismycountry.com", true }, { "whatismyip.net", false }, { "whatismyipaddress.ca", true }, @@ -39797,9 +41093,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whatsahoy.com", true }, { "whatsapp.com", true }, { "whatsmychaincert.com", true }, - { "whatsupdeco.com", true }, { "whatsupgold.com.tw", true }, { "whatsupoutdoor.com", true }, + { "whatthefile.info", true }, { "whatthingsweigh.com", true }, { "whattominingrigrentals.com", true }, { "whatusb.com", true }, @@ -39815,16 +41111,17 @@ static const nsSTSPreload kSTSPreloadList[] = { { "when.fm", false }, { "where2trip.com", true }, { "whereiszakir.com", true }, + { "wheresbuzz.com.au", true }, { "whexit.nl", true }, { "whey-protein.ch", true }, { "whiletrue.run", true }, - { "whimtrip.fr", false }, { "whing.org", true }, { "whipnic.com", true }, { "whirlpool-luboss.de", true }, { "whirlpool.net.au", true }, { "whisky-circle.info", true }, { "whiskygentle.men", true }, + { "whiskyglazen.nl", false }, { "whiskynerd.ca", true }, { "whisp.ly", false }, { "whispeer.de", true }, @@ -39844,6 +41141,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whitebirdclinic.org", true }, { "whitefm.ch", true }, { "whitehathackers.com.br", true }, + { "whitehats.nl", true }, { "whitehouse.gov", true }, { "whitehouseconferenceonaging.gov", true }, { "whitehousedrugpolicy.gov", true }, @@ -39857,6 +41155,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whiteshadowimperium.com", true }, { "whitewebhosting.co.za", true }, { "whitewebhosting.com", true }, + { "whitewinterwolf.com", true }, { "whitkirk.com", true }, { "whitkirkartsguild.com", true }, { "whitkirkchurch.org.uk", true }, @@ -39867,11 +41166,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whnpa.org", true }, { "who-calledme.com", true }, { "who.pm", true }, - { "whoasome.com", true }, + { "whoami.io", true }, { "whocalld.com", true }, { "whocalled.us", true }, { "whocybered.me", true }, - { "whoimg.com", true }, + { "whoimg.com", false }, + { "whoisdhh.com", true }, { "whoisthenightking.com", true }, { "whoiswp.com", true }, { "wholesalecbd.com", true }, @@ -39888,11 +41188,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "whynohttps.com", true }, { "whyopencomputing.ch", true }, { "whyopencomputing.com", true }, + { "whysoslow.co.uk", true }, { "whytls.com", true }, { "whyworldhot.com", true }, { "whyz1722.tk", true }, { "wibbe.link", true }, - { "wiberg.nu", true }, { "wichitafoundationpros.com", true }, { "wickrath.net", true }, { "wideboxmacau.com", false }, @@ -39911,11 +41211,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wiek.net", true }, { "wien52.at", true }, { "wieneck-bauelemente.de", true }, + { "wiener.hr", true }, { "wienergyjobs.com", true }, { "wieobensounten.de", true }, { "wifi-hack.com", true }, { "wifi-names.com", true }, - { "wifimask.com", true }, { "wifipineapple.com", true }, { "wifirst.net", true }, { "wifree.lv", true }, @@ -39963,6 +41263,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wild-turtles.com", true }, { "wildboaratvparts.com", true }, { "wilddogdesign.co.uk", true }, + { "wildewood.ca", true }, { "wildlifeadaptationstrategy.gov", true }, { "wildnisfamilie.net", true }, { "wildtrip.blog", true }, @@ -39985,11 +41286,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "williamfeely.info", true }, { "williamjohngauthier.net", true }, { "williamle.com", true }, + { "williampuckering.com", true }, { "williamscomposer.com", true }, - { "williamsflintlocks.com", true }, { "williamsonshore.com", true }, { "williamsportmortgages.com", true }, - { "williamsroom.com", true }, { "williamtm.com", true }, { "willnorris.com", true }, { "willow.technology", true }, @@ -40009,6 +41309,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wimbo.nl", true }, { "wimpernforyou.de", true }, { "win7stylebuilder.com", false }, + { "win88-line.com", true }, + { "win88-line.net", true }, { "winbignow.click", true }, { "winbuzzer.com", true }, { "wincasinowin.click", true }, @@ -40016,6 +41318,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wind.moe", true }, { "winddan.nz", true }, { "windelnkaufen24.de", true }, + { "windforme.com", true }, { "windowcleaningexperts.net", true }, { "windowslatest.com", true }, { "windowsnerd.com", true }, @@ -40028,6 +41331,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "windycitydubfest.com", true }, { "wine-tapa.com", true }, { "wineparis.com", true }, + { "winepress.org", true }, + { "winfieldchen.me", true }, { "winghill.com", true }, { "wingify.com", true }, { "wingmin.net", true }, @@ -40039,21 +41344,25 @@ static const nsSTSPreload kSTSPreloadList[] = { { "winphonemetro.com", true }, { "winsome.world", true }, { "wint.global", true }, + { "winter-auszeit.de", true }, { "winter-elektro.de", true }, { "winter.engineering", false }, { "winterbergwebcams.com", true }, { "wintercam.nl", true }, { "winterfeldt.de", true }, + { "winterhavenobgyn.com", true }, { "winterhillbank.com", true }, { "wintermeyer-consulting.de", true }, { "wintermeyer.de", true }, { "winterschoen.nl", true }, { "wintodoor.com", true }, + { "winwares.com", true }, { "winwitharval.co.uk", true }, { "wipswiss.ch", true }, { "wir-bewegen.sh", true }, { "wircon-int.net", true }, { "wire.com", true }, + { "wireframesoftware.com", true }, { "wireheading.com", true }, { "wireshark.org", true }, { "wiretime.de", true }, @@ -40064,13 +41373,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wirsol.com", true }, { "wis.no", true }, { "wisak.me", true }, - { "wisal.org", true }, { "wischu.com", true }, { "wisedog.eu", true }, { "wishlist.net", true }, { "wispapp.com", false }, { "wisper.net.au", true }, { "wispsuperfoods.com", true }, + { "wiss.co.uk", true }, + { "wissamnr.be", true }, { "wisv.ch", true }, { "wisweb.no", true }, { "wit.ai", true }, @@ -40083,12 +41393,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "witneywaterpolo.org.uk", true }, { "witt-international.co.uk", true }, { "witte.cloud", true }, + { "wittu.fi", true }, { "witway.nl", false }, { "wivoc.nl", true }, + { "wixguide.co", true }, { "wiz.at", true }, { "wiz.biz", true }, { "wiz.farm", true }, { "wizardbouncycastles.co.uk", true }, + { "wizzair.com", true }, { "wizzley.com", true }, { "wizzr.nl", true }, { "wj0666.com", true }, @@ -40126,10 +41439,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "woah.how", true }, { "wobble.ninja", true }, { "wobblywotnotz.co.uk", true }, - { "wodboss.com", true }, { "wodinaz.com", true }, { "wodka-division.de", true }, { "woelkchen.me", true }, + { "wofflesoft.com", true }, { "wofford-ecs.org", true }, { "woffs.de", true }, { "wogo.org", true }, @@ -40138,7 +41451,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wohlpa.de", true }, { "wohnbegleitung.ch", true }, { "wohnsitz-ausland.com", true }, - { "woi.vision", true }, { "wokinghammotorhomes.com", true }, { "wolfachtal-alpaka.de", true }, { "wolfarth.info", true }, @@ -40151,6 +41463,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wolfgang-kloke.de", true }, { "wolfgang-ziegler.com", true }, { "wolfie.ovh", false }, + { "wolfsden.cz", true }, + { "wolfshuegelturm.de", true }, { "wolfvideoproductions.com", true }, { "wolfwings.us", true }, { "wolfy1339.com", false }, @@ -40163,11 +41477,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "woltlab-demo.com", true }, { "womb.city", true }, { "wombatalla.com.au", true }, + { "wombatnet.com", true }, { "wombats.net", true }, + { "wombere.org", true }, { "womcom.nl", true }, { "women-only.net", true }, { "womensalespros.com", true }, { "womenshairlossproject.com", true }, + { "womensmedassoc.com", true }, { "wonabo.com", true }, { "wonder.com.mx", false }, { "wonderbill.com", true }, @@ -40183,6 +41500,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wood-crafted.uk", true }, { "woodbury.io", true }, { "woodcoin.org", true }, + { "woodenson.com", true }, { "woodev.us", true }, { "woodinvillesepticservice.net", true }, { "woodlandhillselectrical.com", true }, @@ -40197,7 +41515,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "woohooyeah.nl", true }, { "woonboulevardvolendam.nl", true }, { "woontegelwinkel.nl", true }, - { "wooplagaming.com", true }, { "wootware.co.za", true }, { "wopr.network", true }, { "worca.de", true }, @@ -40213,6 +41530,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wordsmart.it", true }, { "wordspy.com", true }, { "wordxtra.net", true }, + { "worf.in", true }, { "work-in-progress.website", true }, { "workcelerator.com", true }, { "workcheck.bz", true }, @@ -40224,9 +41542,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "workingclassmedia.com", true }, { "workinginsync.co.uk", true }, { "workingmachine.info", true }, + { "worklizard.com", true }, { "workmart.mx", true }, { "workoptions.com", true }, - { "workplaces.online", true }, { "workraw.com", true }, { "workray.com", true }, { "works-ginan.jp", true }, @@ -40246,7 +41564,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "worldofarganoil.com", true }, { "worldofbelia.de", true }, { "worldofparties.co.uk", true }, - { "worldofterra.net", true }, { "worldofvnc.net", true }, { "worldofwobble.co.uk", true }, { "worldpeacetechnology.com", true }, @@ -40259,6 +41576,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wormbytes.ca", true }, { "worst.horse", false }, { "wort-suchen.de", true }, + { "woshiluo.site", true }, { "wot-tudasbazis.hu", true }, { "woti.dedyn.io", true }, { "wotra-register.com", true }, @@ -40269,6 +41587,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wouterslop.com", true }, { "wouterslop.eu", true }, { "wouterslop.nl", true }, + { "wow-foederation.de", true }, { "wow-screenshots.net", true }, { "wowaffixes.info", true }, { "wowbouncycastles.co.uk", true }, @@ -40278,7 +41597,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wowjs.uk", true }, { "wownmedia.com", true }, { "wozalapha.com", true }, - { "wp-bullet.com", true }, { "wp-master.org", true }, { "wp-mix.com", true }, { "wp-securehosting.com", true }, @@ -40289,12 +41607,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wpac.de", true }, { "wpandup.org", true }, { "wpcanban.com", true }, + { "wpccu-cdn.org", true }, { "wpccu.org", true }, { "wpcdn.bid", true }, { "wpcharged.nz", true }, - { "wpdesigner.ir", true }, { "wpdirecto.com", true }, - { "wpdublin.com", true }, + { "wpenhance.com", true }, + { "wpexplainer.com", true }, { "wpexplorer.com", true }, { "wpformation.com", true }, { "wpgoblin.com", true }, @@ -40302,8 +41621,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wpinter.com", true }, { "wpldn.uk", true }, { "wpletter.de", false }, + { "wplistings.pro", true }, { "wpmeetup-berlin.de", true }, { "wpmu-tutorials.de", true }, + { "wpno.com", true }, { "wpoptimalizace.cz", true }, { "wpostats.com", false }, { "wpscans.com", true }, @@ -40316,18 +41637,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wpsono.com", true }, { "wpthaiuser.com", true }, { "wptomatic.de", true }, + { "wptorium.com", true }, { "wptotal.com", true }, { "wpturnedup.com", true }, { "wpvulndb.com", true }, { "wq.ro", true }, { "wr.su", true }, - { "wrara.org", true }, { "wrathofgeek.com", true }, { "wrc-results.com", true }, { "wrdcfiles.ca", true }, { "wrdx.io", true }, { "wrenwrites.com", true }, { "wrgms.com", true }, + { "wrightselfstorageandremovals.com", true }, { "wristreview.com", true }, { "write-right.net", true }, { "writeandedit-for-you.com", true }, @@ -40363,6 +41685,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wsl.sh", true }, { "wsldp.com", true }, { "wsspalluto.de", true }, + { "wstudio.ch", true }, { "wstx.com", true }, { "wsv-grafenau.de", true }, { "wsyy.info", true }, @@ -40375,7 +41698,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wtp.co.jp", true }, { "wtpdive.jp", true }, { "wtpmj.com", true }, + { "wtup.net", true }, { "wtw.io", true }, + { "wucke13.de", true }, { "wuerfel.wf", true }, { "wuerfelmail.de", true }, { "wufu.org", false }, @@ -40384,12 +41709,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wuifan.com", true }, { "wuji.cz", true }, { "wumai-p.cn", true }, - { "wumbo.cf", true }, { "wumbo.co.nz", true }, - { "wumbo.ga", true }, - { "wumbo.gq", true }, - { "wumbo.ml", true }, - { "wumbo.tk", true }, + { "wunder.io", true }, { "wunderkarten.de", true }, { "wunderlist.com", true }, { "wundernas.ch", true }, @@ -40399,44 +41720,49 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wuppertaler-kurrende.com", false }, { "wuppertaler-kurrende.de", false }, { "wutianyi.com", true }, - { "wuwuwu.me", true }, + { "wuwuwu.me", false }, { "wuxiaobai.win", true }, { "wuxiaohen.com", true }, { "wuyue.photo", true }, { "wv-n.de", true }, { "wvg.myds.me", true }, - { "wvv-8522.com", true }, { "wvw-8522.com", true }, { "ww0512.com", true }, { "ww2onlineshop.com", true }, - { "wwbsb.xyz", true }, { "wweforums.net", true }, { "wweichen.com.cn", true }, { "wwgc2011.se", true }, - { "wwjd.dynu.net", true }, - { "wwv-8522.com", true }, { "wwv-8722.com", true }, { "www-33445.com", true }, { "www-49889.com", true }, - { "www-7570.com", true }, + { "www-68277.com", true }, { "www-80036.com", true }, { "www-8522.am", true }, { "www-8522.com", true }, { "www-86499.com", true }, { "www-8722.com", true }, - { "www-9649.com", true }, { "www-9822.com", true }, { "www-pj009.com", true }, { "www.aclu.org", false }, { "www.airbnb.com", true }, + { "www.amazon.ca", true }, { "www.amazon.cn", true }, + { "www.amazon.co.jp", true }, + { "www.amazon.co.uk", true }, + { "www.amazon.com", true }, + { "www.amazon.com.au", true }, + { "www.amazon.com.br", true }, + { "www.amazon.com.mx", true }, + { "www.amazon.de", true }, { "www.amazon.es", true }, + { "www.amazon.fr", true }, + { "www.amazon.it", true }, + { "www.amazon.nl", true }, { "www.apollo-auto.com", true }, { "www.banking.co.at", false }, { "www.braintreepayments.com", false }, { "www.calyxinstitute.org", false }, { "www.capitainetrain.com", false }, - { "www.captaintrain.com", false }, { "www.cloudflare.com", true }, { "www.cnet.com", true }, { "www.dropbox.com", true }, @@ -40490,19 +41816,22 @@ static const nsSTSPreload kSTSPreloadList[] = { { "www.wepay.com", false }, { "www.wordpress.com", false }, { "www.zdnet.com", true }, - { "wwww.me.uk", true }, + { "wx37.ac.cn", true }, { "wxcafe.net", true }, { "wxdisco.com", true }, { "wxforums.com", true }, { "wxh.jp", true }, { "wxkxsw.com", true }, + { "wxlog.cn", true }, { "wxster.com", true }, + { "wxzm.sx", true }, { "wyam.io", true }, { "wybar.uk", true }, { "wycrow.com", false }, { "wyday.com", true }, { "wygibanki.pl", true }, { "wygodnie.pl", true }, + { "wyhpartnership.co.uk", true }, { "wylog.ph", true }, { "wynterhill.co.uk", true }, { "wyo.cam", true }, @@ -40515,9 +41844,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "wyydsb.com", true }, { "wyydsb.xin", true }, { "wyysoft.tk", true }, - { "wzfetish.com.br", true }, { "wzfou.com", true }, - { "wzrd.in", true }, { "wzyboy.org", true }, { "x-iweb.ru", true }, { "x-lan.be", true }, @@ -40536,25 +41863,38 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xa1.uk", true }, { "xanadu-auto.cz", true }, { "xanadu-catering.cz", true }, + { "xanadu-golf.cz", true }, { "xanadu-taxi.cz", true }, { "xanadu-trans.cz", true }, { "xanax.pro", false }, { "xants.de", true }, { "xatr0z.org", false }, { "xawen.net", false }, + { "xb6638.com", true }, + { "xb6673.com", true }, + { "xb851.com", true }, + { "xb862.com", true }, + { "xb913.com", true }, + { "xb917.com", true }, + { "xb925.com", true }, + { "xb927.com", true }, + { "xb965.com", true }, + { "xb983.com", true }, { "xbb.hk", true }, { "xbb.li", true }, { "xbertschy.com", true }, { "xblau.com", true }, + { "xboxdownloadthat.com", true }, { "xboxlivegoldshop.nl", true }, { "xboxonex.shop", true }, + { "xbpay88.com", true }, { "xbrl.online", true }, { "xbrlsuccess.appspot.com", true }, { "xbt.co", true }, { "xbtce.com", true }, { "xbtmusic.org", false }, + { "xceedgaming.com", true }, { "xcentricmold.com", true }, - { "xcler8.com", true }, { "xclirion-support.de", true }, { "xcorpsolutions.com", true }, { "xcvb.xyz", true }, @@ -40563,6 +41903,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xdawn.cn", true }, { "xdeftor.com", true }, { "xdos.io", true }, + { "xecure.zone", true }, + { "xecureit.com", true }, { "xeedbeam.me", true }, { "xega.org", true }, { "xehost.com", true }, @@ -40579,6 +41921,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xerblade.com", true }, { "xerhost.de", true }, { "xerkus.pro", true }, + { "xerownia.eu", true }, { "xeryus.nl", true }, { "xetown.com", true }, { "xf-liam.com", true }, @@ -40591,7 +41934,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xgclan.com", true }, { "xgn.es", true }, { "xgzepto.cn", true }, - { "xhadius.de", true }, { "xhily.com", true }, { "xhmikosr.io", true }, { "xho.me", true }, @@ -40615,6 +41957,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xiaoniaoyou.com", true }, { "xiaoyu.net", true }, { "xiaoyy.org", true }, + { "xiashali.me", true }, { "xichtsbuch.de", true }, { "xicreative.net", true }, { "xiecongan.org", true }, @@ -40624,16 +41967,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xiliant.com", false }, { "xilkoi.net", true }, { "xilou.org", true }, + { "ximble.com", true }, { "ximbo.net", true }, - { "xin-in.com", true }, - { "xin-in.net", true }, - { "xing-in.net", true }, + { "xinbo270.com", true }, + { "xinbo676.com", true }, + { "xinboyule.com", true }, { "xinj.com", true }, + { "xinlandm.com", true }, { "xinnixdeuren-shop.be", true }, + { "xinplay.net", true }, + { "xinu.xyz", true }, { "xinuspeed.com", true }, { "xinuspeedtest.com", true }, { "xinuurl.com", true }, - { "xj8876.com", true }, { "xjd.vision", true }, { "xjf6.com", true }, { "xjjeeps.com", true }, @@ -40645,6 +41991,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xkviz.net", true }, { "xlan.be", true }, { "xlange.com", true }, + { "xldl.ml", true }, { "xliang.co", true }, { "xlui.me", true }, { "xluxes.jp", true }, @@ -40654,23 +42001,26 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xmenrevolution.com", true }, { "xmine128.tk", true }, { "xmlbeam.org", true }, - { "xmlogin288.com", true }, { "xmodule.org", true }, { "xmpp.dk", true }, { "xmppwocky.net", true }, { "xmr.to", true }, { "xmtpro.com", true }, { "xmusic.live", true }, + { "xmv.cz", true }, { "xn----7sbfl2alf8a.xn--p1ai", true }, { "xn----8hcdn2ankm1bfq.com", true }, { "xn----8sbjfacqfqshbh7afyeg.xn--80asehdb", true }, + { "xn----9sbkdigdao0de1a8g.com", true }, { "xn----zmcaltpp1mdh16i.com", true }, { "xn--0iv967ab7w.xn--rhqv96g", true }, { "xn--0kq33cz5c8wmwrqqw1d.com", true }, { "xn--158h.ml", true }, + { "xn--15tx89ctvm.xn--6qq986b3xl", true }, { "xn--24-6kch4bfqee.xn--p1ai", true }, { "xn--24-glcia8dc.xn--p1ai", true }, { "xn--48jwg508p.net", true }, + { "xn--4dbfsnr.xn--9dbq2a", true }, { "xn--4kro7fswi.xn--6qq986b3xl", true }, { "xn--4pv80kkz8auzf.jp", true }, { "xn--57h.ml", true }, @@ -40683,11 +42033,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--7xa.google.com", true }, { "xn--80adb4aeode.xn--p1ai", true }, { "xn--80adbevek3air0ee9b8d.com", true }, + { "xn--80adbvdjzhptl1be6j.com", true }, { "xn--80aejljbfwxn.xn--p1ai", true }, { "xn--80anogxed.xn--p1ai", true }, { "xn--80azelb.xn--p1ai", true }, { "xn--8bi.gq", true }, - { "xn--8dry00a7se89ay98epsgxxq.com", true }, { "xn--90accgba6bldkcbb7a.xn--p1acf", true }, { "xn--allgu-biker-o8a.de", true }, { "xn--aviao-dra1a.pt", true }, @@ -40701,32 +42051,33 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--cckdrt0kwb4g3cnh.com", true }, { "xn--cctsgy36bnvprwpekc.com", true }, { "xn--cfa.site", true }, + { "xn--circul-gva.cc", true }, + { "xn--circul-u3a.cc", true }, { "xn--d1acj9c.xn--90ais", true }, { "xn--dcko6fsa5b1a8gyicbc.biz", true }, { "xn--dej-3oa.lv", true }, { "xn--detrkl13b9sbv53j.com", true }, { "xn--detrkl13b9sbv53j.org", true }, - { "xn--die-zahnrzte-ncb.de", true }, { "xn--dmonenjger-q5ag.net", true }, { "xn--dragni-g1a.de", true }, { "xn--dtursfest-72a.dk", true }, { "xn--e1aoahhqgn.xn--p1ai", true }, { "xn--ecki0cd0bu9a4nsjb.com", true }, { "xn--eckle6c0exa0b0modc7054g7h8ajw6f.com", true }, - { "xn--ehq13kgw4e.ml", true }, { "xn--ehqw04eq6e.jp", true }, - { "xn--elsignificadodesoar-c4b.com", true }, { "xn--erklderbarenben-slbh.dk", true }, { "xn--et8h.cf", true }, { "xn--f9jh4f4b4993b66s.tokyo", true }, { "xn--familie-pppinghaus-l3b.de", true }, { "xn--feuerlscher-arten-4zb.de", true }, + { "xn--fiestadefindeao-crb.com", true }, { "xn--fiqwix98h.jp", true }, { "xn--fischereiverein-mnsterhausen-i7c.de", true }, { "xn--fp8h58f.ws", true }, { "xn--frankierknig-djb.de", true }, { "xn--fs5ak3f.com", true }, { "xn--gfrr-7qa.li", true }, + { "xn--heilendehnde-ocb.de", true }, { "xn--hgbk4a00a.com", true }, { "xn--hllrigl-90a.at", true }, { "xn--i2ru8q2qg.com", true }, @@ -40739,14 +42090,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--jp8hx8f.ws", true }, { "xn--kckd0bd4a8tp27yee2e.com", true }, { "xn--kda.tk", true }, - { "xn--keditr-0xa.biz", true }, { "xn--klmek-0sa.com", true }, { "xn--knstler-n2a.tips", false }, { "xn--krpto-lva.de", true }, { "xn--ktha-kamrater-pfba.se", true }, + { "xn--labanskllermark-ftb.se", true }, { "xn--lckwg.net", true }, { "xn--love-un4c7e0d4a.com", true }, { "xn--lsaupp-iua.se", true }, + { "xn--lskieradio-3gb44h.pl", true }, { "xn--lsupp-mra.net", true }, { "xn--manuela-stsser-psb.de", true }, { "xn--martnvillalba-zib.com", true }, @@ -40757,13 +42109,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--mgbbh2a9fub.xn--ngbc5azd", false }, { "xn--mgbmmp7eub.com", true }, { "xn--mgbpkc7fz3awhe.com", true }, + { "xn--mgbuq0c.net", true }, { "xn--mllers-wxa.info", true }, { "xn--myrepubic-wub.net", true }, { "xn--myrepublc-x5a.net", true }, { "xn--n8j7dygrbu0c31a5861bq8qb.com", true }, { "xn--n8jp5083dnzs.net", true }, { "xn--n8jtcugp92n4wc738f.net", true }, - { "xn--nf1a578axkh.xn--fiqs8s", true }, { "xn--nrrdetval-v2ab.se", true }, { "xn--o38h.tk", true }, { "xn--obt757c.com", true }, @@ -40779,13 +42131,15 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--r8jzaf7977b09e.com", true }, { "xn--rdiger-kuhlmann-zvb.de", true }, { "xn--reisebro-herrsching-bbc.de", true }, - { "xn--rlcus7b3d.xn--xkc2dl3a5ee0h", true }, { "xn--roselire-60a.ch", true }, { "xn--roselire-60a.com", true }, { "xn--rt-cja.ie", true }, { "xn--rtter-kva.eu", true }, { "xn--ruanmller-u9a.com", true }, { "xn--s-1gaa.fi", true }, + { "xn--schlerzeitung-ideenlos-ulc.de", true }, + { "xn--schpski-c1a.de", true }, + { "xn--schsischer-christstollen-qbc.shop", true }, { "xn--seelenwchter-mcb.eu", true }, { "xn--spenijmazania-yhc.pl", true }, { "xn--sz8h.ml", true }, @@ -40794,7 +42148,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--t8j4aa4nyhxa7duezbl49aqg5546e264d.net", true }, { "xn--t8j4aa4nzg3a5euoxcwee.xyz", true }, { "xn--tigreray-i1a.org", true }, - { "xn--trdler-xxa.xyz", true }, { "xn--u8jwd.ga", true }, { "xn--u9j0ia6hb7347cg8wavz0avb0e.com", true }, { "xn--u9jv84l7ea468b.com", true }, @@ -40804,8 +42157,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xn--wq9h.ml", true }, { "xn--y-5ga.com", true }, { "xn--y8j148r.xn--q9jyb4c", true }, - { "xn--y8ja6lb.xn--q9jyb4c", true }, { "xn--y8jarb5hca.jp", true }, + { "xn--yrvp1ac68c.xn--6qq986b3xl", true }, { "xn--zettlmeil-n1a.de", true }, { "xn--zr9h.cf", true }, { "xn--zr9h.ga", true }, @@ -40817,17 +42170,19 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xninja.xyz", true }, { "xnode.org", true }, { "xntrik.wtf", true }, + { "xnu.kr", true }, { "xo.tc", true }, { "xo7.ovh", true }, { "xolphin.nl", true }, { "xombitgames.com", true }, { "xombitmusic.com", true }, - { "xone.cz", true }, + { "xone.cz", false }, { "xonn.de", true }, { "xoonth.net", true }, + { "xp-ochrona.pl", true }, { "xp2.de", true }, - { "xpbytes.com", true }, { "xpd.se", true }, + { "xperiacode.com", true }, { "xperidia.com", true }, { "xpletus.nl", true }, { "xplore-dna.net", true }, @@ -40835,18 +42190,21 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xposedornot.com", true }, { "xps2pdf.co.uk", true }, { "xps2pdf.info", true }, - { "xq55.com", false }, { "xqk7.com", true }, { "xr.cx", true }, { "xr1s.me", true }, { "xrg.cz", true }, { "xrippedhd.com", true }, { "xrockx.de", true }, + { "xrptoolkit.com", true }, { "xrwracing-france.com", true }, { "xs2a.no", true }, { "xs74.com", true }, { "xsec.me", true }, + { "xserownia.com.pl", true }, + { "xserownia.eu", true }, { "xserownia.net", true }, + { "xserownia.pl", true }, { "xsmobile.de", true }, { "xss.ht", true }, { "xss.name", true }, @@ -40860,7 +42218,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xtom.chat", true }, { "xtom.com", true }, { "xtom.com.hk", true }, - { "xtom.io", true }, { "xtom.wiki", true }, { "xtrainsights.com", true }, { "xtremebouncepartyhire.com.au", true }, @@ -40870,10 +42227,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xts3636.net", true }, { "xtu2.com", true }, { "xuab.net", true }, - { "xuan-li88.com", true }, - { "xuan-li88.net", true }, { "xuanmeishe.net", true }, { "xubo666.com", true }, + { "xuc.me", true }, { "xuedianshang.com", true }, { "xuehao.net.cn", true }, { "xuehuang666.cn", true }, @@ -40881,6 +42237,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xunn.io", true }, { "xuntier.ch", true }, { "xuyh0120.win", true }, + { "xvii.pl", true }, { "xviimusic.com", true }, { "xvt-blog.tk", true }, { "xwalck.se", true }, @@ -40892,7 +42249,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "xxxsuper.net", true }, { "xyenon.bid", true }, { "xyfun.net", false }, - { "xyngular-health.com", true }, { "xywing.com", true }, { "xyzulu.hosting", true }, { "xza.fr", true }, @@ -40905,10 +42261,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yacobo.com", true }, { "yado-furu.com", true }, { "yafuoku.ru", true }, + { "yageys.com", true }, { "yagihiro.tech", true }, { "yahan.tv", true }, { "yaharu.ru", true }, { "yahvehyireh.com", true }, + { "yak-soap.co", true }, { "yak.is", true }, { "yakmade.com", true }, { "yakmoo.se", true }, @@ -40922,11 +42280,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yame2.com", true }, { "yamilafeinart.de", true }, { "yamm.io", true }, + { "yan.lt", true }, { "yanaduday.com", true }, { "yanbao.xyz", true }, { "yandere.moe", true }, { "yangjingwen.cn", true }, { "yangmaodang.org", true }, + { "yangmi.blog", true }, { "yanngraf.ch", true }, { "yanngraf.com", true }, { "yannic.world", true }, @@ -40938,11 +42298,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yans.io", true }, { "yantrasthal.com", true }, { "yanuwa.com", true }, - { "yao-in.com", true }, - { "yao-in.net", true }, { "yapbreak.fr", true }, { "yarcom.ru", false }, - { "yarogneva.ru", true }, { "yarravilletownhouses.com.au", true }, { "yaru.one", true }, { "yassine-ayari.com", true }, @@ -40952,9 +42309,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yatsuenpoon.com", true }, { "yaup.tk", true }, { "yawen.me", true }, - { "yawnbox.com", true }, { "yaxim.org", true }, - { "yayart.club", true }, { "yazaral.com", true }, { "ybin.me", true }, { "ybresson.com", true }, @@ -40963,18 +42318,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ybti.net", true }, { "ybzhao.com", true }, { "ych.art", true }, - { "ycherbonnel.fr", true }, { "ychon.com", true }, { "ychong.com", true }, { "yclan.net", true }, { "ycnrg.org", true }, { "yd.io", true }, { "yeapdata.com", true }, - { "yecl.net", true }, + { "yecl.net", false }, { "yeesker.com", true }, { "yell.ml", true }, { "yellotalk.co", true }, - { "yellowfly.co.uk", true }, { "yellowpages.ee", true }, { "yellowtaillasvegas.com", true }, { "yellowtree.co.za", true }, @@ -41016,7 +42369,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yenpape.com", true }, { "yep-pro.ch", true }, { "yephy.com", true }, - { "yeshu.org", true }, { "yesiammaisey.me", true }, { "yeskx.com", true }, { "yeswecan.co.bw", true }, @@ -41030,6 +42382,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yeyi.site", true }, { "yfengs.moe", true }, { "ygobbs.com", true }, + { "ygrene.com", true }, + { "ygreneworks.com", true }, { "yh599.cc", true }, { "yhaupenthal.org", true }, { "yhb.io", true }, @@ -41039,10 +42393,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yhndnzj.com", true }, { "yhong.me", true }, { "yhrd.org", true }, - { "yhwj.top", false }, - { "yicknam.my", true }, - { "yiffy.tips", false }, - { "yiffy.zone", false }, { "yigujin.cn", true }, { "yiheng.moe", true }, { "yii2.cc", true }, @@ -41051,14 +42401,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yingatech.com", true }, { "yinglinda.love", true }, { "yinlei.org", true }, - { "yipingguo.com", true }, + { "yisin.net", true }, { "yiyuanzhong.com", true }, { "yiyueread.com", true }, { "yiz96.com", true }, - { "yjsw.sh.cn", true }, - { "ykhut.com", true }, + { "yjsoft.me", true }, { "yksityisyydensuoja.fi", true }, - { "ylde.de", true }, { "ylinternal.com", true }, { "ymarion.de", true }, { "ymblaw.com", true }, @@ -41066,12 +42414,12 @@ static const nsSTSPreload kSTSPreloadList[] = { { "ymtsonline.org", true }, { "ynnovasport.be", true }, { "ynxfh.cn", true }, + { "yoa.st", true }, { "yoast.com", true }, { "yobai-grouprec.jp", true }, { "yobai28.com", true }, { "yobbelwobbel.de", false }, { "yobify.com", true }, - { "yocchan1513.net", true }, { "yoga-alliance-teacher-training.com", true }, { "yoga-bad-toelz.de", true }, { "yoga-in-aying.de", true }, @@ -41084,9 +42432,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yogananda-roma.org", true }, { "yogaschoolrishikesh.com", true }, { "yoibyoin.info", true }, + { "yoimise.net", true }, { "yoitoko.city", true }, { "yoitsu.moe", true }, { "yokohama-legaloffice.jp", true }, + { "yokone3-kutikomi.com", true }, { "yolo.jetzt", true }, { "yolobert.de", true }, { "yoloboatrentals.com", true }, @@ -41105,25 +42455,23 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yorkshireinflatables.co.uk", true }, { "yosbeda.com", true }, { "yosemo.de", true }, - { "yosheenetwork.fr", true }, { "yoshibaworks.com", true }, { "yoshitsugu.net", true }, { "yosida-dental.com", true }, + { "yosida95.com", true }, { "yospos.org", true }, { "yoticonnections.com", true }, - { "yotilab.com", true }, { "yotta-zetta.com", true }, { "yotubaiotona.net", true }, { "you.com.br", true }, { "you2you.fr", true }, { "youareme.ca", true }, { "youc.ir", true }, - { "youcanmakeit.at", true }, + { "youcanfuckoff.xyz", true }, { "youcruit.com", true }, { "youdungoofd.com", true }, { "youftp.tk", true }, { "yougee.ml", true }, - { "yougot.pw", true }, { "youhacked.me", true }, { "youhavewords.com", true }, { "youhua.ru", true }, @@ -41132,8 +42480,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "youked.com", true }, { "youkok2.com", true }, { "youlovehers.com", true }, + { "youmiracle.com", true }, { "youms.de", true }, { "young-sheldon.com", true }, + { "youngauthentic.cf", true }, { "youngdogs.org", true }, { "youngfree.cn", true }, { "youngpeopleunited.co.uk", true }, @@ -41151,12 +42501,9 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yourcomputer.expert", true }, { "yourcopywriter.it", true }, { "yourforex.org", true }, - { "yourfriendlytech.com", true }, { "yourfuntrivia.com", true }, { "yourfuturestrategy.com.au", true }, - { "yourgadget.ro", true }, { "yourgames.tv", true }, - { "yourhair.net", true }, { "yourlanguages.de", true }, { "yourmemorykeeper.co.uk", true }, { "yourneighborhub.com", true }, @@ -41182,10 +42529,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yr166166.com", true }, { "yrjanheikki.com", true }, { "ys-shop.biz", true }, + { "ysicing.me", true }, { "ysicing.net", true }, { "ysicorp.com", true }, { "yslbeauty.com", true }, - { "yspeo.biz", true }, { "ysun.xyz", true }, { "ytec.ca", true }, { "ytpak.pk", true }, @@ -41253,8 +42600,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yubikeyservices.eu", true }, { "yubiking.com", true }, { "yue.la", true }, - { "yue2.net", true }, - { "yugasun.com", true }, + { "yuexiangzs.com", true }, + { "yuisyo.ml", true }, { "yukari.cafe", true }, { "yukari.cloud", true }, { "yuki-nagato.com", true }, @@ -41269,7 +42616,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yunzhu.li", true }, { "yuricarlenzoli.it", true }, { "yurikirin.me", true }, - { "yurimoens.be", true }, { "yurisviridov.com", true }, { "yusa.me", true }, { "yushi.moe", true }, @@ -41289,7 +42635,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yveshield.com", true }, { "yveslegendre.fr", true }, { "yvesx.com", true }, - { "yvetteerasmus.com", true }, { "yvonnehaeusser.de", true }, { "yvonnethomet.ch", true }, { "yvonnewilhelmi.com", true }, @@ -41304,7 +42649,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "yzimroni.net", true }, { "z-konzept-nutrition.ru", true }, { "z-latko.info", true }, - { "z-to-a.com", true }, { "z-vector.com", true }, { "z.ai", true }, { "z1h.de", true }, @@ -41312,9 +42656,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "z99944x.xyz", true }, { "za.search.yahoo.com", false }, { "zaagbaak.nl", true }, - { "zaalleatherwear.nl", false }, - { "zabavno.mk", true }, { "zabbix.tips", true }, + { "zabszk.net", true }, { "zabukovnik.net", true }, { "zacadam.com", true }, { "zacarias.com.ar", true }, @@ -41340,6 +42683,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zahnarzt-hofer.de", true }, { "zahnarzt-kramer.ch", true }, { "zahnarzt-muenich.de", true }, + { "zahnmedizinzentrum.com", true }, { "zajazd.biz", true }, { "zakariya.blog", true }, { "zakcutner.uk", true }, @@ -41351,6 +42695,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zakspartiesandevents.com", true }, { "zalamea.ph", true }, { "zaloghaz.ro", true }, + { "zaltv.com", true }, { "zalvus.com", true }, { "zamalektoday.com", true }, { "zamocosmeticos.com.br", true }, @@ -41360,13 +42705,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zanellidesigns.co.uk", true }, { "zanthra.com", true }, { "zanzabar.it", true }, + { "zanzo.cz", true }, { "zapier.com", true }, + { "zapmaster14.com", true }, { "zappbuildapps.com", false }, - { "zappos.com", true }, - { "zaptan.info", false }, - { "zaptan.net", false }, - { "zaptan.org", false }, - { "zaptan.us", false }, { "zarabiaj.com", true }, { "zaratan.fr", true }, { "zargescases.co.uk", true }, @@ -41376,11 +42718,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zatsepin.by", true }, { "zaufanatrzeciastrona.pl", true }, { "zavec.com.ec", true }, + { "zavedu.org", true }, { "zavetaji.lv", true }, { "zawo-electric.de", true }, { "zayna.eu", true }, - { "zberger.com", true }, - { "zbetcheck.in", true }, + { "zbanks.cn", true }, { "zbrane-doplnky.cz", true }, { "zbut.bg", true }, { "zbyga.cz", true }, @@ -41391,12 +42733,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zcon.nl", true }, { "zcore.org", true }, { "zcr.ca", true }, + { "zcryp.to", true }, { "zdbl.de", true }, { "zdenekspacek.cz", true }, { "zdorovayasimya.com", true }, { "zdrave-konzultace.cz", true }, { "zdravekonzultace.cz", true }, - { "zdravesteny.cz", true }, + { "zdravystul.cz", true }, { "zdrojak.cz", true }, { "zdymak.by", true }, { "ze3kr.com", true }, @@ -41414,10 +42757,11 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zeetoppers.nl", true }, { "zeeuw.nl", true }, { "zeguigui.com", true }, + { "zehkae.net", true }, { "zeibekiko-souvlaki.gr", true }, + { "zeidlertechnik.de", true }, { "zeilenmethans.nl", true }, { "zeilles.nu", true }, - { "zeitoununiversity.org", true }, { "zeitpunkt-kulturmagazin.de", true }, { "zekesnider.com", true }, { "zekinteractive.com", true }, @@ -41431,7 +42775,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zenevents.ro", true }, { "zengdong.ren", true }, { "zenghx.tk", false }, - { "zenics.co.uk", true }, { "zenithmedia.ca", true }, { "zenk-security.com", true }, { "zenlogic.com", true }, @@ -41443,7 +42786,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zentask.io", true }, { "zenti.cloud", true }, { "zenvideocloud.com", true }, - { "zeparadox.com", true }, { "zephyrbk.com", true }, { "zephyrbookkeeping.com", true }, { "zephyretcoraline.com", true }, @@ -41461,7 +42803,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zerossl.com", true }, { "zerosync.com", true }, { "zerotoone.de", true }, - { "zerowastesavvy.com", true }, { "zertif.info", true }, { "zertitude.com", true }, { "zeryn.net", true }, @@ -41488,24 +42829,27 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zhangsidan.com", true }, { "zhangyuhao.com", true }, { "zhangzifan.com", false }, + { "zhaoeq.com", true }, { "zhaofeng.li", true }, { "zhaopage.com", true }, { "zhaoxixiangban.cc", true }, { "zhcexo.com", true }, { "zhen-chen.com", true }, { "zhengjie.com", true }, - { "zhenyan.org", true }, + { "zhenic.ir", true }, { "zhi.ci", true }, { "zhiku8.com", true }, { "zhima.io", true }, { "zhitanska.com", true }, { "zhl123.com", true }, + { "zhome.info", true }, { "zhongzicili.ws", true }, { "zhoushuo.me", false }, { "zhoutiancai.cn", true }, { "zhovner.com", true }, { "zhthings.com", true }, { "zhuihoude.com", true }, + { "zhuji.com", true }, { "zi.is", true }, { "ziegler-family.com", true }, { "ziegler-heizung-frankfurt.de", true }, @@ -41517,6 +42861,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zigottos.fr", true }, { "zigzagmart.com", true }, { "zihao.me", false }, + { "zii.bz", true }, { "zijung.me", true }, { "zikinf.com", true }, { "ziktime.com", true }, @@ -41525,11 +42870,14 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zilore.com", true }, { "zilsen.com", true }, { "zima.io", true }, + { "zimaoxy.com", true }, { "zimiao.moe", true }, { "zimmer-voss.de", true }, { "zingarastore.com", true }, { "zingjerijk.nl", true }, { "zings.eu", true }, + { "zinniamay.com", true }, + { "zinnowitzer-ferienwohnung.de", true }, { "zinoui.com", true }, { "ziondrive.com.br", true }, { "zionnationalpark.net", true }, @@ -41546,20 +42894,24 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zittingskalender.be", true }, { "zivava.ge", true }, { "zivmergers.com", true }, + { "zivver.be", true }, { "zivver.com", true }, + { "zivver.de", true }, + { "zivver.eu", true }, + { "zivver.info", true }, + { "zivver.nl", true }, + { "zivver.uk", true }, + { "zivyruzenec.cz", true }, { "zixiao.wang", true }, - { "zju.tv", true }, + { "zizcollections.com", true }, { "zjuqsc.com", true }, { "zjv.me", true }, - { "zjyifa.cn", true }, { "zk.com.co", true }, { "zk.gd", true }, { "zk9.nl", true }, { "zkontrolujsiauto.cz", true }, { "zkrypt.cc", true }, { "zkzone.net", true }, - { "zl0iu.com", true }, - { "zl8862.com", true }, { "zlatakus.cz", true }, { "zlatosnadno.cz", true }, { "zlaty-tyden.cz", true }, @@ -41567,7 +42919,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zlavomat.sk", true }, { "zlima12.com", true }, { "zlypi.com", true }, - { "zmala.com", true }, { "zmarta.de", true }, { "zmarta.dk", true }, { "zmarta.fi", true }, @@ -41579,11 +42930,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zmartagroup.no", true }, { "zmartagroup.se", true }, { "znation.nl", true }, + { "znhglobalresources.com", true }, { "zny.pw", true }, { "zoarcampsite.uk", true }, { "zobraz.cz", true }, { "zobworks.com", true }, { "zoccarato.ovh", true }, + { "zochowskiplasticsurgery.com", true }, { "zockenbiszumumfallen.de", true }, { "zodgame.us", true }, { "zodiacohouses.com", true }, @@ -41591,10 +42944,10 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zofrex.com", true }, { "zohar.wang", true }, { "zoigl.club", true }, + { "zoisfinefood.com", true }, { "zojadravai.com", true }, { "zoki.art", true }, { "zollihood.ch", true }, - { "zolokar.xyz", true }, { "zom.bi", true }, { "zomerschoen.nl", true }, { "zonadigital.co", true }, @@ -41630,6 +42983,7 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zor.com", true }, { "zorasvobodova.cz", true }, { "zorgclustertool.nl", true }, + { "zorig.ch", true }, { "zorium.org", true }, { "zorntt.fr", true }, { "zotero.org", true }, @@ -41638,11 +42992,13 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zozo.com", true }, { "zozzle.co.uk", true }, { "zp25.ninja", true }, - { "zqstudio.top", true }, + { "zqwqz.com", true }, + { "zr.is", true }, { "zravypapir.cz", true }, { "zrniecka-pre-sny.sk", true }, { "zrnieckapresny.sk", true }, { "zrt.io", true }, + { "zry-blog.top", true }, { "zs-ohradni.cz", true }, { "zs-reporyje.cz", true }, { "zscales.com", false }, @@ -41653,9 +43009,8 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zsrbcs.com", true }, { "zten.org", true }, { "ztjuh.tk", true }, - { "zuan-in.net", true }, { "zubel.it", false }, - { "zubora.co", true }, + { "zubro.net", true }, { "zuefle.net", true }, { "zug-anwalt.de", true }, { "zug.fr", true }, @@ -41668,7 +43023,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zum-baur.de", true }, { "zumazar.ru", true }, { "zund-app.com", true }, - { "zunda.cafe", true }, { "zundapp529.nl", true }, { "zundappachterhoek.nl", true }, { "zuolan.me", false }, @@ -41683,7 +43037,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zuzumba.es", true }, { "zvps.uk", true }, { "zvxr.net", true }, - { "zwalcz-cellulit.com", true }, { "zwartendijkstalling.nl", true }, { "zwb3.de", true }, { "zwerimex.com", true }, @@ -41693,13 +43046,16 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zwy.ch", true }, { "zx6rninja.de", true }, { "zx7r.de", true }, + { "zxc.science", false }, { "zxe.com.br", true }, { "zxtcode.com", true }, { "zy.md", true }, { "zybbo.com", true }, { "zyciedlazwierzat.pl", true }, { "zyciedogorynogami.pl", true }, - { "zyger.co.za", true }, + { "zydronium.com", true }, + { "zydronium.nl", true }, + { "zygozoon.com", true }, { "zylai.com", true }, { "zymmm.com", true }, { "zypern-firma.com", true }, @@ -41708,7 +43064,6 @@ static const nsSTSPreload kSTSPreloadList[] = { { "zyul.ddns.net", true }, { "zyzardx.com", true }, { "zyzsdy.com", true }, - { "zz295.com", true }, { "zzekj.net", true }, { "zzpd.nl", false }, { "zzsec.org", true }, diff --git a/security/manager/ssl/tests/unit/test_cert_chains.js b/security/manager/ssl/tests/unit/test_cert_chains.js index 8abcb4e65..dd1fc9369 100644 --- a/security/manager/ssl/tests/unit/test_cert_chains.js +++ b/security/manager/ssl/tests/unit/test_cert_chains.js @@ -31,9 +31,30 @@ function test_cert_equals() { " should return false"); } +function test_bad_cert_list_serialization() { + // Normally the serialization of an nsIX509CertList consists of some header + // junk (IIDs and whatnot), 4 bytes representing how many nsIX509Cert follow, + // and then the serialization of each nsIX509Cert. This serialization consists + // of the header junk for an nsIX509CertList with 1 "nsIX509Cert", but then + // instead of an nsIX509Cert, the subsequent bytes represent the serialization + // of another nsIX509CertList (with 0 nsIX509Cert). This test ensures that + // nsIX509CertList safely handles this unexpected input when deserializing. + const badCertListSerialization = + "lZ+xZWUXSH+rm9iRO+UxlwAAAAAAAAAAwAAAAAAAAEYAAAABlZ+xZWUXSH+rm9iRO+UxlwAAAAAA" + + "AAAAwAAAAAAAAEYAAAAA"; + let serHelper = Cc["@mozilla.org/network/serialization-helper;1"] + .getService(Ci.nsISerializationHelper); + throws(() => serHelper.deserializeObject(badCertListSerialization), + /NS_ERROR_UNEXPECTED/, + "deserializing a bogus nsIX509CertList should throw NS_ERROR_UNEXPECTED"); +} + function test_cert_list_serialization() { let certList = build_cert_chain(['default-ee', 'expired-ee']); + throws(() => certList.addCert(null), /NS_ERROR_ILLEGAL_VALUE/, + "trying to add a null cert to an nsIX509CertList should throw"); + // Serialize the cert list to a string let serHelper = Cc["@mozilla.org/network/serialization-helper;1"] .getService(Ci.nsISerializationHelper); @@ -78,6 +99,11 @@ function run_test() { // Test serialization of nsIX509CertList add_test(function() { + test_bad_cert_list_serialization(); + run_next_test(); + }); + + add_test(function() { test_cert_list_serialization(); run_next_test(); }); diff --git a/toolkit/components/build/nsToolkitCompsModule.cpp b/toolkit/components/build/nsToolkitCompsModule.cpp index 190c4da06..33c604c4e 100644 --- a/toolkit/components/build/nsToolkitCompsModule.cpp +++ b/toolkit/components/build/nsToolkitCompsModule.cpp @@ -5,7 +5,9 @@ #include "mozilla/ModuleUtils.h" #include "nsAppStartup.h" #include "nsNetCID.h" +#ifdef MOZ_USERINFO #include "nsUserInfo.h" +#endif #include "nsToolkitCompsCID.h" #include "nsFindService.h" #if defined(MOZ_UPDATER) && !defined(MOZ_WIDGET_ANDROID) @@ -76,7 +78,9 @@ NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPerformanceStatsService, Init) NS_GENERIC_FACTORY_CONSTRUCTOR(nsTerminator) #endif +#if defined(MOZ_USERINFO) NS_GENERIC_FACTORY_CONSTRUCTOR(nsUserInfo) +#endif // defined (MOZ_USERINFO) NS_GENERIC_FACTORY_CONSTRUCTOR(nsFindService) #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) @@ -141,7 +145,9 @@ NS_DEFINE_NAMED_CID(NS_TOOLKIT_PERFORMANCESTATSSERVICE_CID); #if defined(MOZ_HAS_TERMINATOR) NS_DEFINE_NAMED_CID(NS_TOOLKIT_TERMINATOR_CID); #endif +#if defined(MOZ_USERINFO) NS_DEFINE_NAMED_CID(NS_USERINFO_CID); +#endif // defined (MOZ_USERINFO) NS_DEFINE_NAMED_CID(ALERT_NOTIFICATION_CID); NS_DEFINE_NAMED_CID(NS_ALERTSSERVICE_CID); #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) @@ -179,7 +185,9 @@ static const Module::CIDEntry kToolkitCIDs[] = { #if defined(MOZ_HAS_PERFSTATS) { &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID, false, nullptr, nsPerformanceStatsServiceConstructor }, #endif // defined (MOZ_HAS_PERFSTATS) +#if defined(MOZ_USERINFO) { &kNS_USERINFO_CID, false, nullptr, nsUserInfoConstructor }, +#endif // defined (MOZ_USERINFO) { &kALERT_NOTIFICATION_CID, false, nullptr, AlertNotificationConstructor }, { &kNS_ALERTSSERVICE_CID, false, nullptr, nsAlertsServiceConstructor }, #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) @@ -219,7 +227,9 @@ static const Module::ContractIDEntry kToolkitContracts[] = { #if defined(MOZ_HAS_PERFSTATS) { NS_TOOLKIT_PERFORMANCESTATSSERVICE_CONTRACTID, &kNS_TOOLKIT_PERFORMANCESTATSSERVICE_CID }, #endif // defined (MOZ_HAS_PERFSTATS) +#if defined(MOZ_USERINFO) { NS_USERINFO_CONTRACTID, &kNS_USERINFO_CID }, +#endif // defined(MOZ_USERINFO) { ALERT_NOTIFICATION_CONTRACTID, &kALERT_NOTIFICATION_CID }, { NS_ALERTSERVICE_CONTRACTID, &kNS_ALERTSSERVICE_CID }, #if !defined(MOZ_DISABLE_PARENTAL_CONTROLS) diff --git a/toolkit/components/microformats/update/package.json b/toolkit/components/microformats/update/package.json index 8f829439f..371986694 100644 --- a/toolkit/components/microformats/update/package.json +++ b/toolkit/components/microformats/update/package.json @@ -16,6 +16,6 @@ "dependencies": { "download-github-repo": "0.1.x", "fs-extra": "0.19.x", - "request": "2.58.x" + "request": ">=2.68.0" } -}
\ No newline at end of file +} diff --git a/toolkit/components/startup/moz.build b/toolkit/components/startup/moz.build index dbd580384..5f290b783 100644 --- a/toolkit/components/startup/moz.build +++ b/toolkit/components/startup/moz.build @@ -18,19 +18,14 @@ UNIFIED_SOURCES += [ 'StartupTimeline.cpp', ] -if CONFIG['OS_ARCH'] == 'WINNT': - # This file cannot be built in unified mode because of name clashes with Windows headers. - SOURCES += [ - 'nsUserInfoWin.cpp', - ] -elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': - UNIFIED_SOURCES += [ - 'nsUserInfoMac.mm', - ] -else: - UNIFIED_SOURCES += [ - 'nsUserInfoUnix.cpp', - ] +if CONFIG['MOZ_USERINFO']: + if CONFIG['OS_ARCH'] == 'WINNT': + # This file cannot be built in unified mode because of name clashes with Windows headers. + SOURCES += ['nsUserInfoWin.cpp'] + elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + UNIFIED_SOURCES += ['nsUserInfoMac.mm'] + else: + UNIFIED_SOURCES += ['nsUserInfoUnix.cpp'] FINAL_LIBRARY = 'xul' diff --git a/toolkit/components/startup/public/moz.build b/toolkit/components/startup/public/moz.build index 5894b6c51..948a7d7ee 100644 --- a/toolkit/components/startup/public/moz.build +++ b/toolkit/components/startup/public/moz.build @@ -4,10 +4,10 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -XPIDL_SOURCES += [ - 'nsIAppStartup.idl', - 'nsIUserInfo.idl', -] +XPIDL_SOURCES += ['nsIAppStartup.idl'] + +if CONFIG['MOZ_USERINFO']: + XPIDL_SOURCES += ['nsIUserInfo.idl'] XPIDL_MODULE = 'appstartup' diff --git a/toolkit/components/thumbnails/BackgroundPageThumbs.jsm b/toolkit/components/thumbnails/BackgroundPageThumbs.jsm index 7b86fa07c..3eec9827d 100644 --- a/toolkit/components/thumbnails/BackgroundPageThumbs.jsm +++ b/toolkit/components/thumbnails/BackgroundPageThumbs.jsm @@ -206,9 +206,13 @@ const BackgroundPageThumbs = { let browser = this._parentWin.document.createElementNS(XUL_NS, "browser"); browser.setAttribute("type", "content"); - browser.setAttribute("remote", "true"); browser.setAttribute("disableglobalhistory", "true"); + if (Services.prefs.getPrefType("browser.tabs.remote") == Services.prefs.PREF_BOOL && + Services.prefs.getBoolPref("browser.tabs.remote")) { + browser.setAttribute("remote", "true"); + } + if (Services.prefs.getBoolPref(ABOUT_NEWTAB_SEGREGATION_PREF)) { // Use the private container for thumbnails. let privateIdentity = diff --git a/toolkit/content/browser-content.js b/toolkit/content/browser-content.js index e1114672c..2276f8a0d 100644 --- a/toolkit/content/browser-content.js +++ b/toolkit/content/browser-content.js @@ -841,35 +841,6 @@ var FindBar = { fakeEvent[k] = event[k]; } } -#ifdef MC_PALEMOON - let findBarId = "FindToolbar"; - // The FindBar is in the chrome window's context, not in tabbrowser - // - see also bug 537013 - let chromeWin = null; - try { - chromeWin = content - .QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIWebNavigation) - .QueryInterface(Ci.nsIDocShellTreeItem) - .rootTreeItem - .QueryInterface(Ci.nsIInterfaceRequestor) - .getInterface(Ci.nsIDOMWindow) - .QueryInterface(Ci.nsIDOMChromeWindow); - } catch (e) { - Cu.reportError( - "The FindBar - the chrome window's context was not detected:\n" + e); - } - if (chromeWin && chromeWin.document.getElementById(findBarId)) { - try { - chromeWin.document.getElementById(findBarId) - .browser = Services.wm.getMostRecentWindow("navigator:browser") - .gBrowser.mCurrentBrowser; - } catch (e) { - Cu.reportError( - "The FindBar - cannot set the property 'browser':\n" + e); - } - } -#endif // sendSyncMessage returns an array of the responses from all listeners let rv = sendSyncMessage("Findbar:Keypress", { diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn index c11d3abed..e1d432cb3 100644 --- a/toolkit/content/jar.mn +++ b/toolkit/content/jar.mn @@ -39,7 +39,7 @@ toolkit.jar: content/global/plugins.html content/global/plugins.css content/global/browser-child.js -* content/global/browser-content.js + content/global/browser-content.js * content/global/buildconfig.html content/global/contentAreaUtils.js #ifndef MOZ_FENNEC diff --git a/toolkit/mozapps/extensions/content/extensions.xul b/toolkit/mozapps/extensions/content/extensions.xul index c5eeb534f..292ecf8d3 100644 --- a/toolkit/mozapps/extensions/content/extensions.xul +++ b/toolkit/mozapps/extensions/content/extensions.xul @@ -186,7 +186,7 @@ placeholder="&search.placeholder;"/> </hbox> - <hbox flex="1"> + <hbox id="main" flex="1"> <!-- category list --> <richlistbox id="categories"> diff --git a/widget/nsBaseWidget.cpp b/widget/nsBaseWidget.cpp index 909660f71..c6ec3a406 100644 --- a/widget/nsBaseWidget.cpp +++ b/widget/nsBaseWidget.cpp @@ -73,7 +73,6 @@ #endif #include "gfxConfig.h" #include "mozilla/layers/CompositorSession.h" -#include "VRManagerChild.h" #ifdef DEBUG #include "nsIObserver.h" @@ -366,7 +365,6 @@ nsBaseWidget::OnRenderingDeviceReset() // Update the texture factory identifier. clm->UpdateTextureFactoryIdentifier(identifier); ImageBridgeChild::IdentifyCompositorTextureHost(identifier); - gfx::VRManagerChild::IdentifyTextureHost(identifier); } void @@ -1377,7 +1375,6 @@ void nsBaseWidget::CreateCompositor(int aWidth, int aHeight) // compositors used with ImageBridge and VR (and more generally web content). if (WidgetTypeSupportsAcceleration()) { ImageBridgeChild::IdentifyCompositorTextureHost(textureFactoryIdentifier); - gfx::VRManagerChild::IdentifyTextureHost(textureFactoryIdentifier); } } diff --git a/widget/windows/InProcessWinCompositorWidget.cpp b/widget/windows/InProcessWinCompositorWidget.cpp index 685eaf5ca..a11790b32 100644 --- a/widget/windows/InProcessWinCompositorWidget.cpp +++ b/widget/windows/InProcessWinCompositorWidget.cpp @@ -23,6 +23,31 @@ InProcessWinCompositorWidget::InProcessWinCompositorWidget(const CompositorWidge MOZ_ASSERT(mWindow); } +void +InProcessWinCompositorWidget::OnDestroyWindow() +{ + EnterPresentLock(); + WinCompositorWidget::OnDestroyWindow(); + LeavePresentLock(); +} + +void +InProcessWinCompositorWidget::UpdateTransparency(nsTransparencyMode aMode) +{ + EnterPresentLock(); + WinCompositorWidget::UpdateTransparency(aMode); + LeavePresentLock(); +} + +void +InProcessWinCompositorWidget::ClearTransparentWindow() +{ + EnterPresentLock(); + WinCompositorWidget::ClearTransparentWindow(); + LeavePresentLock(); +} + + nsIWidget* InProcessWinCompositorWidget::RealWidget() { diff --git a/widget/windows/InProcessWinCompositorWidget.h b/widget/windows/InProcessWinCompositorWidget.h index 2ce6ba0be..afe5a7f53 100644 --- a/widget/windows/InProcessWinCompositorWidget.h +++ b/widget/windows/InProcessWinCompositorWidget.h @@ -22,6 +22,10 @@ class InProcessWinCompositorWidget final : public WinCompositorWidget public: InProcessWinCompositorWidget(const CompositorWidgetInitData& aInitData, nsWindow* aWindow); + void OnDestroyWindow() override; + void UpdateTransparency(nsTransparencyMode aMode) override; + void ClearTransparentWindow() override; + void ObserveVsync(VsyncObserver* aObserver) override; nsIWidget* RealWidget() override; diff --git a/widget/windows/TSFTextStore.cpp b/widget/windows/TSFTextStore.cpp index 7224126b8..c80de831c 100644 --- a/widget/windows/TSFTextStore.cpp +++ b/widget/windows/TSFTextStore.cpp @@ -4247,14 +4247,14 @@ TSFTextStore::InsertTextAtSelectionInternal(const nsAString& aInsertStr, TS_SELECTION_ACP oldSelection = contentForTSF.Selection().ACP(); if (!mComposition.IsComposing()) { // Use a temporary composition to contain the text - PendingAction* compositionStart = mPendingActions.AppendElement(); + PendingAction* compositionStart = mPendingActions.AppendElements(2); + PendingAction* compositionEnd = compositionStart + 1; compositionStart->mType = PendingAction::COMPOSITION_START; compositionStart->mSelectionStart = oldSelection.acpStart; compositionStart->mSelectionLength = oldSelection.acpEnd - oldSelection.acpStart; compositionStart->mAdjustSelection = false; - PendingAction* compositionEnd = mPendingActions.AppendElement(); compositionEnd->mType = PendingAction::COMPOSITION_END; compositionEnd->mData = aInsertStr; @@ -4455,10 +4455,12 @@ TSFTextStore::RecordCompositionEndAction() } // When only setting selection is necessary, we should append it. if (pendingAction.mAdjustSelection) { + LONG selectionStart = pendingAction.mSelectionStart; + LONG selectionLength = pendingAction.mSelectionLength; PendingAction* setSelection = mPendingActions.AppendElement(); setSelection->mType = PendingAction::SET_SELECTION; - setSelection->mSelectionStart = pendingAction.mSelectionStart; - setSelection->mSelectionLength = pendingAction.mSelectionLength; + setSelection->mSelectionStart = selectionStart; + setSelection->mSelectionLength = selectionLength; setSelection->mSelectionReversed = false; } // Remove the redundant pending composition. diff --git a/xpcom/glue/nsTArray-inl.h b/xpcom/glue/nsTArray-inl.h index af57c9866..7e667a327 100644 --- a/xpcom/glue/nsTArray-inl.h +++ b/xpcom/glue/nsTArray-inl.h @@ -111,6 +111,23 @@ bool IsTwiceTheRequiredBytesRepresentableAsUint32(size_t aCapacity, template<class Alloc, class Copy> template<typename ActualAlloc> typename ActualAlloc::ResultTypeProxy +nsTArray_base<Alloc, Copy>::ExtendCapacity(size_type aLength, + size_type aCount, + size_type aElemSize) +{ + mozilla::CheckedInt<size_type> newLength = aLength; + newLength += aCount; + + if (!newLength.isValid()) { + return ActualAlloc::FailureResult(); + } + + return this->EnsureCapacity<ActualAlloc>(newLength.value(), aElemSize); +} + +template<class Alloc, class Copy> +template<typename ActualAlloc> +typename ActualAlloc::ResultTypeProxy nsTArray_base<Alloc, Copy>::EnsureCapacity(size_type aCapacity, size_type aElemSize) { @@ -275,26 +292,21 @@ nsTArray_base<Alloc, Copy>::ShiftData(index_type aStart, template<class Alloc, class Copy> template<typename ActualAlloc> -bool +typename ActualAlloc::ResultTypeProxy nsTArray_base<Alloc, Copy>::InsertSlotsAt(index_type aIndex, size_type aCount, size_type aElemSize, size_t aElemAlign) { MOZ_ASSERT(aIndex <= Length(), "Bogus insertion index"); - size_type newLen = Length() + aCount; - - EnsureCapacity<ActualAlloc>(newLen, aElemSize); - - // Check for out of memory conditions - if (Capacity() < newLen) { - return false; + if (!ActualAlloc::Successful(this->ExtendCapacity<ActualAlloc>(Length(), aCount, aElemSize))) { + return ActualAlloc::FailureResult(); } - + // Move the existing elements as needed. Note that this will // change our mLength, so no need to call IncrementLength. ShiftData<ActualAlloc>(aIndex, 0, aCount, aElemSize, aElemAlign); - return true; + return ActualAlloc::SuccessResult(); } // nsTArray_base::IsAutoArrayRestorer is an RAII class which takes diff --git a/xpcom/glue/nsTArray.h b/xpcom/glue/nsTArray.h index c86772a8e..82586a79a 100644 --- a/xpcom/glue/nsTArray.h +++ b/xpcom/glue/nsTArray.h @@ -12,6 +12,7 @@ #include "mozilla/Assertions.h" #include "mozilla/Attributes.h" #include "mozilla/BinarySearch.h" +#include "mozilla/CheckedInt.h" #include "mozilla/fallible.h" #include "mozilla/Function.h" #include "mozilla/MathAlgorithms.h" @@ -421,6 +422,17 @@ protected: typename ActualAlloc::ResultTypeProxy EnsureCapacity(size_type aCapacity, size_type aElemSize); + // Extend the storage to accommodate aCount extra elements. + // @param aLength The current size of the array. + // @param aCount The number of elements to add. + // @param aElemSize The size of an array element. + // @return False if insufficient memory is available or the new length + // would overflow; true otherwise. + template<typename ActualAlloc> + typename ActualAlloc::ResultTypeProxy ExtendCapacity(size_type aLength, + size_type aCount, + size_type aElemSize); + // Tries to resize the storage to the minimum required amount. If this fails, // the array is left as-is. // @param aElemSize The size of an array element. @@ -462,8 +474,9 @@ protected: // @param aElementSize the size of an array element. // @param aElemAlign the alignment in bytes of an array element. template<typename ActualAlloc> - bool InsertSlotsAt(index_type aIndex, size_type aCount, - size_type aElementSize, size_t aElemAlign); + typename ActualAlloc::ResultTypeProxy + InsertSlotsAt(index_type aIndex, size_type aCount, + size_type aElementSize, size_t aElemAlign); template<typename ActualAlloc, class Allocator> typename ActualAlloc::ResultTypeProxy @@ -1655,8 +1668,8 @@ public: protected: template<typename ActualAlloc = Alloc> elem_type* AppendElements(size_type aCount) { - if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>( - Length() + aCount, sizeof(elem_type)))) { + if (!ActualAlloc::Successful(this->template ExtendCapacity<ActualAlloc>( + Length(), aCount, sizeof(elem_type)))) { return nullptr; } elem_type* elems = Elements() + Length(); @@ -1872,9 +1885,8 @@ protected: template<typename ActualAlloc = Alloc> elem_type* InsertElementsAt(index_type aIndex, size_type aCount) { - if (!base_type::template InsertSlotsAt<ActualAlloc>(aIndex, aCount, - sizeof(elem_type), - MOZ_ALIGNOF(elem_type))) { + if (!ActualAlloc::Successful(this->template InsertSlotsAt<ActualAlloc>( + aIndex, aCount, sizeof(elem_type), MOZ_ALIGNOF(elem_type)))) { return nullptr; } @@ -2047,9 +2059,8 @@ auto nsTArray_Impl<E, Alloc>::InsertElementsAt(index_type aIndex, size_type aCount, const Item& aItem) -> elem_type* { - if (!base_type::template InsertSlotsAt<ActualAlloc>(aIndex, aCount, - sizeof(elem_type), - MOZ_ALIGNOF(elem_type))) { + if (!ActualAlloc::Successful(this->template InsertSlotsAt<ActualAlloc>( + aIndex, aCount, sizeof(elem_type), MOZ_ALIGNOF(elem_type)))) { return nullptr; } @@ -2068,6 +2079,7 @@ template<typename ActualAlloc> auto nsTArray_Impl<E, Alloc>::InsertElementAt(index_type aIndex) -> elem_type* { + // Length() + 1 is guaranteed to not overflow, so EnsureCapacity is OK. if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>( Length() + 1, sizeof(elem_type)))) { return nullptr; @@ -2084,6 +2096,7 @@ template<class Item, typename ActualAlloc> auto nsTArray_Impl<E, Alloc>::InsertElementAt(index_type aIndex, Item&& aItem) -> elem_type* { + // Length() + 1 is guaranteed to not overflow, so EnsureCapacity is OK. if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>( Length() + 1, sizeof(elem_type)))) { return nullptr; @@ -2100,8 +2113,8 @@ template<class Item, typename ActualAlloc> auto nsTArray_Impl<E, Alloc>::AppendElements(const Item* aArray, size_type aArrayLen) -> elem_type* { - if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>( - Length() + aArrayLen, sizeof(elem_type)))) { + if (!ActualAlloc::Successful(this->template ExtendCapacity<ActualAlloc>( + Length(), aArrayLen, sizeof(elem_type)))) { return nullptr; } index_type len = Length(); @@ -2123,8 +2136,8 @@ nsTArray_Impl<E, Alloc>::AppendElements(nsTArray_Impl<Item, Allocator>&& aArray) index_type len = Length(); index_type otherLen = aArray.Length(); - if (!Alloc::Successful(this->template EnsureCapacity<Alloc>( - len + otherLen, sizeof(elem_type)))) { + if (!Alloc::Successful(this->template ExtendCapacity<Alloc>( + len, otherLen, sizeof(elem_type)))) { return nullptr; } copy_type::MoveNonOverlappingRegion(Elements() + len, aArray.Elements(), otherLen, @@ -2140,6 +2153,7 @@ template<class Item, typename ActualAlloc> auto nsTArray_Impl<E, Alloc>::AppendElement(Item&& aItem) -> elem_type* { + // Length() + 1 is guaranteed to not overflow, so EnsureCapacity is OK. if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>( Length() + 1, sizeof(elem_type)))) { return nullptr; |