From fa3e172e3c7df15245d006387a3f38107adcd9f1 Mon Sep 17 00:00:00 2001 From: Andrea Marchesini Date: Thu, 18 May 2017 11:56:27 +0200 Subject: [PATCH 01/38] Bug 1365598 - Updating the Constructor of HTMLOptionElement, r=smaug --- dom/html/HTMLOptionElement.cpp | 59 ++++++++++++++--------------- dom/html/HTMLOptionElement.h | 7 ++-- dom/webidl/HTMLOptionElement.webidl | 2 +- 3 files changed, 34 insertions(+), 34 deletions(-) diff --git a/dom/html/HTMLOptionElement.cpp b/dom/html/HTMLOptionElement.cpp index 5d1d17170d4d..44615650f27d 100644 --- a/dom/html/HTMLOptionElement.cpp +++ b/dom/html/HTMLOptionElement.cpp @@ -372,10 +372,11 @@ HTMLOptionElement::GetSelect() already_AddRefed HTMLOptionElement::Option(const GlobalObject& aGlobal, - const Optional& aText, + const nsAString& aText, const Optional& aValue, - const Optional& aDefaultSelected, - const Optional& aSelected, ErrorResult& aError) + bool aDefaultSelected, + bool aSelected, + ErrorResult& aError) { nsCOMPtr win = do_QueryInterface(aGlobal.GetAsSupports()); nsIDocument* doc; @@ -391,45 +392,43 @@ HTMLOptionElement::Option(const GlobalObject& aGlobal, RefPtr option = new HTMLOptionElement(nodeInfo); - if (aText.WasPassed()) { + if (!aText.IsEmpty()) { // Create a new text node and append it to the option RefPtr textContent = new nsTextNode(option->NodeInfo()->NodeInfoManager()); - textContent->SetText(aText.Value(), false); + textContent->SetText(aText, false); aError = option->AppendChildTo(textContent, false); if (aError.Failed()) { return nullptr; } + } - if (aValue.WasPassed()) { - // Set the value attribute for this element. We're calling SetAttr - // directly because we want to pass aNotify == false. - aError = option->SetAttr(kNameSpaceID_None, nsGkAtoms::value, - aValue.Value(), false); - if (aError.Failed()) { - return nullptr; - } + if (aValue.WasPassed()) { + // Set the value attribute for this element. We're calling SetAttr + // directly because we want to pass aNotify == false. + aError = option->SetAttr(kNameSpaceID_None, nsGkAtoms::value, + aValue.Value(), false); + if (aError.Failed()) { + return nullptr; + } + } - if (aDefaultSelected.WasPassed()) { - if (aDefaultSelected.Value()) { - // We're calling SetAttr directly because we want to pass - // aNotify == false. - aError = option->SetAttr(kNameSpaceID_None, nsGkAtoms::selected, - EmptyString(), false); - if (aError.Failed()) { - return nullptr; - } - } + if (aDefaultSelected) { + // We're calling SetAttr directly because we want to pass + // aNotify == false. + aError = option->SetAttr(kNameSpaceID_None, nsGkAtoms::selected, + EmptyString(), false); + if (aError.Failed()) { + return nullptr; + } + } - if (aSelected.WasPassed()) { - option->SetSelected(aSelected.Value(), aError); - if (aError.Failed()) { - return nullptr; - } - } - } + if (aSelected) { + option->SetSelected(true, aError); + if (aError.Failed()) { + return nullptr; } } diff --git a/dom/html/HTMLOptionElement.h b/dom/html/HTMLOptionElement.h index 51c866f3f4f5..6e893762888d 100644 --- a/dom/html/HTMLOptionElement.h +++ b/dom/html/HTMLOptionElement.h @@ -25,10 +25,11 @@ public: static already_AddRefed Option(const GlobalObject& aGlobal, - const Optional& aText, + const nsAString& aText, const Optional& aValue, - const Optional& aDefaultSelected, - const Optional& aSelected, ErrorResult& aError); + bool aDefaultSelected, + bool aSelected, + ErrorResult& aError); NS_IMPL_FROMCONTENT_HTML_WITH_TAG(HTMLOptionElement, option) diff --git a/dom/webidl/HTMLOptionElement.webidl b/dom/webidl/HTMLOptionElement.webidl index 34e6e6c23e7d..907a37047024 100644 --- a/dom/webidl/HTMLOptionElement.webidl +++ b/dom/webidl/HTMLOptionElement.webidl @@ -11,7 +11,7 @@ * and create derivative works of this document. */ -[HTMLConstructor, NamedConstructor=Option(optional DOMString text, optional DOMString value, optional boolean defaultSelected, optional boolean selected)] +[HTMLConstructor, NamedConstructor=Option(optional DOMString text = "", optional DOMString value, optional boolean defaultSelected = false, optional boolean selected = false)] interface HTMLOptionElement : HTMLElement { [SetterThrows] attribute boolean disabled; From b96a934bb0eadf99f4e4c9d87e147654945c55c5 Mon Sep 17 00:00:00 2001 From: Shawn Huang Date: Thu, 18 May 2017 19:02:22 +0800 Subject: [PATCH 02/38] Bug 1365478 - Use BoolVarCache to cache preferences in XMLHttpRequest, r=baku --- dom/xhr/XMLHttpRequestMainThread.cpp | 38 ++++++++++++++++++++++++++-- dom/xhr/XMLHttpRequestMainThread.h | 8 ++++++ 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/dom/xhr/XMLHttpRequestMainThread.cpp b/dom/xhr/XMLHttpRequestMainThread.cpp index 38313469103d..f8e589fec1b6 100644 --- a/dom/xhr/XMLHttpRequestMainThread.cpp +++ b/dom/xhr/XMLHttpRequestMainThread.cpp @@ -2948,7 +2948,7 @@ XMLHttpRequestMainThread::SendInternal(const BodyExtractorBase* aBody) mIsMappedArrayBuffer = false; if (mResponseType == XMLHttpRequestResponseType::Arraybuffer && - Preferences::GetBool("dom.mapped_arraybuffer.enabled", true)) { + IsMappedArrayBufferEnabled()) { nsCOMPtr uri; nsAutoCString scheme; @@ -3049,6 +3049,40 @@ XMLHttpRequestMainThread::SendInternal(const BodyExtractorBase* aBody) return rv; } +/* static */ +bool +XMLHttpRequestMainThread::IsMappedArrayBufferEnabled() +{ + static bool sMappedArrayBufferAdded = false; + static bool sIsMappedArrayBufferEnabled; + + if (!sMappedArrayBufferAdded) { + Preferences::AddBoolVarCache(&sIsMappedArrayBufferEnabled, + "dom.mapped_arraybuffer.enabled", + true); + sMappedArrayBufferAdded = true; + } + + return sIsMappedArrayBufferEnabled; +} + +/* static */ +bool +XMLHttpRequestMainThread::IsLowercaseResponseHeader() +{ + static bool sLowercaseResponseHeaderAdded = false; + static bool sIsLowercaseResponseHeaderEnabled; + + if (!sLowercaseResponseHeaderAdded) { + Preferences::AddBoolVarCache(&sIsLowercaseResponseHeaderEnabled, + "dom.xhr.lowercase_header.enabled", + false); + sLowercaseResponseHeaderAdded = true; + } + + return sIsLowercaseResponseHeaderEnabled; +} + // http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-setrequestheader NS_IMETHODIMP XMLHttpRequestMainThread::SetRequestHeader(const nsACString& aName, @@ -3767,7 +3801,7 @@ NS_IMETHODIMP XMLHttpRequestMainThread:: nsHeaderVisitor::VisitHeader(const nsACString &header, const nsACString &value) { if (mXHR.IsSafeHeader(header, mHttpChannel)) { - if (!Preferences::GetBool("dom.xhr.lowercase_header.enabled", false)) { + if (!IsLowercaseResponseHeader()) { if(!mHeaderList.InsertElementSorted(HeaderEntry(header, value), fallible)) { return NS_ERROR_OUT_OF_MEMORY; diff --git a/dom/xhr/XMLHttpRequestMainThread.h b/dom/xhr/XMLHttpRequestMainThread.h index 9821a8baf358..637aa164c1b1 100644 --- a/dom/xhr/XMLHttpRequestMainThread.h +++ b/dom/xhr/XMLHttpRequestMainThread.h @@ -306,6 +306,14 @@ private: void UnsuppressEventHandlingAndResume(); + // Check pref "dom.mapped_arraybuffer.enabled" to make sure ArrayBuffer is + // supported. + static bool IsMappedArrayBufferEnabled(); + + // Check pref "dom.xhr.lowercase_header.enabled" to make sure lowercased + // response header is supported. + static bool IsLowercaseResponseHeader(); + public: virtual void Send(JSContext* /*aCx*/, ErrorResult& aRv) override From 73b521bf6ceb6863c75d125fd3647108373ff1b7 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:56 +0100 Subject: [PATCH 03/38] Bug 1351358 Part 1: Add flag to nsISHEntry to indicate if it was originally loaded in this process. r=bz This flag is for when we've loaded a URI in a remote type that is not the default for compatibility reasons (for example related http in the file content process). So that we can load the history entry in that same process as well. --- docshell/shistory/nsISHEntry.idl | 6 ++++++ docshell/shistory/nsSHEntry.cpp | 11 +++++++++++ docshell/shistory/nsSHEntry.h | 1 + 3 files changed, 18 insertions(+) diff --git a/docshell/shistory/nsISHEntry.idl b/docshell/shistory/nsISHEntry.idl index b0b8b8b7eaac..2679cc735e96 100644 --- a/docshell/shistory/nsISHEntry.idl +++ b/docshell/shistory/nsISHEntry.idl @@ -328,6 +328,12 @@ interface nsISHEntry : nsISupports */ attribute boolean scrollRestorationIsManual; + /** + * Flag to indicate that the history entry was originally loaded in the + * current process. This flag does not survive a browser process switch. + */ + readonly attribute boolean loadedInThisProcess; + /** * Set the session history it belongs to. It's only set on root entries. */ diff --git a/docshell/shistory/nsSHEntry.cpp b/docshell/shistory/nsSHEntry.cpp index 3df9f2fb1b7c..192a876a389a 100644 --- a/docshell/shistory/nsSHEntry.cpp +++ b/docshell/shistory/nsSHEntry.cpp @@ -37,6 +37,7 @@ nsSHEntry::nsSHEntry() , mURIWasModified(false) , mIsSrcdocEntry(false) , mScrollRestorationIsManual(false) + , mLoadedInThisProcess(false) { } @@ -60,6 +61,7 @@ nsSHEntry::nsSHEntry(const nsSHEntry& aOther) , mURIWasModified(aOther.mURIWasModified) , mIsSrcdocEntry(aOther.mIsSrcdocEntry) , mScrollRestorationIsManual(false) + , mLoadedInThisProcess(aOther.mLoadedInThisProcess) { } @@ -460,6 +462,8 @@ nsSHEntry::Create(nsIURI* aURI, const nsAString& aTitle, mIsSrcdocEntry = false; mSrcdocData = NullString(); + mLoadedInThisProcess = true; + return NS_OK; } @@ -645,6 +649,13 @@ nsSHEntry::SetScrollRestorationIsManual(bool aIsManual) return NS_OK; } +NS_IMETHODIMP +nsSHEntry::GetLoadedInThisProcess(bool* aLoadedInThisProcess) +{ + *aLoadedInThisProcess = mLoadedInThisProcess; + return NS_OK; +} + NS_IMETHODIMP nsSHEntry::GetChildCount(int32_t* aCount) { diff --git a/docshell/shistory/nsSHEntry.h b/docshell/shistory/nsSHEntry.h index f5dfcb2ca789..9c1f4587b982 100644 --- a/docshell/shistory/nsSHEntry.h +++ b/docshell/shistory/nsSHEntry.h @@ -64,6 +64,7 @@ private: bool mURIWasModified; bool mIsSrcdocEntry; bool mScrollRestorationIsManual; + bool mLoadedInThisProcess; }; #endif /* nsSHEntry_h */ From 47421837bf1fa8b7521be5c9e9891e00680c2301 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:56 +0100 Subject: [PATCH 04/38] Bug 1351358 Part 2: Limit the http pages that will load in the file content process with allowLinkedWebInFileUriProcess pref. r=Gijs, r=mystor This change means that any related http pages driven through content (window.open, links, etc.) will continue to be loaded in the file content process. Same-origin loads via the UI will also remain in the file content process. Cross-origin loads via the UI will cause a process switch. History navigation will stay in the process, if it was originally loaded in that process. --- browser/base/content/browser.js | 4 +- browser/base/content/tabbrowser.xml | 1 + .../components/sessionstore/SessionStore.jsm | 65 ++++++++++--------- browser/modules/E10SUtils.jsm | 46 +++++++++++-- 4 files changed, 76 insertions(+), 40 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index fb05b42ff935..00d854c3eed9 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1017,7 +1017,8 @@ function _loadURIWithFlags(browser, uri, params) { let currentRemoteType = browser.remoteType; let requiredRemoteType = - E10SUtils.getRemoteTypeForURI(uri, gMultiProcessBrowser, currentRemoteType); + E10SUtils.getRemoteTypeForURI(uri, gMultiProcessBrowser, currentRemoteType, + browser.currentURI); let mustChangeProcess = requiredRemoteType != currentRemoteType; // !requiredRemoteType means we're loading in the parent/this process. @@ -1052,6 +1053,7 @@ function _loadURIWithFlags(browser, uri, params) { flags, referrer: referrer ? referrer.spec : null, referrerPolicy, + remoteType: requiredRemoteType, postData } diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index 63a49afe1b85..e5278d47c6c8 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -1854,6 +1854,7 @@ E10SUtils.getRemoteTypeForURI(aURL, gMultiProcessBrowser, preferredRemoteType, + aBrowser.currentURI, aOptions.freshProcess); // If this URL can't load in the current browser then flip it to the diff --git a/browser/components/sessionstore/SessionStore.jsm b/browser/components/sessionstore/SessionStore.jsm index c53f1f4bc3ee..eaee455af04f 100644 --- a/browser/components/sessionstore/SessionStore.jsm +++ b/browser/components/sessionstore/SessionStore.jsm @@ -2888,6 +2888,7 @@ var SessionStoreInternal = { // whether or not a historyIndex is passed in. Thus, we extract it from // the loadArguments. reloadInFreshProcess: !!recentLoadArguments.reloadInFreshProcess, + remoteType: recentLoadArguments.remoteType, // Make sure that SessionStore knows that this restoration is due // to a navigation, as opposed to us restoring a closed window or tab. restoreContentReason: RESTORE_TAB_CONTENT_REASON.NAVIGATE_AND_RESTORE, @@ -3536,18 +3537,14 @@ var SessionStoreInternal = { NS_ASSERT(!tab.linkedBrowser.__SS_restoreState, "must reset tab before calling restoreTab()"); - let restoreImmediately = options.restoreImmediately; let loadArguments = options.loadArguments; let browser = tab.linkedBrowser; let window = tab.ownerGlobal; let tabbrowser = window.gBrowser; let forceOnDemand = options.forceOnDemand; - let reloadInFreshProcess = options.reloadInFreshProcess; - let restoreContentReason = options.restoreContentReason; - let willRestoreImmediately = restoreImmediately || - tabbrowser.selectedBrowser == browser || - loadArguments; + let willRestoreImmediately = options.restoreImmediately || + tabbrowser.selectedBrowser == browser; let isBrowserInserted = browser.isConnected; @@ -3666,8 +3663,7 @@ var SessionStoreInternal = { // This could cause us to ignore MAX_CONCURRENT_TAB_RESTORES a bit, but // it ensures each window will have its selected tab loaded. if (willRestoreImmediately) { - this.restoreTabContent(tab, loadArguments, reloadInFreshProcess, - restoreContentReason); + this.restoreTabContent(tab, options); } else if (!forceOnDemand) { TabRestoreQueue.add(tab); this.restoreNextTab(); @@ -3709,18 +3705,12 @@ var SessionStoreInternal = { * * @param aTab * the tab to restore - * @param aLoadArguments - * optional load arguments used for loadURI() - * @param aReloadInFreshProcess - * true if we want to reload into a fresh process - * @param aReason - * The reason for why this tab content is being restored. - * Should be one of the values within RESTORE_TAB_CONTENT_REASON. - * Defaults to RESTORE_TAB_CONTENT_REASON.SET_STATE. + * @param aOptions + * optional arguments used when performing process switch during load */ - restoreTabContent(aTab, aLoadArguments = null, aReloadInFreshProcess = false, - aReason = RESTORE_TAB_CONTENT_REASON.SET_STATE) { - if (aTab.hasAttribute("customizemode") && !aLoadArguments) { + restoreTabContent(aTab, aOptions = {}) { + let loadArguments = aOptions.loadArguments; + if (aTab.hasAttribute("customizemode") && !loadArguments) { return; } @@ -3731,10 +3721,10 @@ var SessionStoreInternal = { let activeIndex = tabData.index - 1; let activePageData = tabData.entries[activeIndex] || null; let uri = activePageData ? activePageData.url || null : null; - if (aLoadArguments) { - uri = aLoadArguments.uri; - if (aLoadArguments.userContextId) { - browser.setAttribute("usercontextid", aLoadArguments.userContextId); + if (loadArguments) { + uri = loadArguments.uri; + if (loadArguments.userContextId) { + browser.setAttribute("usercontextid", loadArguments.userContextId); } } @@ -3748,12 +3738,21 @@ var SessionStoreInternal = { // process, or we have a browser with a grouped session history (as we don't // support restoring into browsers with grouped session histories directly). let newFrameloader = - aReloadInFreshProcess || !!browser.frameLoader.groupedSHistory; - let isRemotenessUpdate = - tabbrowser.updateBrowserRemotenessByURL(browser, uri, { - freshProcess: aReloadInFreshProcess, - newFrameloader, - }); + aOptions.reloadInFreshProcess || !!browser.frameLoader.groupedSHistory; + + let isRemotenessUpdate; + if (aOptions.remoteType !== undefined) { + // We already have a selected remote type so we update to that. + isRemotenessUpdate = + tabbrowser.updateBrowserRemoteness(browser, !!aOptions.remoteType, + { remoteType: aOptions.remoteType, + newFrameloader }); + } else { + isRemotenessUpdate = + tabbrowser.updateBrowserRemotenessByURL(browser, uri, { + newFrameloader, + }); + } if (isRemotenessUpdate) { // We updated the remoteness, so we need to send the history down again. @@ -3766,7 +3765,7 @@ var SessionStoreInternal = { this._sendRestoreHistory(browser, { tabData, epoch, - loadArguments: aLoadArguments, + loadArguments, isRemotenessUpdate, }); } @@ -3778,8 +3777,10 @@ var SessionStoreInternal = { } browser.messageManager.sendAsyncMessage("SessionStore:restoreTabContent", - {loadArguments: aLoadArguments, isRemotenessUpdate, - reason: aReason, requestTime: Services.telemetry.msSystemNow()}); + {loadArguments, isRemotenessUpdate, + reason: aOptions.restoreContentReason || + RESTORE_TAB_CONTENT_REASON.SET_STATE, + requestTime: Services.telemetry.msSystemNow()}); }, /** diff --git a/browser/modules/E10SUtils.jsm b/browser/modules/E10SUtils.jsm index 18e0936a6b7d..8d3956849a50 100644 --- a/browser/modules/E10SUtils.jsm +++ b/browser/modules/E10SUtils.jsm @@ -46,7 +46,7 @@ const EXTENSION_REMOTE_TYPE = "extension"; const LARGE_ALLOCATION_REMOTE_TYPE = "webLargeAllocation"; const DEFAULT_REMOTE_TYPE = WEB_REMOTE_TYPE; -function validatedWebRemoteType(aPreferredRemoteType) { +function validatedWebRemoteType(aPreferredRemoteType, aTargetUri, aCurrentUri) { if (!aPreferredRemoteType) { return WEB_REMOTE_TYPE; } @@ -57,7 +57,20 @@ function validatedWebRemoteType(aPreferredRemoteType) { if (allowLinkedWebInFileUriProcess && aPreferredRemoteType == FILE_REMOTE_TYPE) { - return aPreferredRemoteType; + // If aCurrentUri is passed then we should only allow FILE_REMOTE_TYPE + // when it is same origin as target. + if (aCurrentUri) { + const sm = Services.scriptSecurityManager; + try { + // checkSameOriginURI throws when not same origin. + sm.checkSameOriginURI(aCurrentUri, aTargetUri, false); + return FILE_REMOTE_TYPE; + } catch (e) { + return WEB_REMOTE_TYPE; + } + } + + return FILE_REMOTE_TYPE; } return WEB_REMOTE_TYPE; @@ -79,6 +92,7 @@ this.E10SUtils = { getRemoteTypeForURI(aURL, aMultiProcess, aPreferredRemoteType = DEFAULT_REMOTE_TYPE, + aCurrentUri, aLargeAllocation = false) { if (!aMultiProcess) { return NOT_REMOTE; @@ -95,7 +109,7 @@ this.E10SUtils = { let uri; try { - uri = Services.io.newURI(aURL); + uri = Services.uriFixup.createFixupURI(aURL, Ci.nsIURIFixup.FIXUP_FLAG_NONE); } catch (e) { // If we have an invalid URI, it's still possible that it might get // fixed-up into a valid URI later on. However, we don't want to return @@ -105,11 +119,12 @@ this.E10SUtils = { } return this.getRemoteTypeForURIObject(uri, aMultiProcess, - aPreferredRemoteType); + aPreferredRemoteType, aCurrentUri); }, getRemoteTypeForURIObject(aURI, aMultiProcess, - aPreferredRemoteType = DEFAULT_REMOTE_TYPE) { + aPreferredRemoteType = DEFAULT_REMOTE_TYPE, + aCurrentUri) { if (!aMultiProcess) { return NOT_REMOTE; } @@ -182,10 +197,11 @@ this.E10SUtils = { if (aURI instanceof Ci.nsINestedURI) { let innerURI = aURI.QueryInterface(Ci.nsINestedURI).innerURI; return this.getRemoteTypeForURIObject(innerURI, aMultiProcess, - aPreferredRemoteType); + aPreferredRemoteType, + aCurrentUri); } - return validatedWebRemoteType(aPreferredRemoteType); + return validatedWebRemoteType(aPreferredRemoteType, aURI, aCurrentUri); } }, @@ -210,6 +226,22 @@ this.E10SUtils = { return false; } + // Allow history load if loaded in this process before. + let webNav = aDocShell.QueryInterface(Ci.nsIWebNavigation); + let sessionHistory = webNav.sessionHistory; + let requestedIndex = sessionHistory.requestedIndex; + if (requestedIndex >= 0) { + if (sessionHistory.getEntryAtIndex(requestedIndex, false).loadedInThisProcess) { + return true; + } + + // If not originally loaded in this process allow it if the URI would + // normally be allowed to load in this process by default. + let remoteType = Services.appinfo.remoteType; + return remoteType == + this.getRemoteTypeForURIObject(aURI, true, remoteType, webNav.currentURI); + } + // If the URI can be loaded in the current process then continue return this.shouldLoadURIInThisProcess(aURI); }, From d0c57d84c12b1475e9f7c5dc7312a7872001f91b Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:56 +0100 Subject: [PATCH 05/38] Bug 1351358 Part 2.5: Move logic in the parent for switching in and out of Large Allocation process into browser.js RedirectLoad. r=mystor This fixes a bug where we swap out of the Large Allocation process, when reloaded via the UI. --- browser/base/content/browser.js | 12 ++++++++++++ browser/base/content/tabbrowser.xml | 12 ++---------- browser/components/sessionstore/SessionStore.jsm | 10 +++++----- browser/modules/E10SUtils.jsm | 7 +------ 4 files changed, 20 insertions(+), 21 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 00d854c3eed9..bb5f420603cf 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1099,6 +1099,18 @@ function LoadInOtherProcess(browser, loadOptions, historyIndex = -1) { // Called when a docshell has attempted to load a page in an incorrect process. // This function is responsible for loading the page in the correct process. function RedirectLoad({ target: browser, data }) { + if (data.loadOptions.reloadInFreshProcess) { + // Convert the fresh process load option into a large allocation remote type + // to use common processing from this point. + data.loadOptions.remoteType = E10SUtils.LARGE_ALLOCATION_REMOTE_TYPE; + data.loadOptions.newFrameloader = true; + } else if (browser.remoteType == E10SUtils.LARGE_ALLOCATION_REMOTE_TYPE) { + // If we're in a Large-Allocation process, we prefer switching back into a + // normal content process, as that way we can clean up the L-A process. + data.loadOptions.remoteType = + E10SUtils.getRemoteTypeForURI(data.loadOptions.uri, gMultiProcessBrowser); + } + // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index e5278d47c6c8..bea66300b69a 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -1841,21 +1841,13 @@ if (!gMultiProcessBrowser) return this.updateBrowserRemoteness(aBrowser, false); - // If we're in a LargeAllocation process, we prefer switching back - // into a normal content process, as that way we can clean up the - // L-A process. let currentRemoteType = aBrowser.getAttribute("remoteType") || null; - let preferredRemoteType = currentRemoteType; - if (currentRemoteType == E10SUtils.LARGE_ALLOCATION_REMOTE_TYPE) { - preferredRemoteType = E10SUtils.DEFAULT_REMOTE_TYPE; - } aOptions.remoteType = E10SUtils.getRemoteTypeForURI(aURL, gMultiProcessBrowser, - preferredRemoteType, - aBrowser.currentURI, - aOptions.freshProcess); + currentRemoteType, + aBrowser.currentURI); // If this URL can't load in the current browser then flip it to the // correct type. diff --git a/browser/components/sessionstore/SessionStore.jsm b/browser/components/sessionstore/SessionStore.jsm index eaee455af04f..321c56bd8788 100644 --- a/browser/components/sessionstore/SessionStore.jsm +++ b/browser/components/sessionstore/SessionStore.jsm @@ -2887,7 +2887,7 @@ var SessionStoreInternal = { // We want to make sure that this information is passed to restoreTab // whether or not a historyIndex is passed in. Thus, we extract it from // the loadArguments. - reloadInFreshProcess: !!recentLoadArguments.reloadInFreshProcess, + newFrameloader: recentLoadArguments.newFrameloader, remoteType: recentLoadArguments.remoteType, // Make sure that SessionStore knows that this restoration is due // to a navigation, as opposed to us restoring a closed window or tab. @@ -3734,11 +3734,11 @@ var SessionStoreInternal = { // flip the remoteness of any browser that is not being displayed. this.markTabAsRestoring(aTab); - // We need a new frameloader either if we are reloading into a fresh - // process, or we have a browser with a grouped session history (as we don't - // support restoring into browsers with grouped session histories directly). + // We need a new frameloader if we are reloading into a browser with a + // grouped session history (as we don't support restoring into browsers + // with grouped session histories directly). let newFrameloader = - aOptions.reloadInFreshProcess || !!browser.frameLoader.groupedSHistory; + aOptions.newFrameloader || !!browser.frameLoader.groupedSHistory; let isRemotenessUpdate; if (aOptions.remoteType !== undefined) { diff --git a/browser/modules/E10SUtils.jsm b/browser/modules/E10SUtils.jsm index 8d3956849a50..da0e18c0186c 100644 --- a/browser/modules/E10SUtils.jsm +++ b/browser/modules/E10SUtils.jsm @@ -92,16 +92,11 @@ this.E10SUtils = { getRemoteTypeForURI(aURL, aMultiProcess, aPreferredRemoteType = DEFAULT_REMOTE_TYPE, - aCurrentUri, - aLargeAllocation = false) { + aCurrentUri) { if (!aMultiProcess) { return NOT_REMOTE; } - if (aLargeAllocation) { - return LARGE_ALLOCATION_REMOTE_TYPE; - } - // loadURI in browser.xml treats null as about:blank if (!aURL) { aURL = "about:blank"; From 4ed9410b46131195b4b6688a57de6364776d5739 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 06/38] Bug 1351358 Part 3: In tabbrowser.xml adoptTab, make sure the new tab is in the same process as adoptee. r=Gijs This ensures that we never get a short-lived process for the new tab, which can happen if we are not at the maximum for that remote type. We also set the correct remoteType. --- browser/base/content/tabbrowser.xml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index bea66300b69a..672fafecda29 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -3597,21 +3597,19 @@ Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 07/38] Bug 1351358 Part 4: Select correct remote type upfront when passed window arguments in browser.js onDCL. r=Gijs This prevents short-lived processes when we are not at the maximum normal content process count and the new window's first tab is not going to load in that remote type. --- browser/base/content/browser.js | 44 ++++++++++++++++++++++++----- browser/base/content/tabbrowser.xml | 11 +++++--- 2 files changed, 44 insertions(+), 11 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index bb5f420603cf..8b104738b51e 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -1150,17 +1150,47 @@ addEventListener("DOMContentLoaded", function onDCL() { let initBrowser = document.getAnonymousElementByAttribute(gBrowser, "anonid", "initialBrowser"); - // The window's first argument is a tab if and only if we are swapping tabs. - // We must set the browser's usercontextid before updateBrowserRemoteness(), - // so that the newly created remote tab child has the correct usercontextid. + // remoteType and sameProcessAsFrameLoader are passed through to + // updateBrowserRemoteness as part of an options object, which itself defaults + // to an empty object. So defaulting them to undefined here will cause the + // default behavior in updateBrowserRemoteness if they don't get set. + let isRemote = gMultiProcessBrowser; + let remoteType; + let sameProcessAsFrameLoader; if (window.arguments) { - let tabToOpen = window.arguments[0]; - if (tabToOpen instanceof XULElement && tabToOpen.hasAttribute("usercontextid")) { - initBrowser.setAttribute("usercontextid", tabToOpen.getAttribute("usercontextid")); + let argToLoad = window.arguments[0]; + if (argToLoad instanceof XULElement) { + // The window's first argument is a tab if and only if we are swapping tabs. + // We must set the browser's usercontextid before updateBrowserRemoteness(), + // so that the newly created remote tab child has the correct usercontextid. + if (argToLoad.hasAttribute("usercontextid")) { + initBrowser.setAttribute("usercontextid", + argToLoad.getAttribute("usercontextid")); + } + + let linkedBrowser = argToLoad.linkedBrowser; + if (linkedBrowser) { + remoteType = linkedBrowser.remoteType; + isRemote = remoteType != E10SUtils.NOT_REMOTE; + sameProcessAsFrameLoader = linkedBrowser.frameLoader; + } + } else if (argToLoad instanceof String) { + // argToLoad is String, so should be a URL. + remoteType = E10SUtils.getRemoteTypeForURI(argToLoad, gMultiProcessBrowser); + isRemote = remoteType != E10SUtils.NOT_REMOTE; + } else if (argToLoad instanceof Ci.nsIArray) { + // argToLoad is nsIArray, so should be an array of URLs, set the remote + // type for the initial browser to match the first one. + let urisstring = argToLoad.queryElementAt(0, Ci.nsISupportsString); + remoteType = E10SUtils.getRemoteTypeForURI(urisstring.data, + gMultiProcessBrowser); + isRemote = remoteType != E10SUtils.NOT_REMOTE; } } - gBrowser.updateBrowserRemoteness(initBrowser, gMultiProcessBrowser); + gBrowser.updateBrowserRemoteness(initBrowser, isRemote, { + remoteType, sameProcessAsFrameLoader + }); }); let _resolveDelayedStartup; diff --git a/browser/base/content/tabbrowser.xml b/browser/base/content/tabbrowser.xml index 672fafecda29..4e00f176219e 100644 --- a/browser/base/content/tabbrowser.xml +++ b/browser/base/content/tabbrowser.xml @@ -1753,10 +1753,13 @@ } // NB: This works with the hack in the browser constructor that - // turns this normal property into a field. When switching remote - // type copying related browser would stop the switch and the - // previously related browser will no longer be relevant. - if (!aShouldBeRemote || currentRemoteType == aOptions.remoteType) { + // turns this normal property into a field. + if (aOptions.sameProcessAsFrameLoader) { + // Always set sameProcessAsFrameLoader when passed in aOptions. + aBrowser.sameProcessAsFrameLoader = aOptions.sameProcessAsFrameLoader; + } else if (!aShouldBeRemote || currentRemoteType == aOptions.remoteType) { + // Only copy existing sameProcessAsFrameLoader when not switching + // remote type otherwise it would stop the switch. aBrowser.sameProcessAsFrameLoader = sameProcessAsFrameLoader; } From f4b667085ded3eb635ff0009a0af950a492eb249 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 08/38] Bug 1351358 Part 5: Enable pref allowLinkedWebInFileUriProcess to allow related http(s) content to top level load in file content process. r=Gijs --- modules/libpref/init/all.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 9b4f9ceeb27d..3b77f5905522 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -3143,7 +3143,7 @@ pref("browser.tabs.remote.separateFileUriProcess", false); // This has been added in case breaking any window references between these // sorts of pages, which we have to do when we run them in the normal web // content process, causes compatibility issues. -pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", false); +pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", true); // Enable caching of Moz2D Path objects for SVG geometry elements pref("svg.path-caching.enabled", true); From ab8c1ce4b13948b2a8005981ccf6d049c584e5c0 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 09/38] Bug 1351358 Part 6 prologue: Allow BrowserTestUtils.waitForNewTab to optionally wait for the page in the new tab to load. r=Gijs --- .../BrowserTestUtils/BrowserTestUtils.jsm | 34 +++++++++++++++---- 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm b/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm index 0edcdadf7742..336b7724427e 100644 --- a/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm +++ b/testing/mochitest/BrowserTestUtils/BrowserTestUtils.jsm @@ -359,26 +359,48 @@ this.BrowserTestUtils = { * The tabbrowser to look for the next new tab in. * @param {string} url * A string URL to look for in the new tab. If null, allows any non-blank URL. + * @param {boolean} waitForLoad + * True to wait for the page in the new tab to load. Defaults to false. * * @return {Promise} - * @resolves With the {xul:tab} when a tab is opened and its location changes to the given URL. + * @resolves With the {xul:tab} when a tab is opened and its location changes + * to the given URL and optionally that browser has loaded. * * NB: this method will not work if you open a new tab with e.g. BrowserOpenTab * and the tab does not load a URL, because no onLocationChange will fire. */ - waitForNewTab(tabbrowser, url) { + waitForNewTab(tabbrowser, url, waitForLoad = false) { + let urlMatches = url ? (urlToMatch) => urlToMatch == url + : (urlToMatch) => urlToMatch != "about:blank"; return new Promise((resolve, reject) => { tabbrowser.tabContainer.addEventListener("TabOpen", function(openEvent) { + let newTab = openEvent.target; + let newBrowser = newTab.linkedBrowser; + let result; + if (waitForLoad) { + // If waiting for load, resolve with promise for that, which when load + // completes resolves to the new tab. + result = BrowserTestUtils.browserLoaded(newBrowser, false, urlMatches) + .then(() => newTab); + } else { + // If not waiting for load, just resolve with the new tab. + result = newTab; + } + let progressListener = { onLocationChange(aBrowser) { - if (aBrowser != openEvent.target.linkedBrowser || - (url && aBrowser.currentURI.spec != url) || - (!url && aBrowser.currentURI.spec == "about:blank")) { + // Only interested in location changes on our browser. + if (aBrowser != newBrowser) { + return; + } + + // Check that new location is the URL we want. + if (!urlMatches(aBrowser.currentURI.spec)) { return; } tabbrowser.removeTabsProgressListener(progressListener); - resolve(openEvent.target); + resolve(result); }, }; tabbrowser.addTabsProgressListener(progressListener); From 170184d1c2efe060b720a520f10b96309b423bb5 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 10/38] Bug 1351358 Part 6: Include more tests cases for allowLinkedWebInFileUriProcess pref. r=Gijs --- ...rowser_new_web_tab_in_file_process_pref.js | 121 ++++++++++++++++-- 1 file changed, 110 insertions(+), 11 deletions(-) diff --git a/browser/base/content/test/tabs/browser_new_web_tab_in_file_process_pref.js b/browser/base/content/test/tabs/browser_new_web_tab_in_file_process_pref.js index f42c239da9ab..87b60271d94f 100644 --- a/browser/base/content/test/tabs/browser_new_web_tab_in_file_process_pref.js +++ b/browser/base/content/test/tabs/browser_new_web_tab_in_file_process_pref.js @@ -3,6 +3,19 @@ const TEST_FILE = "dummy_page.html"; const TEST_HTTP = "http://example.org/"; +const TEST_CROSS_ORIGIN = "http://example.com/"; + +function CheckBrowserInPid(browser, expectedPid, message) { + return ContentTask.spawn(browser, { expectedPid, message }, (arg) => { + is(Services.appinfo.processID, arg.expectedPid, arg.message); + }); +} + +function CheckBrowserNotInPid(browser, unExpectedPid, message) { + return ContentTask.spawn(browser, { unExpectedPid, message }, (arg) => { + isnot(Services.appinfo.processID, arg.unExpectedPid, arg.message); + }); +} // Test for bug 1343184. add_task(async function() { @@ -11,29 +24,115 @@ add_task(async function() { dir.append(TEST_FILE); const uriString = Services.io.newFileURI(dir).spec; await BrowserTestUtils.withNewTab(uriString, async function(fileBrowser) { - // Set prefs to ensure file content process and to allow linked web content - // in file URI process. + // Set prefs to ensure file content process, to allow linked web content + // in file URI process and allow more that one file content process. await SpecialPowers.pushPrefEnv( {set: [["browser.tabs.remote.separateFileUriProcess", true], - ["browser.tabs.remote.allowLinkedWebInFileUriProcess", true]]}); + ["browser.tabs.remote.allowLinkedWebInFileUriProcess", true], + ["dom.ipc.processCount.file", 2]]}); - // Open new http tab from JavaScript in file:// page. - let promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, TEST_HTTP); + // Get the file:// URI pid for comparison later. + let filePid = await ContentTask.spawn(fileBrowser, null, () => { + return Services.appinfo.processID; + }); + + // Check that http tab opened from JS in file:// page is in same process. + let promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, TEST_HTTP, true); await ContentTask.spawn(fileBrowser, TEST_HTTP, uri => { content.open(uri, "_blank"); }); let httpTab = await promiseTabOpened; + let httpBrowser = httpTab.linkedBrowser; registerCleanupFunction(async function() { await BrowserTestUtils.removeTab(httpTab); }); + await CheckBrowserInPid(httpBrowser, filePid, + "Check that new http tab opened from file loaded in file content process."); - // Ensure that http browser is running in the same process as the file:// one. - let filePid = await ContentTask.spawn(fileBrowser, null, () => { + // Check that reload doesn't break the file content process affinity. + if (httpTab != gBrowser.selectedTab) { + httpTab = await BrowserTestUtils.switchTab(gBrowser, httpTab); + httpBrowser = httpTab.linkedBrowser; + } + let promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + document.getElementById("reload-button").doCommand(); + await promiseLoad; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after reload."); + + // Check that same-origin load doesn't break the affinity. + promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + httpBrowser.loadURI(TEST_HTTP + "foo"); + await promiseLoad; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after same origin load."); + + // Check that history back doesn't break the affinity. + let promiseLocation = + BrowserTestUtils.waitForLocationChange(gBrowser, TEST_HTTP); + httpBrowser.goBack(); + await promiseLocation; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after history back."); + + // Check that history forward doesn't break the affinity. + promiseLocation = + BrowserTestUtils.waitForLocationChange(gBrowser, TEST_HTTP + "foo"); + promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + httpBrowser.goForward(); + await promiseLocation; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after history forward."); + + // Check that goto history index doesn't break the affinity. + promiseLocation = BrowserTestUtils.waitForLocationChange(gBrowser, TEST_HTTP); + httpBrowser.gotoIndex(0); + await promiseLocation; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after history gotoIndex."); + + // Check that file:// URI load doesn't break the affinity. + promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + httpBrowser.loadURI(uriString); + await promiseLoad; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after file:// load."); + + // Check that location change doesn't break the affinity. + promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + await ContentTask.spawn(httpBrowser, TEST_HTTP, uri => { + content.location = uri; + }); + await promiseLoad; + await CheckBrowserInPid(httpBrowser, filePid, + "Check that http tab still in file content process after location change."); + + // Check that cross-origin load does break the affinity. + promiseLoad = BrowserTestUtils.browserLoaded(httpBrowser); + httpBrowser.loadURI(TEST_CROSS_ORIGIN); + await promiseLoad; + await CheckBrowserNotInPid(httpBrowser, filePid, + "Check that http tab not in file content process after cross origin load."); + is(httpBrowser.remoteType, E10SUtils.WEB_REMOTE_TYPE, + "Check that tab now has web remote type."); + + // Check that history back now remains in the web content process. + let httpPid = await ContentTask.spawn(httpBrowser, null, () => { return Services.appinfo.processID; }); - await ContentTask.spawn(httpTab.linkedBrowser, filePid, (expectedPid) => { - is(Services.appinfo.processID, expectedPid, - "Check that new http page opened from file loaded in file content process."); - }); + promiseLocation = BrowserTestUtils.waitForLocationChange(gBrowser, TEST_HTTP); + httpBrowser.goBack(); + await promiseLocation; + await CheckBrowserInPid(httpBrowser, httpPid, + "Check that http tab still in web content process after process switch and history back."); + + // Check that history back to file:// URI switches to file content process. + promiseLocation = BrowserTestUtils.waitForLocationChange(gBrowser, uriString); + httpBrowser.goBack(); + await promiseLocation; + await CheckBrowserNotInPid(httpBrowser, httpPid, + "Check that history back to file:// URI switches to file content process."); + is(httpBrowser.remoteType, E10SUtils.FILE_REMOTE_TYPE, + "Check that tab now has file remote type."); }); }); From 5f86d7bfd2c1ed1af2d78e3ecf859d882320830e Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:57 +0100 Subject: [PATCH 11/38] Bug 1351358 Part 7: Check that we can form post from file:// URL to http:// URL. r=bz --- dom/html/test/browser.ini | 4 + .../browser_form_post_from_file_to_http.js | 105 ++++++++++++++++++ dom/html/test/form_data_file.bin | 1 + dom/html/test/form_data_file.txt | 1 + 4 files changed, 111 insertions(+) create mode 100644 dom/html/test/browser_form_post_from_file_to_http.js create mode 100644 dom/html/test/form_data_file.bin create mode 100644 dom/html/test/form_data_file.txt diff --git a/dom/html/test/browser.ini b/dom/html/test/browser.ini index 49caea726c08..34a32b833652 100644 --- a/dom/html/test/browser.ini +++ b/dom/html/test/browser.ini @@ -6,6 +6,9 @@ support-files = file_bug649778.html^headers^ file_fullscreen-api-keys.html file_content_contextmenu.html + form_data_file.bin + form_data_file.txt + form_submit_server.sjs head.js [browser_bug592641.js] @@ -19,6 +22,7 @@ support-files = file_bug1108547-3.html [browser_content_contextmenu_userinput.js] [browser_DOMDocElementInserted.js] +[browser_form_post_from_file_to_http.js] [browser_fullscreen-api-keys.js] tags = fullscreen [browser_fullscreen-contextmenu-esc.js] diff --git a/dom/html/test/browser_form_post_from_file_to_http.js b/dom/html/test/browser_form_post_from_file_to_http.js new file mode 100644 index 000000000000..c6c3826b4285 --- /dev/null +++ b/dom/html/test/browser_form_post_from_file_to_http.js @@ -0,0 +1,105 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ + +const TEST_HTTP_POST = + "http://example.org/browser/dom/html/test/form_submit_server.sjs"; + +// Test for bug 1351358. +add_task(async function() { + // Create file URI and test data file paths. + let testFile = getChromeDir(getResolvedURI(gTestPath)); + testFile.append("dummy_page.html"); + const fileUriString = Services.io.newFileURI(testFile).spec; + let filePaths = []; + testFile.leafName = "form_data_file.txt"; + filePaths.push(testFile.path); + testFile.leafName = "form_data_file.bin"; + filePaths.push(testFile.path); + + // Open file:// page tab in which to run the test. + await BrowserTestUtils.withNewTab(fileUriString, async function(fileBrowser) { + + // Create a form to post to server that writes posted data into body as JSON. + let promiseLoad = BrowserTestUtils.browserLoaded(fileBrowser, false, + TEST_HTTP_POST); + await ContentTask.spawn(fileBrowser, [TEST_HTTP_POST, filePaths], + ([actionUri, filePaths]) => { + Components.utils.importGlobalProperties(["File"]); + + let doc = content.document; + let form = doc.body.appendChild(doc.createElement("form")); + form.action = actionUri; + form.method = "POST"; + form.enctype = "multipart/form-data"; + + let inputText = form.appendChild(doc.createElement("input")); + inputText.type = "text"; + inputText.name = "text"; + inputText.value = "posted"; + + let inputCheckboxOn = form.appendChild(doc.createElement("input")); + inputCheckboxOn.type = "checkbox"; + inputCheckboxOn.name = "checked"; + inputCheckboxOn.checked = true; + + let inputCheckboxOff = form.appendChild(doc.createElement("input")); + inputCheckboxOff.type = "checkbox"; + inputCheckboxOff.name = "unchecked"; + inputCheckboxOff.checked = false; + + let inputFile = form.appendChild(doc.createElement("input")); + inputFile.type = "file"; + inputFile.name = "file"; + let fileList = []; + let promises = []; + for (let path of filePaths) { + promises.push(File.createFromFileName(path).then(file => { + fileList.push(file); + })); + } + + Promise.all(promises).then(() => { + inputFile.mozSetFileArray(fileList); + form.submit(); + }); + }); + + let href = await promiseLoad; + is(href, TEST_HTTP_POST, + "Check that the loaded page is the one to which we posted."); + + let binContentType; + if (AppConstants.platform == "macosx") { + binContentType = "application/macbinary"; + } else { + binContentType = "application/octet-stream"; + } + await ContentTask.spawn(fileBrowser, { binContentType }, (args) => { + let data = JSON.parse(content.document.body.textContent); + is(data[0].headers["Content-Disposition"], "form-data; name=\"text\"", + "Check text input Content-Disposition"); + is(data[0].body, "posted", "Check text input body"); + + is(data[1].headers["Content-Disposition"], "form-data; name=\"checked\"", + "Check checkbox input Content-Disposition"); + is(data[1].body, "on", "Check checkbox input body"); + + // Note that unchecked checkbox details are not sent. + + is(data[2].headers["Content-Disposition"], + "form-data; name=\"file\"; filename=\"form_data_file.txt\"", + "Check text file input Content-Disposition"); + is(data[2].headers["Content-Type"], "text/plain", + "Check text file input Content-Type"); + is(data[2].body, "1234\n", "Check text file input body"); + + is(data[3].headers["Content-Disposition"], + "form-data; name=\"file\"; filename=\"form_data_file.bin\"", + "Check binary file input Content-Disposition"); + is(data[3].headers["Content-Type"], args.binContentType, + "Check binary file input Content-Type"); + is(data[3].body, "\u0001\u0002\u0003\u0004\n", + "Check binary file input body"); + }); + }); +}); diff --git a/dom/html/test/form_data_file.bin b/dom/html/test/form_data_file.bin new file mode 100644 index 000000000000..744bde3558fc --- /dev/null +++ b/dom/html/test/form_data_file.bin @@ -0,0 +1 @@ + diff --git a/dom/html/test/form_data_file.txt b/dom/html/test/form_data_file.txt new file mode 100644 index 000000000000..81c545efebe5 --- /dev/null +++ b/dom/html/test/form_data_file.txt @@ -0,0 +1 @@ +1234 From 746d38b25fbfe849d4a24b92a30aad3ed3e383d6 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 12:08:58 +0100 Subject: [PATCH 12/38] Bug 1351358 Part 8: Check that reload doesn't cause new process when large allocation browser in tab group. r=mystor --- dom/tests/browser/helper_largeAllocation.js | 51 +++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/dom/tests/browser/helper_largeAllocation.js b/dom/tests/browser/helper_largeAllocation.js index 8cbc55d66869..0f6cbc8237ff 100644 --- a/dom/tests/browser/helper_largeAllocation.js +++ b/dom/tests/browser/helper_largeAllocation.js @@ -345,6 +345,57 @@ function* largeAllocSuccessTests() { }); }); + // Opening a window from the large-allocation window should prevent the + // process switch with reload. + yield BrowserTestUtils.withNewTab("about:blank", function*(aBrowser) { + info("Starting test 6a"); + let pid1 = yield getPID(aBrowser); + is(false, yield getInLAProc(aBrowser)); + + let ready = Promise.all([expectProcessCreated(), + BrowserTestUtils.browserLoaded(aBrowser)]); + + yield ContentTask.spawn(aBrowser, TEST_URI, TEST_URI => { + content.document.location = TEST_URI; + }); + + yield ready; + + let pid2 = yield getPID(aBrowser); + + isnot(pid1, pid2, "PIDs 1 and 2 should not match"); + is(true, yield getInLAProc(aBrowser)); + + let stopExpectNoProcess = expectNoProcess(); + + let firstTab = gBrowser.selectedTab; + let promiseTabOpened = BrowserTestUtils.waitForNewTab(gBrowser, "about:blank"); + yield ContentTask.spawn(aBrowser, null, () => { + this.__newWindow = content.window.open("about:blank"); + }); + yield promiseTabOpened; + + if (firstTab != gBrowser.selectedTab) { + firstTab = yield BrowserTestUtils.switchTab(gBrowser, firstTab); + aBrowser = firstTab.linkedBrowser; + } + let promiseLoad = BrowserTestUtils.browserLoaded(aBrowser); + document.getElementById("reload-button").doCommand(); + yield promiseLoad; + + let pid3 = yield getPID(aBrowser); + + is(pid3, pid2, "PIDs 2 and 3 should match"); + is(true, yield getInLAProc(aBrowser)); + + stopExpectNoProcess(); + + yield ContentTask.spawn(aBrowser, null, () => { + ok(this.__newWindow, "The window should have been stored"); + this.__newWindow.close(); + }); + }); + // Try dragging the tab into a new window when not at the maximum number of // Large-Allocation processes. yield BrowserTestUtils.withNewTab("about:blank", function*(aBrowser) { From 0b1e5ad3da3922fd5024137a6c5986e537765be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A3o=20Gottwald?= Date: Thu, 18 May 2017 13:23:09 +0200 Subject: [PATCH 13/38] Bug 1365683 - Increase horizontal margin around the location bar and the search bar. r=dale MozReview-Commit-ID: 5mRPP1oMBgq --HG-- rename : browser/themes/shared/location-search-bar.inc.css => browser/themes/shared/urlbar-searchbar.inc.css --- browser/themes/linux/browser.css | 15 +-------------- browser/themes/osx/browser.css | 16 ++-------------- ...ch-bar.inc.css => urlbar-searchbar.inc.css} | 18 +++++++++++++++++- browser/themes/windows/browser.css | 16 +--------------- 4 files changed, 21 insertions(+), 44 deletions(-) rename browser/themes/shared/{location-search-bar.inc.css => urlbar-searchbar.inc.css} (76%) diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css index 73cd8ff5ddca..6fd562b639a0 100644 --- a/browser/themes/linux/browser.css +++ b/browser/themes/linux/browser.css @@ -277,7 +277,7 @@ menuitem.bookmark-item { %ifdef MOZ_PHOTON_THEME -%include ../shared/location-search-bar.inc.css +%include ../shared/urlbar-searchbar.inc.css #urlbar[focused="true"], .searchbar-textbox[focused="true"] { @@ -347,10 +347,6 @@ menuitem.bookmark-item { opacity: 0; } -#urlbar-container { - -moz-box-align: center; -} - %ifndef MOZ_PHOTON_THEME @conditionalForwardWithUrlbar@ > #urlbar { border-inline-start: none; @@ -435,15 +431,6 @@ menuitem.bookmark-item { background-color: var(--arrowpanel-dimmed-further); } -#urlbar-search-splitter { - /* The splitter width should equal the location and search bars' combined - neighboring margin and border width. */ - width: 8px; - margin: 0 -4px; - position: relative; - -moz-appearance: none; -} - #urlbar-display-box { margin-top: -1px; margin-bottom: -1px; diff --git a/browser/themes/osx/browser.css b/browser/themes/osx/browser.css index 906c1b888377..25f529fb6428 100644 --- a/browser/themes/osx/browser.css +++ b/browser/themes/osx/browser.css @@ -520,6 +520,8 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p /* ::::: nav-bar-inner ::::: */ +%include ../shared/urlbar-searchbar.inc.css + %ifdef MOZ_PHOTON_THEME #main-window { @@ -528,8 +530,6 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p --urlbar-background-color: -moz-field; } -%include ../shared/location-search-bar.inc.css - #urlbar[focused="true"], .searchbar-textbox[focused="true"] { border-color: -moz-mac-focusring; @@ -583,10 +583,6 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p box-shadow: var(--focus-ring-box-shadow); } -#urlbar-container { - -moz-box-align: center; -} - #urlbar { border-radius: var(--toolbarbutton-border-radius); } @@ -755,14 +751,6 @@ toolbarpaletteitem[place="palette"] > #personal-bookmarks > #bookmarks-toolbar-p background-color: var(--arrowpanel-dimmed-further); } -#urlbar-search-splitter { - min-width: 8px; - width: 8px; - background-image: none; - margin: 0 -4px; - position: relative; -} - #search-container { min-width: calc(54px + 11ch); } diff --git a/browser/themes/shared/location-search-bar.inc.css b/browser/themes/shared/urlbar-searchbar.inc.css similarity index 76% rename from browser/themes/shared/location-search-bar.inc.css rename to browser/themes/shared/urlbar-searchbar.inc.css index d3feb2a01f6c..4a3053f10272 100644 --- a/browser/themes/shared/location-search-bar.inc.css +++ b/browser/themes/shared/urlbar-searchbar.inc.css @@ -2,6 +2,8 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +%ifdef MOZ_PHOTON_THEME + #urlbar, .searchbar-textbox { -moz-appearance: none; @@ -11,7 +13,7 @@ border-radius: var(--toolbarbutton-border-radius); box-shadow: 0 1px 4px hsla(0, 0%, 0%, .05); padding: 0; - margin: 0 2px; + margin: 0 5px; min-height: 30px; } @@ -34,6 +36,20 @@ box-shadow: 0 1px 6px hsla(0, 0%, 0%, .1), 0 0 1px 0 rgba(0, 0, 0, .1); } +%endif + #urlbar-container { -moz-box-align: center; } + +#urlbar-search-splitter { + /* The splitter width should equal the location and search bars' combined + neighboring margin and border width. */ + min-width: 12px; + margin: 0 -6px; + position: relative; + border: none; + background: transparent; + -moz-appearance: none; +} + diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index d2cf1ea17807..9b0139104b3e 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -672,7 +672,7 @@ toolbar[brighttext] #close-button { } } -%include ../shared/location-search-bar.inc.css +%include ../shared/urlbar-searchbar.inc.css #urlbar[focused="true"], .searchbar-textbox[focused="true"] { @@ -827,10 +827,6 @@ html|*.urlbar-input:-moz-lwtheme::placeholder, color: #777; } -#urlbar-container { - -moz-box-align: center; -} - .urlbar-textbox-container { -moz-box-align: stretch; } @@ -903,16 +899,6 @@ html|*.urlbar-input:-moz-lwtheme::placeholder, background-color: var(--arrowpanel-dimmed-further); } -#urlbar-search-splitter { - /* The splitter width should equal the location and search bars' combined - neighboring margin and border width. */ - min-width: 8px; - margin: 0 -4px; - position: relative; - border: none; - background: transparent; -} - .urlbar-display { margin-top: 0; margin-bottom: 0; From 421cbf7a04a26e2078655772d6d64d35cb3d6187 Mon Sep 17 00:00:00 2001 From: Petr Sumbera Date: Wed, 17 May 2017 08:03:02 -0700 Subject: [PATCH 14/38] Bug 1365620 - Option -rpath-link is not supported by Solaris linker. r=glandium --- js/src/old-configure.in | 4 ++++ old-configure.in | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/js/src/old-configure.in b/js/src/old-configure.in index 1ff24a5408f4..9a8880918584 100644 --- a/js/src/old-configure.in +++ b/js/src/old-configure.in @@ -879,6 +879,10 @@ case "$target" in fi ;; +*-solaris*) + MOZ_FIX_LINK_PATHS= + ;; + esac dnl Only one oddball right now (QNX), but this gives us flexibility diff --git a/old-configure.in b/old-configure.in index 5b3d7eed8180..13cf311325e8 100644 --- a/old-configure.in +++ b/old-configure.in @@ -1191,6 +1191,10 @@ case "$target" in fi ;; +*-solaris*) + MOZ_FIX_LINK_PATHS= + ;; + esac AC_SUBST_LIST(MMX_FLAGS) From 3bc1dfc2997e0fb2fa5094382d409055e84c1ef9 Mon Sep 17 00:00:00 2001 From: Petr Sumbera Date: Thu, 11 May 2017 06:14:57 -0700 Subject: [PATCH 15/38] Bug 1364066 - Re-enable bundled NSS on Solaris. r=glandium --- old-configure.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/old-configure.in b/old-configure.in index 13cf311325e8..67b75c1abc60 100644 --- a/old-configure.in +++ b/old-configure.in @@ -2023,7 +2023,7 @@ else NSS_CFLAGS="-I${DIST}/include/nss" case "${OS_ARCH}" in # Only few platforms have been tested with GYP - WINNT|Darwin|Linux|DragonFly|FreeBSD|NetBSD|OpenBSD) + WINNT|Darwin|Linux|DragonFly|FreeBSD|NetBSD|OpenBSD|SunOS) ;; *) AC_MSG_ERROR([building in-tree NSS is not supported on this platform. Use --with-system-nss]) From d01f9cd1f7055d78dfaa0fb13f3f42e656abfd52 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 13:31:44 +0100 Subject: [PATCH 16/38] Bug 1175267 Part 1: Handle file:// URI xpi files in chrome code directly instead of routing through content browser. r=mossop --- browser/base/content/browser.js | 59 +++++++++++++++++++++++++++++++-- 1 file changed, 56 insertions(+), 3 deletions(-) diff --git a/browser/base/content/browser.js b/browser/base/content/browser.js index 8b104738b51e..14293b25c590 100755 --- a/browser/base/content/browser.js +++ b/browser/base/content/browser.js @@ -996,6 +996,35 @@ function serializeInputStream(aStream) { return data; } +/** + * Handles URIs when we want to deal with them in chrome code rather than pass + * them down to a content browser. This can avoid unnecessary process switching + * for the browser. + * @param aBrowser the browser that is attempting to load the URI + * @param aUri the nsIURI that is being loaded + * @returns true if the URI is handled, otherwise false + */ +function handleUriInChrome(aBrowser, aUri) { + if (aUri.scheme == "file") { + try { + let mimeType = Cc["@mozilla.org/mime;1"].getService(Ci.nsIMIMEService) + .getTypeFromURI(aUri); + if (mimeType == "application/x-xpinstall") { + let systemPrincipal = Services.scriptSecurityManager.getSystemPrincipal(); + AddonManager.getInstallForURL(aUri.spec, install => { + AddonManager.installAddonFromWebpage(mimeType, aBrowser, systemPrincipal, + install); + }, mimeType); + return true; + } + } catch (e) { + return false; + } + } + + return false; +} + // A shared function used by both remote and non-remote browser XBL bindings to // load a URI or redirect it to the correct process. function _loadURIWithFlags(browser, uri, params) { @@ -1016,9 +1045,33 @@ function _loadURIWithFlags(browser, uri, params) { let postData = params.postData; let currentRemoteType = browser.remoteType; - let requiredRemoteType = - E10SUtils.getRemoteTypeForURI(uri, gMultiProcessBrowser, currentRemoteType, - browser.currentURI); + let requiredRemoteType; + try { + let fixupFlags = Ci.nsIURIFixup.FIXUP_FLAG_NONE; + if (flags & Ci.nsIWebNavigation.LOAD_FLAGS_ALLOW_THIRD_PARTY_FIXUP) { + fixupFlags |= Ci.nsIURIFixup.FIXUP_FLAG_ALLOW_KEYWORD_LOOKUP; + } + if (flags & Ci.nsIWebNavigation.LOAD_FLAGS_FIXUP_SCHEME_TYPOS) { + fixupFlags |= Ci.nsIURIFixup.FIXUP_FLAG_FIX_SCHEME_TYPOS; + } + let uriObject = Services.uriFixup.createFixupURI(uri, fixupFlags); + if (handleUriInChrome(browser, uriObject)) { + // If we've handled the URI in Chrome then just return here. + return; + } + + // Note that I had thought that we could set uri = uriObject.spec here, to + // save on fixup later on, but that changes behavior and breaks tests. + requiredRemoteType = + E10SUtils.getRemoteTypeForURIObject(uriObject, gMultiProcessBrowser, + currentRemoteType, browser.currentURI); + } catch (e) { + // createFixupURI throws if it can't create a URI. If that's the case then + // we still need to pass down the uri because docshell handles this case. + requiredRemoteType = gMultiProcessBrowser ? E10SUtils.DEFAULT_REMOTE_TYPE + : E10SUtils.NOT_REMOTE; + } + let mustChangeProcess = requiredRemoteType != currentRemoteType; // !requiredRemoteType means we're loading in the parent/this process. From a86639fa9d28a01372eede6688f06b57d64564b2 Mon Sep 17 00:00:00 2001 From: Bob Owen Date: Thu, 18 May 2017 13:31:44 +0100 Subject: [PATCH 17/38] Bug 1175267 Part 2: Ensure that process does not switch for file:// XPI installs. r=mossop --- .../extensions/test/browser/browser.ini | 1 + .../browser_file_xpi_no_process_switch.js | 101 ++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 toolkit/mozapps/extensions/test/browser/browser_file_xpi_no_process_switch.js diff --git a/toolkit/mozapps/extensions/test/browser/browser.ini b/toolkit/mozapps/extensions/test/browser/browser.ini index 14a5de191aec..4593a874206c 100644 --- a/toolkit/mozapps/extensions/test/browser/browser.ini +++ b/toolkit/mozapps/extensions/test/browser/browser.ini @@ -57,6 +57,7 @@ support-files = [browser_discovery_install.js] [browser_eula.js] skip-if = buildapp == 'mulet' +[browser_file_xpi_no_process_switch.js] [browser_getmorethemes.js] [browser_gmpProvider.js] [browser_hotfix.js] diff --git a/toolkit/mozapps/extensions/test/browser/browser_file_xpi_no_process_switch.js b/toolkit/mozapps/extensions/test/browser/browser_file_xpi_no_process_switch.js new file mode 100644 index 000000000000..22c1a1abb444 --- /dev/null +++ b/toolkit/mozapps/extensions/test/browser/browser_file_xpi_no_process_switch.js @@ -0,0 +1,101 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* vim: set ft=javascript ts=2 et sw=2 tw=80: */ + +const ADDON_INSTALL_ID = "addon-install-confirmation"; + +let fileurl1 = get_addon_file_url("browser_dragdrop1.xpi"); +let fileurl2 = get_addon_file_url("browser_dragdrop2.xpi"); + +function promiseInstallNotification(aBrowser) { + return new Promise(resolve => { + function popupshown(event) { + if (event.target.getAttribute("popupid") != ADDON_INSTALL_ID) { + return; + } + + let notification = + PopupNotifications.getNotification(ADDON_INSTALL_ID, aBrowser); + if (!notification) { + return; + } + + PopupNotifications.panel.removeEventListener("popupshown", popupshown); + ok(true, `Got ${ADDON_INSTALL_ID} popup for browser`); + notification.remove(); + resolve(); + } + + PopupNotifications.panel.addEventListener("popupshown", popupshown); + }); +} + +function waitForAnyNewTabAndInstallNotification() { + return new Promise((resolve) => { + gBrowser.tabContainer.addEventListener("TabOpen", function(openEvent) { + let newTab = openEvent.target; + resolve([newTab, promiseInstallNotification(newTab.linkedBrowser)]); + }, {once: true}); + }); +} + +function CheckBrowserInPid(browser, expectedPid, message) { + return ContentTask.spawn(browser, { expectedPid, message }, (arg) => { + is(Services.appinfo.processID, arg.expectedPid, arg.message); + }); +} + +async function testOpenedAndDraggedXPI(aBrowser) { + // Get the current pid for browser for comparison later. + let browserPid = await ContentTask.spawn(aBrowser, null, () => { + return Services.appinfo.processID; + }); + + // No process switch for XPI file:// URI in the urlbar. + let promiseNotification = promiseInstallNotification(aBrowser); + let urlbar = document.getElementById("urlbar"); + urlbar.value = fileurl1.spec; + urlbar.focus(); + EventUtils.synthesizeKey("KEY_Enter", { code: "Enter" }); + await promiseNotification; + await CheckBrowserInPid(aBrowser, browserPid, + "Check that browser has not switched process."); + + // No process switch for XPI file:// URI dragged to tab. + let tab = gBrowser.getTabForBrowser(aBrowser); + promiseNotification = promiseInstallNotification(aBrowser); + let effect = EventUtils.synthesizeDrop(tab, tab, + [[{type: "text/uri-list", data: fileurl1.spec}]], + "move"); + is(effect, "move", "Drag should be accepted"); + await promiseNotification; + await CheckBrowserInPid(aBrowser, browserPid, + "Check that browser has not switched process."); + + // No process switch for two XPI file:// URIs dragged to tab. + promiseNotification = promiseInstallNotification(aBrowser); + let promiseTabAndNotification = waitForAnyNewTabAndInstallNotification(); + effect = EventUtils.synthesizeDrop(tab, tab, + [[{type: "text/uri-list", data: fileurl1.spec}], + [{type: "text/uri-list", data: fileurl2.spec}]], + "move"); + is(effect, "move", "Drag should be accepted"); + let [newTab, newTabInstallNotification] = await promiseTabAndNotification; + await promiseNotification; + if (gBrowser.selectedTab != newTab) { + await BrowserTestUtils.switchTab(gBrowser, newTab); + } + await newTabInstallNotification; + await BrowserTestUtils.removeTab(newTab); + await CheckBrowserInPid(aBrowser, browserPid, + "Check that browser has not switched process."); +} + +// Test for bug 1175267. +add_task(async function() { + await SpecialPowers.pushPrefEnv({ + set: [["xpinstall.customConfirmationUI", true]] + }); + + await BrowserTestUtils.withNewTab("http://example.com", testOpenedAndDraggedXPI); + await BrowserTestUtils.withNewTab("about:robots", testOpenedAndDraggedXPI); +}); From 9df25fcb322d0eae43610df81631d684b58fee51 Mon Sep 17 00:00:00 2001 From: "Nicolas B. Pierron" Date: Thu, 18 May 2017 14:12:15 +0000 Subject: [PATCH 18/38] Bug 1364118 - List JS bytecode cache preferences in all.js. r=mrbkap --- .../test/test_script_loader_js_cache.html | 6 ++--- dom/script/ScriptLoader.cpp | 26 ++++++++++++------- dom/script/ScriptLoader.h | 3 +++ modules/libpref/init/all.js | 10 +++++++ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/dom/base/test/test_script_loader_js_cache.html b/dom/base/test/test_script_loader_js_cache.html index e3f881109dbb..81ece7ee40a8 100644 --- a/dom/base/test/test_script_loader_js_cache.html +++ b/dom/base/test/test_script_loader_js_cache.html @@ -116,14 +116,14 @@ // trace these and resolve a promise with the path taken by the // script loader. // - // Setting dom.script_loader.force_bytecode_cache causes the + // Setting dom.script_loader.bytecode_cache.eager causes the // nsScriptLoadRequest to force all the conditions necessary to make a // script be saved as bytecode in the alternate data storage provided // by the channel (necko cache). await SpecialPowers.pushPrefEnv({set: [ ['dom.script_loader.bytecode_cache.enabled', true], ['dom.expose_test_interfaces', true], - ['dom.script_loader.force_bytecode_cache', true] + ['dom.script_loader.bytecode_cache.eager', true] ]}); // Load the test page, and verify that the code path taken by the @@ -174,7 +174,7 @@ await SpecialPowers.pushPrefEnv({set: [ ['dom.script_loader.bytecode_cache.enabled', true], ['dom.expose_test_interfaces', true], - ['dom.script_loader.force_bytecode_cache', true] + ['dom.script_loader.bytecode_cache.eager', true] ]}); // The test page add a new script which generate a "ping" event, which diff --git a/dom/script/ScriptLoader.cpp b/dom/script/ScriptLoader.cpp index c4926958b4be..0b405c5445e3 100644 --- a/dom/script/ScriptLoader.cpp +++ b/dom/script/ScriptLoader.cpp @@ -818,6 +818,21 @@ ScriptLoader::IsBytecodeCacheEnabled() return sExposeTestInterfaceEnabled; } +/* static */ bool +ScriptLoader::IsEagerBytecodeCache() +{ + // When testing, we want to force use of the bytecode cache. + static bool sEagerBytecodeCache = false; + static bool sForceBytecodeCachePrefCached = false; + if (!sForceBytecodeCachePrefCached) { + sForceBytecodeCachePrefCached = true; + Preferences::AddBoolVarCache(&sEagerBytecodeCache, + "dom.script_loader.bytecode_cache.eager", + false); + } + return sEagerBytecodeCache; +} + nsresult ScriptLoader::RestartLoad(ScriptLoadRequest* aRequest) { @@ -1864,19 +1879,10 @@ ScriptLoader::FillCompileOptionsForRequest(const AutoJSAPI&jsapi, aOptions->setElement(&elementVal.toObject()); } - // When testing, we want to force use of the bytecode cache. - static bool sForceBytecodeCacheEnabled = false; - static bool sForceBytecodeCachePrefCached = false; - if (!sForceBytecodeCachePrefCached) { - sForceBytecodeCachePrefCached = true; - Preferences::AddBoolVarCache(&sForceBytecodeCacheEnabled, - "dom.script_loader.force_bytecode_cache", - false); - } // At the moment, the bytecode cache is only triggered if a script is large // enough to be parsed out of the main thread. Thus, for testing purposes, we // force parsing any script out of the main thread. - if (sForceBytecodeCacheEnabled) { + if (IsEagerBytecodeCache()) { aOptions->forceAsync = true; } diff --git a/dom/script/ScriptLoader.h b/dom/script/ScriptLoader.h index 27c402c7521f..2c695d4ae3b4 100644 --- a/dom/script/ScriptLoader.h +++ b/dom/script/ScriptLoader.h @@ -471,6 +471,9 @@ private: static bool IsBytecodeCacheEnabled(); + static bool + IsEagerBytecodeCache(); + nsresult CreateModuleScript(ModuleLoadRequest* aRequest); nsresult ProcessFetchedModuleSource(ModuleLoadRequest* aRequest); void ProcessLoadedModuleTree(ModuleLoadRequest* aRequest); diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js index 3b77f5905522..388f5e9626fe 100644 --- a/modules/libpref/init/all.js +++ b/modules/libpref/init/all.js @@ -209,6 +209,16 @@ pref("dom.keyboardevent.dispatch_during_composition", false); // significantly increase the number of compartments in the system. pref("dom.compartment_per_addon", true); +// Whether to enable the JavaScript start-up cache. This causes one of the first +// execution to record the bytecode of the JavaScript function used, and save it +// in the existing cache entry. On the following loads of the same script, the +// bytecode would be loaded from the cache instead of being generated once more. +pref("dom.script_loader.bytecode_cache.enabled", false); // Not tuned yet. + +// Ignore the heuristics of the bytecode cache, and always record on the first +// visit. (used for testing purposes). +pref("dom.script_loader.bytecode_cache.eager", false); + // Fastback caching - if this pref is negative, then we calculate the number // of content viewers to cache based on the amount of available memory. pref("browser.sessionhistory.max_total_viewers", -1); From c6ca6e9675fd8fef22377a8b26cab3c166c59ea4 Mon Sep 17 00:00:00 2001 From: Michelangelo De Simone Date: Thu, 18 May 2017 09:51:02 -0500 Subject: [PATCH 19/38] Bug 1357911 - Baldr: update names section format (r=luke) MozReview-Commit-ID: 5xIiHiB6ico --HG-- extra : rebase_source : 23999118a544fbb2b54f346bd499a7c750ee566d --- js/src/jit-test/lib/wasm-binary.js | 5 + js/src/jit-test/tests/wasm/binary.js | 73 +++++++++----- js/src/wasm/WasmBinaryConstants.h | 11 ++- js/src/wasm/WasmCode.h | 4 +- js/src/wasm/WasmValidate.cpp | 142 +++++++++++++++++++-------- js/src/wasm/WasmValidate.h | 5 + 6 files changed, 169 insertions(+), 71 deletions(-) diff --git a/js/src/jit-test/lib/wasm-binary.js b/js/src/jit-test/lib/wasm-binary.js index a463e45202ab..3be70031858f 100644 --- a/js/src/jit-test/lib/wasm-binary.js +++ b/js/src/jit-test/lib/wasm-binary.js @@ -28,6 +28,11 @@ const dataId = 11; // User-defined section names const nameName = "name"; +// Name section name types +const nameTypeModule = 0; +const nameTypeFunction = 1; +const nameTypeLocal = 2; + // Type codes const I32Code = 0x7f; const I64Code = 0x7e; diff --git a/js/src/jit-test/tests/wasm/binary.js b/js/src/jit-test/tests/wasm/binary.js index 93690ef01a19..ba8da09b2c52 100644 --- a/js/src/jit-test/tests/wasm/binary.js +++ b/js/src/jit-test/tests/wasm/binary.js @@ -232,20 +232,35 @@ function elemSection(elemArrays) { return { name: elemId, body }; } -function nameSection(elems) { +function nameSection(moduleName, funcNames) { var body = []; body.push(...string(nameName)); - body.push(...varU32(elems.length)); - for (let fn of elems) { - body.push(...encodedString(fn.name, fn.nameLen)); - if (!fn.locals) { - body.push(...varU32(0)); - continue; - } - body.push(...varU32(fn.locals.length)); - for (let local of fn.locals) - body.push(...encodedString(local.name, local.nameLen)); + + if (moduleName) { + body.push(...varU32(nameTypeModule)); + + var subsection = encodedString(moduleName); + + body.push(...varU32(subsection.length)); + body.push(...subsection); } + + if (funcNames) { + body.push(...varU32(nameTypeFunction)); + + var subsection = varU32(funcNames.length); + + var funcIndex = 0; + for (let f of funcNames) { + subsection.push(...varU32(f.index ? f.index : funcIndex)); + subsection.push(...encodedString(f.name, f.nameLen)); + funcIndex++; + } + + body.push(...varU32(subsection.length)); + body.push(...subsection); + } + return { name: userDefinedId, body }; } @@ -380,7 +395,7 @@ wasmEval(moduleWithSections([tooBigNameSection])); var customDefSec = customSection("wee", 42, 13); var declSec = declSection([0]); var bodySec = bodySection([v2vBody]); -var nameSec = nameSection([{name:'hi'}]); +var nameSec = nameSection(null, [{name:'hi'}]); wasmEval(moduleWithSections([customDefSec, v2vSigSection, declSec, bodySec])); wasmEval(moduleWithSections([v2vSigSection, customDefSec, declSec, bodySec])); wasmEval(moduleWithSections([v2vSigSection, declSec, customDefSec, bodySec])); @@ -429,7 +444,7 @@ for (var i = FirstInvalidOpcode; i <= 0xff; i++) { } // Checking stack trace. -function runStackTraceTest(namesContent, expectedName) { +function runStackTraceTest(moduleName, funcNames, expectedName) { var sections = [ sigSection([v2vSig]), importSection([{sigIndex:0, module:"env", func:"callback"}]), @@ -439,8 +454,8 @@ function runStackTraceTest(namesContent, expectedName) { customSection("whoa"), customSection("wee", 42), ]; - if (namesContent) - sections.push(nameSection(namesContent)); + if (moduleName || funcNames) + sections.push(nameSection(moduleName, funcNames)); sections.push(customSection("yay", 13)); var result = ""; @@ -452,16 +467,20 @@ function runStackTraceTest(namesContent, expectedName) { assertEq(result, expectedName); }; -runStackTraceTest(null, 'wasm-function[1]'); -runStackTraceTest([{name:'blah'}, {name: 'test'}], 'test'); -runStackTraceTest([{name:'blah'}, {name: 'test', locals: [{name: 'var1'}, {name: 'var2'}]}], 'test'); -runStackTraceTest([{name:'blah'}, {name: 'test', locals: [{name: 'var1'}, {name: 'var2'}]}], 'test'); -runStackTraceTest([{name:'blah'}, {name: 'test1'}, {name: 'test2'}], 'test1'); -runStackTraceTest([{name:'blah'}, {name: 'test☃'}], 'test☃'); -runStackTraceTest([{name:'blah'}, {name: 'te\xE0\xFF'}], 'te\xE0\xFF'); -runStackTraceTest([{name:'blah'}], 'wasm-function[1]'); -runStackTraceTest([], 'wasm-function[1]'); +runStackTraceTest(null, null, 'wasm-function[1]'); +runStackTraceTest(null, [{name:'blah'}, {name:'test'}], 'test'); +runStackTraceTest(null, [{name:'test', index:1}], 'test'); +runStackTraceTest(null, [{name:'blah'}, {name:'test', locals: [{name: 'var1'}, {name: 'var2'}]}], 'test'); +runStackTraceTest(null, [{name:'blah'}, {name:'test', locals: [{name: 'var1'}, {name: 'var2'}]}], 'test'); +runStackTraceTest(null, [{name:'blah'}, {name:'test1'}], 'test1'); +runStackTraceTest(null, [{name:'blah'}, {name:'test☃'}], 'test☃'); +runStackTraceTest(null, [{name:'blah'}, {name:'te\xE0\xFF'}], 'te\xE0\xFF'); +runStackTraceTest(null, [{name:'blah'}], 'wasm-function[1]'); +runStackTraceTest(null, [], 'wasm-function[1]'); +runStackTraceTest("", [{name:'blah'}, {name:'test'}], 'test'); +runStackTraceTest("a", [{name:'blah'}, {name:'test'}], 'test'); // Notice that invalid names section content shall not fail the parsing -runStackTraceTest([{name:'blah'}, {nameLen: 100, name: 'test'}], 'wasm-function[1]'); // invalid name size -runStackTraceTest([{name:'blah'}, {name: 'test', locals: [{nameLen: 40, name: 'var1'}]}], 'wasm-function[1]'); // invalid variable name size -runStackTraceTest([{name:'blah'}, {name: ''}], 'wasm-function[1]'); // empty name +runStackTraceTest(null, [{name:'blah'}, {name:'test', index: 2}], 'wasm-function[1]'); // invalid index +runStackTraceTest(null, [{name:'blah'}, {name:'test', index: 100000}], 'wasm-function[1]'); // invalid index +runStackTraceTest(null, [{name:'blah'}, {name:'test', nameLen: 100}], 'wasm-function[1]'); // invalid name size +runStackTraceTest(null, [{name:'blah'}, {name:''}], 'wasm-function[1]'); // empty name diff --git a/js/src/wasm/WasmBinaryConstants.h b/js/src/wasm/WasmBinaryConstants.h index 53f34048619a..3e61ab4edf97 100644 --- a/js/src/wasm/WasmBinaryConstants.h +++ b/js/src/wasm/WasmBinaryConstants.h @@ -27,8 +27,6 @@ namespace wasm { static const uint32_t MagicNumber = 0x6d736100; // "\0asm" static const uint32_t EncodingVersion = 0x01; -static const char NameSectionName[] = "name"; - enum class SectionId { Custom = 0, @@ -431,6 +429,15 @@ enum class Op Limit }; +static const char NameSectionName[] = "name"; + +enum class NameType +{ + Module = 0, + Function = 1, + Local = 2 +}; + // Telemetry sample values for the JS_AOT_USAGE key, indicating whether asm.js // or WebAssembly is used. diff --git a/js/src/wasm/WasmCode.h b/js/src/wasm/WasmCode.h index e8449fcc5353..305ca9ad32dc 100644 --- a/js/src/wasm/WasmCode.h +++ b/js/src/wasm/WasmCode.h @@ -274,7 +274,9 @@ struct NameInBytecode uint32_t offset; uint32_t length; - NameInBytecode() = default; + NameInBytecode() + : offset(UINT32_MAX), length(0) + {} NameInBytecode(uint32_t offset, uint32_t length) : offset(offset), length(length) {} diff --git a/js/src/wasm/WasmValidate.cpp b/js/src/wasm/WasmValidate.cpp index 9f3556d461c1..06d7d7952f24 100644 --- a/js/src/wasm/WasmValidate.cpp +++ b/js/src/wasm/WasmValidate.cpp @@ -202,6 +202,36 @@ Decoder::skipCustomSection(ModuleEnvironment* env) return true; } +bool +Decoder::startNameSubsection(NameType nameType, uint32_t* endOffset) +{ + const uint8_t* initialPosition = cur_; + + uint32_t nameTypeValue; + if (!readVarU32(&nameTypeValue)) + return false; + + if (nameTypeValue != uint8_t(nameType)) { + cur_ = initialPosition; + *endOffset = NotStarted; + return true; + } + + uint32_t payloadLength; + if (!readVarU32(&payloadLength) || payloadLength > bytesRemain()) + return false; + + *endOffset = (cur_ - beg_) + payloadLength; + return true; +} + +bool +Decoder::finishNameSubsection(uint32_t endOffset) +{ + MOZ_ASSERT(endOffset != NotStarted); + return endOffset == uint32_t(cur_ - beg_); +} + // Misc helpers. bool @@ -1560,60 +1590,81 @@ DecodeDataSection(Decoder& d, ModuleEnvironment* env) return true; } -static void -MaybeDecodeNameSectionBody(Decoder& d, ModuleEnvironment* env) +static bool +DecodeModuleNameSubsection(Decoder& d, ModuleEnvironment* env) { - // For simplicity, ignore all failures, even OOM. Failure will simply result - // in the names section not being included for this module. + uint32_t endOffset; + if (!d.startNameSubsection(NameType::Module, &endOffset)) + return false; + if (endOffset == Decoder::NotStarted) + return true; - uint32_t numFuncNames; - if (!d.readVarU32(&numFuncNames)) - return; + // Don't use NameInBytecode for module name; instead store a copy of the + // string. This way supplying a module name doesn't need to save the whole + // bytecode. While function names are likely to be stripped in practice, + // module names aren't necessarily. - if (numFuncNames > MaxFuncs) - return; + uint32_t nameLength; + if (!d.readVarU32(&nameLength)) + return false; + + const uint8_t* bytes; + if (!d.readBytes(nameLength, &bytes)) + return false; + + // Do nothing with module name for now; a future patch will incorporate the + // module name into the callstack format. + + return d.finishNameSubsection(endOffset); +} + +static bool +DecodeFunctionNameSubsection(Decoder& d, ModuleEnvironment* env) +{ + uint32_t endOffset; + if (!d.startNameSubsection(NameType::Function, &endOffset)) + return false; + if (endOffset == Decoder::NotStarted) + return true; + + uint32_t nameCount = 0; + if (!d.readVarU32(&nameCount) || nameCount > MaxFuncs) + return false; - // Use a local vector (and not env->funcNames) since it could result in a - // partially initialized result in case of failure in the middle. NameInBytecodeVector funcNames; - if (!funcNames.resize(numFuncNames)) - return; - for (uint32_t i = 0; i < numFuncNames; i++) { - uint32_t numBytes; - if (!d.readVarU32(&numBytes)) - return; - if (numBytes > MaxStringLength) - return; + for (uint32_t i = 0; i < nameCount; ++i) { + uint32_t funcIndex = 0; + if (!d.readVarU32(&funcIndex)) + return false; - NameInBytecode name; - name.offset = d.currentOffset(); - name.length = numBytes; - funcNames[i] = name; + // Names must refer to real functions and be given in ascending order. + if (funcIndex >= env->numFuncs() || funcIndex < funcNames.length()) + return false; - if (!d.readBytes(numBytes)) - return; + if (!funcNames.resize(funcIndex + 1)) + return false; - // Skip local names for a function. - uint32_t numLocals; - if (!d.readVarU32(&numLocals)) - return; - if (numLocals > MaxLocals) - return; + uint32_t nameLength = 0; + if (!d.readVarU32(&nameLength) || nameLength > MaxStringLength) + return false; - for (uint32_t j = 0; j < numLocals; j++) { - uint32_t numBytes; - if (!d.readVarU32(&numBytes)) - return; - if (numBytes > MaxStringLength) - return; + NameInBytecode func; + func.offset = d.currentOffset(); + func.length = nameLength; + funcNames[funcIndex] = func; - if (!d.readBytes(numBytes)) - return; - } + if (!d.readBytes(nameLength)) + return false; } + if (!d.finishNameSubsection(endOffset)) + return false; + + // To encourage fully valid function names subsections; only save names if + // the entire subsection decoded correctly. env->funcNames = Move(funcNames); + return true; } static bool @@ -1627,8 +1678,17 @@ DecodeNameSection(Decoder& d, ModuleEnvironment* env) // Once started, custom sections do not report validation errors. - MaybeDecodeNameSectionBody(d, env); + if (!DecodeModuleNameSubsection(d, env)) + goto finish; + if (!DecodeFunctionNameSubsection(d, env)) + goto finish; + + // The names we care about have already been extracted into 'env' so don't + // bother decoding the rest of the name section. finishCustomSection() will + // skip to the end of the name section (as it would for any other error). + + finish: d.finishCustomSection(sectionStart, sectionSize); return true; } diff --git a/js/src/wasm/WasmValidate.h b/js/src/wasm/WasmValidate.h index ba3cbd36cc7e..b16c25f81cbd 100644 --- a/js/src/wasm/WasmValidate.h +++ b/js/src/wasm/WasmValidate.h @@ -555,6 +555,11 @@ class Decoder void finishCustomSection(uint32_t sectionStart, uint32_t sectionSize); MOZ_MUST_USE bool skipCustomSection(ModuleEnvironment* env); + // The Name section has its own subsections. Like startSection, NotStart is + // returned as the endOffset if the given name subsection wasn't present. + + MOZ_MUST_USE bool startNameSubsection(NameType nameType, uint32_t* endOffset); + MOZ_MUST_USE bool finishNameSubsection(uint32_t endOffset); // The infallible "unchecked" decoding functions can be used when we are // sure that the bytes are well-formed (by construction or due to previous From e85f5ed76c8e58199cef296cc6544047006239f3 Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Thu, 18 May 2017 16:22:00 +0100 Subject: [PATCH 20/38] Bug 1365654 - Add a move constructor to HashTable::Enum r=luke --- js/public/HashTable.h | 14 +++++++-- js/src/jsapi-tests/testHashTable.cpp | 44 ++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 3 deletions(-) diff --git a/js/public/HashTable.h b/js/public/HashTable.h index 9011eeac1a74..29a3956fd3b9 100644 --- a/js/public/HashTable.h +++ b/js/public/HashTable.h @@ -1070,13 +1070,21 @@ class HashTable : private AllocPolicy bool rekeyed; bool removed; - /* Not copyable. */ + // Enum is movable but not copyable. Enum(const Enum&) = delete; void operator=(const Enum&) = delete; public: - template explicit - Enum(Map& map) : Range(map.all()), table_(map.impl), rekeyed(false), removed(false) {} + template + explicit Enum(Map& map) + : Range(map.all()), table_(map.impl), rekeyed(false), removed(false) {} + + MOZ_IMPLICIT Enum(Enum&& other) + : Range(other), table_(other.table_), rekeyed(other.rekeyed), removed(other.removed) + { + other.rekeyed = false; + other.removed = false; + } // Removes the |front()| element from the table, leaving |front()| // invalid until the next call to |popFront()|. For example: diff --git a/js/src/jsapi-tests/testHashTable.cpp b/js/src/jsapi-tests/testHashTable.cpp index 0f01165bf2f2..6229a584a5b7 100644 --- a/js/src/jsapi-tests/testHashTable.cpp +++ b/js/src/jsapi-tests/testHashTable.cpp @@ -6,6 +6,8 @@ #include "js/Utility.h" #include "jsapi-tests/tests.h" +#include "mozilla/Move.h" + //#define FUZZ typedef js::HashMap, js::SystemAllocPolicy> IntMap; @@ -388,3 +390,45 @@ BEGIN_TEST(testHashMapLookupWithDefaultOOM) END_TEST(testHashMapLookupWithDefaultOOM) #endif // defined(DEBUG) + +BEGIN_TEST(testHashTableMovableEnum) +{ + CHECK(set.init()); + + // Exercise returning a hash table Enum object from a function. + + CHECK(set.put(1)); + for (auto e = enumerateSet(); !e.empty(); e.popFront()) + e.removeFront(); + CHECK(set.count() == 0); + + // Test moving an Enum object explicitly. + + CHECK(set.put(1)); + CHECK(set.put(2)); + CHECK(set.put(3)); + CHECK(set.count() == 3); + { + auto e1 = IntSet::Enum(set); + CHECK(!e1.empty()); + e1.removeFront(); + e1.popFront(); + + auto e2 = mozilla::Move(e1); + CHECK(!e2.empty()); + e2.removeFront(); + e2.popFront(); + } + + CHECK(set.count() == 1); + return true; +} + +IntSet set; + +IntSet::Enum enumerateSet() +{ + return IntSet::Enum(set); +} + +END_TEST(testHashTableMovableEnum) From 82f369c7bd747c56ccd03f94bf26dd4ec20ea22c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A3o=20Gottwald?= Date: Thu, 18 May 2017 17:26:09 +0200 Subject: [PATCH 21/38] Bug 1365683 followup: move urlbar-searchbar.inc.css include to the right place so that it works for non-Photon MozReview-Commit-ID: GFTtOBlSLnj --- browser/themes/linux/browser.css | 4 ++-- browser/themes/windows/browser.css | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/browser/themes/linux/browser.css b/browser/themes/linux/browser.css index 6fd562b639a0..87d6bf9e9563 100644 --- a/browser/themes/linux/browser.css +++ b/browser/themes/linux/browser.css @@ -275,10 +275,10 @@ menuitem.bookmark-item { --urlbar-border-color: rgba(0,0,0,.3); } -%ifdef MOZ_PHOTON_THEME - %include ../shared/urlbar-searchbar.inc.css +%ifdef MOZ_PHOTON_THEME + #urlbar[focused="true"], .searchbar-textbox[focused="true"] { border-color: Highlight; diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index 9b0139104b3e..7c025bd70725 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -662,6 +662,8 @@ toolbar[brighttext] #close-button { --urlbar-border-color: var(--toolbarbutton-hover-bordercolor); } +%include ../shared/urlbar-searchbar.inc.css + %ifdef MOZ_PHOTON_THEME @media (-moz-windows-default-theme) { @@ -672,8 +674,6 @@ toolbar[brighttext] #close-button { } } -%include ../shared/urlbar-searchbar.inc.css - #urlbar[focused="true"], .searchbar-textbox[focused="true"] { border-color: Highlight; From 043815b0526febb6251374939179dd4ccc6194a7 Mon Sep 17 00:00:00 2001 From: Dale Harvey Date: Thu, 18 May 2017 17:34:40 +0200 Subject: [PATCH 22/38] Bug 1365906 - Increase URL bar and the search bar text size for all Windows versions. r=dao MozReview-Commit-ID: FMu4bta3lgV --- browser/themes/windows/browser.css | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/browser/themes/windows/browser.css b/browser/themes/windows/browser.css index 7c025bd70725..6a9bbc4a2c92 100644 --- a/browser/themes/windows/browser.css +++ b/browser/themes/windows/browser.css @@ -674,6 +674,11 @@ toolbar[brighttext] #close-button { } } +#urlbar, +.searchbar-textbox { + font-size: 1.15em; +} + #urlbar[focused="true"], .searchbar-textbox[focused="true"] { border-color: Highlight; @@ -752,9 +757,7 @@ toolbar[brighttext] #close-button { #urlbar, .searchbar-textbox { font-size: 1.15em; -%ifndef MOZ_PHOTON_THEME min-height: 28px; -%endif } :root { From ebfe17400792dd719f43c542c59c7971a954218e Mon Sep 17 00:00:00 2001 From: Jon Coppeard Date: Thu, 18 May 2017 16:47:53 +0100 Subject: [PATCH 23/38] Bug 1365654 - Fix style bustage r=me --- js/src/jsapi-tests/testHashTable.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/js/src/jsapi-tests/testHashTable.cpp b/js/src/jsapi-tests/testHashTable.cpp index 6229a584a5b7..9634754fa4f2 100644 --- a/js/src/jsapi-tests/testHashTable.cpp +++ b/js/src/jsapi-tests/testHashTable.cpp @@ -2,11 +2,12 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include "mozilla/Move.h" + #include "js/HashTable.h" #include "js/Utility.h" -#include "jsapi-tests/tests.h" -#include "mozilla/Move.h" +#include "jsapi-tests/tests.h" //#define FUZZ From 024b5bad85fd74d87c52eeba9b6465e69888b28c Mon Sep 17 00:00:00 2001 From: Matt Howell Date: Fri, 5 May 2017 15:33:18 -0700 Subject: [PATCH 24/38] Bug 1361326 - Delay-load DLL's used by the 7-zip self-extractor. r=rstrong MozReview-Commit-ID: 7O0NJBVxaLQ --HG-- extra : source : dc853c57ba1fdb220a3731c9d00d0b60bbbf18f2 --- other-licenses/7zstub/firefox/7zSD.sfx | Bin 123904 -> 231936 bytes .../src/7zip/Bundles/SFXSetup-moz/Main.cpp | 14 ++++++++++++++ .../Bundles/SFXSetup-moz/SFXSetup-moz.dsp | 6 +++--- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/other-licenses/7zstub/firefox/7zSD.sfx b/other-licenses/7zstub/firefox/7zSD.sfx index 2a6f60a6e3e0e70ca045206ef0c26a02dc14a1a9..5ee166eb294354167db6c7bda901e0f7908f323a 100644 GIT binary patch literal 231936 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 OibH;2h~@w1|NaM{>bn&H literal 123904 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 diff --git a/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/Main.cpp b/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/Main.cpp index c14572ad44a3..1de7d6893e4c 100644 --- a/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/Main.cpp +++ b/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/Main.cpp @@ -236,6 +236,20 @@ struct AutoLoadSystemDependencies { AutoLoadSystemDependencies() { + HMODULE module = ::GetModuleHandleW(L"kernel32.dll"); + if (module) { + // SetDefaultDllDirectories is always available on Windows 8 and above. It + // is also available on Windows Vista, Windows Server 2008, and + // Windows 7 when MS KB2533623 has been applied. + typedef BOOL (WINAPI *SetDefaultDllDirectoriesType)(DWORD); + SetDefaultDllDirectoriesType setDefaultDllDirectories = + (SetDefaultDllDirectoriesType) GetProcAddress(module, "SetDefaultDllDirectories"); + if (setDefaultDllDirectories) { + setDefaultDllDirectories(0x0800 /* LOAD_LIBRARY_SEARCH_SYSTEM32 */ ); + return; + } + } + static LPCWSTR delayDLLs[] = { L"dwmapi.dll", L"cryptbase.dll", L"SHCore.dll", L"uxtheme.dll", L"oleacc.dll", L"apphelp.dll" }; diff --git a/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/SFXSetup-moz.dsp b/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/SFXSetup-moz.dsp index ffa6286560e8..e9ff6ad48b14 100644 --- a/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/SFXSetup-moz.dsp +++ b/other-licenses/7zstub/src/7zip/Bundles/SFXSetup-moz/SFXSetup-moz.dsp @@ -54,7 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 -# ADD LINK32 comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"C:\Util\7zS.sfx" /opt:NOWIN98 +# ADD LINK32 comctl32.lib kernel32.lib user32.lib shell32.lib oleaut32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /out:"C:\Util\7zS.sfx" /delayload:comctl32.dll /delayload:user32.dll /delayload:shell32.dll /delayload:oleaut32.dll /opt:NOWIN98 # SUBTRACT LINK32 /pdb:none !ELSEIF "$(CFG)" == "SFXSetup-moz - Win32 Debug" @@ -81,7 +81,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib comctl32.lib /nologo /subsystem:windows /debug /machine:I386 /out:"C:\UTIL\7zSfxS.exe" /pdbtype:sept +# ADD LINK32 comctl32.lib kernel32.lib user32.lib shell32.lib oleaut32.lib delayimp.lib /nologo /subsystem:windows /debug /machine:I386 /out:"C:\UTIL\7zSfxS.exe" /pdbtype:sept /delayload:comctl32.dll /delayload:user32.dll /delayload:shell32.dll /delayload:oleaut32.dll !ELSEIF "$(CFG)" == "SFXSetup-moz - Win32 ReleaseD" @@ -109,7 +109,7 @@ BSC32=bscmake.exe LINK32=link.exe # ADD BASE LINK32 comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"C:\UTIL\7zWinSR.exe" # SUBTRACT BASE LINK32 /debug /nodefaultlib -# ADD LINK32 comctl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /machine:I386 /out:"ReleaseD\7zSD.sfx" /opt:NOWIN98 +# ADD LINK32 comctl32.lib kernel32.lib user32.lib shell32.lib oleaut32.lib delayimp.lib /nologo /subsystem:windows /machine:I386 /out:"ReleaseD\7zSD.sfx" /delayload:comctl32.dll /delayload:user32.dll /delayload:shell32.dll /delayload:oleaut32.dll /opt:NOWIN98 # SUBTRACT LINK32 /pdb:none !ENDIF From 51adf3206ba4c00882b61a916b7e77da09b5c983 Mon Sep 17 00:00:00 2001 From: "L. David Baron" Date: Thu, 18 May 2017 09:24:33 -0700 Subject: [PATCH 25/38] Bug 1365831 - Replace assertion that non-display SVG containers are only reflowed with NS_FRAME_IS_DIRTY with a real test of the condition. r=heycam The primary patch in bug 1308876 causes frames to be reflowed less often with NS_FRAME_IS_DIRTY, particularly when multiple passes of reflow are required for the frame or one of its ancestors (which is generally the case for a document that ends up not having scrollbars). This change causes this assert to fire on various SVG tests such as layout/reftests/svg/svg-integration/conditions-outer-svg-01.xhtml . This happens because the outer SVG with conditional processing (in this test, systemLanguage="x") is reflowed due to its parent resizing, without NS_FRAME_IS_DIRTY set. This is a relatively normal thing to happen during reflow; we just didn't have any tests that exercise it. This patch adds a crashtest that triggers the assertion through the same mechanism, but with a dynamic change, rather than depending on the non-dirty reflow triggered by bug 1308876. (I confirmed locally that this test does trigger the assertion without this patch, when run in the crashtest harness.) I think fundamentally the assertion isn't valid, and we should instead be testing the condition that it asserts. MozReview-Commit-ID: D8hjAbjKyuL --HG-- extra : transplant_source : %98C%3A%B1%93jb%E7%3D%81%19%97%A6%04%0F%88%8B%D2%A35 --- ...nal-outer-svg-nondirty-reflow-assert.xhtml | 28 +++++++++++++++++++ layout/svg/crashtests/crashtests.list | 1 + layout/svg/nsSVGContainerFrame.cpp | 13 +++++---- 3 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 layout/svg/crashtests/conditional-outer-svg-nondirty-reflow-assert.xhtml diff --git a/layout/svg/crashtests/conditional-outer-svg-nondirty-reflow-assert.xhtml b/layout/svg/crashtests/conditional-outer-svg-nondirty-reflow-assert.xhtml new file mode 100644 index 000000000000..b23f064a6c36 --- /dev/null +++ b/layout/svg/crashtests/conditional-outer-svg-nondirty-reflow-assert.xhtml @@ -0,0 +1,28 @@ + + + + Test of NS_FRAME_IS_NONDISPLAY / NS_FRAME_IS_DIRTY assertion + + + + + +
+ +
+ + diff --git a/layout/svg/crashtests/crashtests.list b/layout/svg/crashtests/crashtests.list index 6c2287006ab8..a337d05a4b26 100644 --- a/layout/svg/crashtests/crashtests.list +++ b/layout/svg/crashtests/crashtests.list @@ -199,4 +199,5 @@ load 1182496-1.html load 1209525-1.svg load 1223281-1.svg load 1348564.svg +load conditional-outer-svg-nondirty-reflow-assert.xhtml load extref-test-1.xhtml diff --git a/layout/svg/nsSVGContainerFrame.cpp b/layout/svg/nsSVGContainerFrame.cpp index 914708731e66..3a19471a1f27 100644 --- a/layout/svg/nsSVGContainerFrame.cpp +++ b/layout/svg/nsSVGContainerFrame.cpp @@ -100,18 +100,19 @@ nsSVGContainerFrame::ComputeCustomOverflow(nsOverflowAreas& aOverflowAreas) * inherited font-size of an ancestor changes, or a delayed webfont loads and * applies. * - * We assume that any change that requires the anonymous kid of an - * SVGTextFrame to reflow will result in an NS_FRAME_IS_DIRTY reflow. When + * However, we only need to do this work if we were reflowed with + * NS_FRAME_IS_DIRTY, which implies that all descendants are dirty. When * that reflow reaches an NS_FRAME_IS_NONDISPLAY frame it would normally * stop, but this helper looks for any SVGTextFrame descendants of such - * frames and marks them NS_FRAME_IS_DIRTY so that the next time that they are - * painted their anonymous kid will first get the necessary reflow. + * frames and marks them NS_FRAME_IS_DIRTY so that the next time that they + * are painted their anonymous kid will first get the necessary reflow. */ /* static */ void nsSVGContainerFrame::ReflowSVGNonDisplayText(nsIFrame* aContainer) { - NS_ASSERTION(aContainer->GetStateBits() & NS_FRAME_IS_DIRTY, - "expected aContainer to be NS_FRAME_IS_DIRTY"); + if (!(aContainer->GetStateBits() & NS_FRAME_IS_DIRTY)) { + return; + } NS_ASSERTION((aContainer->GetStateBits() & NS_FRAME_IS_NONDISPLAY) || !aContainer->IsFrameOfType(nsIFrame::eSVG), "it is wasteful to call ReflowSVGNonDisplayText on a container " From b138a8ec44cbabd21a3970dfded3a86c8f95ca2a Mon Sep 17 00:00:00 2001 From: Lee Salzman Date: Thu, 18 May 2017 13:16:06 -0400 Subject: [PATCH 26/38] Bug 1365935 - add Moz2D Factory methods for making an FT_Library. r=jrmuizel MozReview-Commit-ID: 7gQuVrl38aT --- gfx/2d/2D.h | 9 +++++++++ gfx/2d/Factory.cpp | 16 ++++++++++++++++ gfx/webrender_bindings/Moz2DImageRenderer.cpp | 15 +++++---------- gfx/webrender_bindings/moz.build | 4 ---- 4 files changed, 30 insertions(+), 14 deletions(-) diff --git a/gfx/2d/2D.h b/gfx/2d/2D.h index b087d3fdf270..b12c3cd14c88 100644 --- a/gfx/2d/2D.h +++ b/gfx/2d/2D.h @@ -31,6 +31,12 @@ #include "mozilla/DebugOnly.h" +#if defined(MOZ_WIDGET_ANDROID) || defined(MOZ_WIDGET_GTK) + #ifndef MOZ_ENABLE_FREETYPE + #define MOZ_ENABLE_FREETYPE + #endif +#endif + struct _cairo_surface; typedef _cairo_surface cairo_surface_t; @@ -1618,6 +1624,9 @@ public: static void SetFTLibrary(FT_Library aFTLibrary); static FT_Library GetFTLibrary(); + static FT_Library NewFTLibrary(); + static void ReleaseFTLibrary(FT_Library aFTLibrary); + static FT_Face NewFTFace(FT_Library aFTLibrary, const char* aFileName, int aFaceIndex); static FT_Face NewFTFaceFromData(FT_Library aFTLibrary, const uint8_t* aData, size_t aDataSize, int aFaceIndex); static void ReleaseFTFace(FT_Face aFace); diff --git a/gfx/2d/Factory.cpp b/gfx/2d/Factory.cpp index ee5cd5743105..9c04cfaab811 100644 --- a/gfx/2d/Factory.cpp +++ b/gfx/2d/Factory.cpp @@ -662,6 +662,22 @@ Factory::GetFTLibrary() return mFTLibrary; } +FT_Library +Factory::NewFTLibrary() +{ + FT_Library library; + if (FT_Init_FreeType(&library) != FT_Err_Ok) { + return nullptr; + } + return library; +} + +void +Factory::ReleaseFTLibrary(FT_Library aFTLibrary) +{ + FT_Done_FreeType(aFTLibrary); +} + FT_Face Factory::NewFTFace(FT_Library aFTLibrary, const char* aFileName, int aFaceIndex) { diff --git a/gfx/webrender_bindings/Moz2DImageRenderer.cpp b/gfx/webrender_bindings/Moz2DImageRenderer.cpp index 3ce3c85b68d8..5fe879189a92 100644 --- a/gfx/webrender_bindings/Moz2DImageRenderer.cpp +++ b/gfx/webrender_bindings/Moz2DImageRenderer.cpp @@ -14,9 +14,6 @@ #include #ifdef MOZ_ENABLE_FREETYPE -#include "ft2build.h" -#include FT_FREETYPE_H - #include "mozilla/ThreadLocal.h" #endif @@ -56,17 +53,19 @@ static bool Moz2DRenderCallback(const Range aBlob, return false; } + void* fontContext = nullptr; #ifdef MOZ_ENABLE_FREETYPE if (!sFTLibrary.init()) { return false; } if (!sFTLibrary.get()) { - FT_Library library; - if (FT_Init_FreeType(&library) != FT_Err_Ok) { + FT_Library library = gfx::Factory::NewFTLibrary(); + if (!library) { return false; } sFTLibrary.set(library); } + fontContext = sFTLibrary.get(); #endif // In bindings.rs we allocate a buffer filled with opaque white. @@ -88,11 +87,7 @@ static bool Moz2DRenderCallback(const Range aBlob, InMemoryStreamBuffer streamBuffer(aBlob); std::istream stream(&streamBuffer); -#ifdef MOZ_ENABLE_FREETYPE - gfx::InlineTranslator translator(dt, sFTLibrary.get()); -#else - gfx::InlineTranslator translator(dt); -#endif + gfx::InlineTranslator translator(dt, fontContext); auto ret = translator.TranslateRecording(stream); diff --git a/gfx/webrender_bindings/moz.build b/gfx/webrender_bindings/moz.build index ae5c9236e1de..30a39184ee43 100644 --- a/gfx/webrender_bindings/moz.build +++ b/gfx/webrender_bindings/moz.build @@ -37,10 +37,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': 'RenderMacIOSurfaceTextureHostOGL.cpp', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gtk3'): - DEFINES['MOZ_ENABLE_FREETYPE'] = True - CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] - include('/ipc/chromium/chromium-config.mozbuild') FINAL_LIBRARY = 'xul' From 96f477fd993a66b357d25d6a35ce56d224bf0dec Mon Sep 17 00:00:00 2001 From: Ryan VanderMeulen Date: Thu, 18 May 2017 13:40:06 -0400 Subject: [PATCH 27/38] Bug 1366004 - Update pdf.js to version 1.8.363. r=bdahl --- browser/extensions/pdfjs/README.mozilla | 4 +- browser/extensions/pdfjs/content/PdfJs.jsm | 2 - .../extensions/pdfjs/content/PdfJsNetwork.jsm | 1 - .../pdfjs/content/PdfJsTelemetry.jsm | 1 - .../pdfjs/content/PdfStreamConverter.jsm | 2 - .../pdfjs/content/PdfjsChromeUtils.jsm | 1 - .../pdfjs/content/PdfjsContentUtils.jsm | 1 - browser/extensions/pdfjs/content/build/pdf.js | 134 +++++++++--------- .../pdfjs/content/build/pdf.worker.js | 10 +- .../content/pdfjschildbootstrap-enabled.js | 1 - .../pdfjs/content/pdfjschildbootstrap.js | 1 - .../extensions/pdfjs/content/web/viewer.js | 111 +++++++-------- 12 files changed, 131 insertions(+), 138 deletions(-) diff --git a/browser/extensions/pdfjs/README.mozilla b/browser/extensions/pdfjs/README.mozilla index 330768bfb7b0..81f3e1f6a19a 100644 --- a/browser/extensions/pdfjs/README.mozilla +++ b/browser/extensions/pdfjs/README.mozilla @@ -1,5 +1,5 @@ This is the PDF.js project output, https://github.com/mozilla/pdf.js -Current extension version is: 1.8.346 +Current extension version is: 1.8.363 -Taken from upstream commit: 15425d5b +Taken from upstream commit: 658fb03d diff --git a/browser/extensions/pdfjs/content/PdfJs.jsm b/browser/extensions/pdfjs/content/PdfJs.jsm index 53faf3d30ca6..8f66c6b6ff9c 100644 --- a/browser/extensions/pdfjs/content/PdfJs.jsm +++ b/browser/extensions/pdfjs/content/PdfJs.jsm @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, Services, XPCOMUtils, PdfjsChromeUtils, - PdfjsContentUtils, PdfStreamConverter */ "use strict"; diff --git a/browser/extensions/pdfjs/content/PdfJsNetwork.jsm b/browser/extensions/pdfjs/content/PdfJsNetwork.jsm index 31d7c8b542e8..1175b2e52b85 100644 --- a/browser/extensions/pdfjs/content/PdfJsNetwork.jsm +++ b/browser/extensions/pdfjs/content/PdfJsNetwork.jsm @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, Services */ "use strict"; diff --git a/browser/extensions/pdfjs/content/PdfJsTelemetry.jsm b/browser/extensions/pdfjs/content/PdfJsTelemetry.jsm index b57fe980136b..608cb03432c5 100644 --- a/browser/extensions/pdfjs/content/PdfJsTelemetry.jsm +++ b/browser/extensions/pdfjs/content/PdfJsTelemetry.jsm @@ -13,7 +13,6 @@ * limitations under the License. */ /* eslint max-len: ["error", 100] */ -/* globals Components, Services */ "use strict"; diff --git a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm index 9b10554b853c..69b5c47eaf32 100644 --- a/browser/extensions/pdfjs/content/PdfStreamConverter.jsm +++ b/browser/extensions/pdfjs/content/PdfStreamConverter.jsm @@ -12,8 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, Services, XPCOMUtils, NetUtil, PrivateBrowsingUtils, - dump, NetworkManager, PdfJsTelemetry, PdfjsContentUtils */ "use strict"; diff --git a/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm b/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm index df698e412614..47c92883efd0 100644 --- a/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm +++ b/browser/extensions/pdfjs/content/PdfjsChromeUtils.jsm @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, Services, XPCOMUtils */ "use strict"; diff --git a/browser/extensions/pdfjs/content/PdfjsContentUtils.jsm b/browser/extensions/pdfjs/content/PdfjsContentUtils.jsm index 0790476b1f20..e5c003daa520 100644 --- a/browser/extensions/pdfjs/content/PdfjsContentUtils.jsm +++ b/browser/extensions/pdfjs/content/PdfjsContentUtils.jsm @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, Services, XPCOMUtils */ "use strict"; diff --git a/browser/extensions/pdfjs/content/build/pdf.js b/browser/extensions/pdfjs/content/build/pdf.js index 6deb9c8591de..34e823583f59 100644 --- a/browser/extensions/pdfjs/content/build/pdf.js +++ b/browser/extensions/pdfjs/content/build/pdf.js @@ -1199,78 +1199,73 @@ exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_R var _util = __w_pdfjs_require__(0); var DEFAULT_LINK_REL = 'noopener noreferrer nofollow'; -function DOMCanvasFactory() {} -DOMCanvasFactory.prototype = { - create: function DOMCanvasFactory_create(width, height) { +class DOMCanvasFactory { + create(width, height) { (0, _util.assert)(width > 0 && height > 0, 'invalid canvas size'); - var canvas = document.createElement('canvas'); - var context = canvas.getContext('2d'); + let canvas = document.createElement('canvas'); + let context = canvas.getContext('2d'); canvas.width = width; canvas.height = height; return { canvas, context }; - }, - reset: function DOMCanvasFactory_reset(canvasAndContextPair, width, height) { - (0, _util.assert)(canvasAndContextPair.canvas, 'canvas is not specified'); + } + reset(canvasAndContext, width, height) { + (0, _util.assert)(canvasAndContext.canvas, 'canvas is not specified'); (0, _util.assert)(width > 0 && height > 0, 'invalid canvas size'); - canvasAndContextPair.canvas.width = width; - canvasAndContextPair.canvas.height = height; - }, - destroy: function DOMCanvasFactory_destroy(canvasAndContextPair) { - (0, _util.assert)(canvasAndContextPair.canvas, 'canvas is not specified'); - canvasAndContextPair.canvas.width = 0; - canvasAndContextPair.canvas.height = 0; - canvasAndContextPair.canvas = null; - canvasAndContextPair.context = null; + canvasAndContext.canvas.width = width; + canvasAndContext.canvas.height = height; } -}; -var DOMCMapReaderFactory = function DOMCMapReaderFactoryClosure() { - function DOMCMapReaderFactory(params) { - this.baseUrl = params.baseUrl || null; - this.isCompressed = params.isCompressed || false; + destroy(canvasAndContext) { + (0, _util.assert)(canvasAndContext.canvas, 'canvas is not specified'); + canvasAndContext.canvas.width = 0; + canvasAndContext.canvas.height = 0; + canvasAndContext.canvas = null; + canvasAndContext.context = null; } - DOMCMapReaderFactory.prototype = { - fetch(params) { - var name = params.name; - if (!name) { - return Promise.reject(new Error('CMap name must be specified.')); +} +class DOMCMapReaderFactory { + constructor({ baseUrl = null, isCompressed = false }) { + this.baseUrl = baseUrl; + this.isCompressed = isCompressed; + } + fetch({ name }) { + if (!name) { + return Promise.reject(new Error('CMap name must be specified.')); + } + return new Promise((resolve, reject) => { + let url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : ''); + let request = new XMLHttpRequest(); + request.open('GET', url, true); + if (this.isCompressed) { + request.responseType = 'arraybuffer'; } - return new Promise((resolve, reject) => { - var url = this.baseUrl + name + (this.isCompressed ? '.bcmap' : ''); - var request = new XMLHttpRequest(); - request.open('GET', url, true); - if (this.isCompressed) { - request.responseType = 'arraybuffer'; + request.onreadystatechange = () => { + if (request.readyState !== XMLHttpRequest.DONE) { + return; } - request.onreadystatechange = () => { - if (request.readyState !== XMLHttpRequest.DONE) { + if (request.status === 200 || request.status === 0) { + let data; + if (this.isCompressed && request.response) { + data = new Uint8Array(request.response); + } else if (!this.isCompressed && request.responseText) { + data = (0, _util.stringToBytes)(request.responseText); + } + if (data) { + resolve({ + cMapData: data, + compressionType: this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE + }); return; } - if (request.status === 200 || request.status === 0) { - var data; - if (this.isCompressed && request.response) { - data = new Uint8Array(request.response); - } else if (!this.isCompressed && request.responseText) { - data = (0, _util.stringToBytes)(request.responseText); - } - if (data) { - resolve({ - cMapData: data, - compressionType: this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE - }); - return; - } - } - reject(new Error('Unable to load ' + (this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); - }; - request.send(null); - }); - } - }; - return DOMCMapReaderFactory; -}(); + } + reject(new Error('Unable to load ' + (this.isCompressed ? 'binary ' : '') + 'CMap at: ' + url)); + }; + request.send(null); + }); + } +} var CustomStyle = function CustomStyleClosure() { var prefixes = ['ms', 'Moz', 'Webkit', 'O']; var _cache = Object.create(null); @@ -3328,7 +3323,12 @@ var InternalRenderTask = function InternalRenderTaskClosure() { } var params = this.params; this.gfx = new _canvas.CanvasGraphics(params.canvasContext, this.commonObjs, this.objs, this.canvasFactory, params.imageLayer); - this.gfx.beginDrawing(params.transform, params.viewport, transparency); + this.gfx.beginDrawing({ + transform: params.transform, + viewport: params.viewport, + transparency, + background: params.background + }); this.operatorListIdx = 0; this.graphicsReady = true; if (this.graphicsReadyCallback) { @@ -3405,8 +3405,8 @@ var _UnsupportedManager = function UnsupportedManagerClosure() { }(); var version, build; { - exports.version = version = '1.8.346'; - exports.build = build = '15425d5b'; + exports.version = version = '1.8.363'; + exports.build = build = '658fb03d'; } exports.getDocument = getDocument; exports.LoopbackPort = LoopbackPort; @@ -4408,8 +4408,8 @@ if (!_util.globalScope.PDFJS) { } var PDFJS = _util.globalScope.PDFJS; { - PDFJS.version = '1.8.346'; - PDFJS.build = '15425d5b'; + PDFJS.version = '1.8.363'; + PDFJS.build = '658fb03d'; } PDFJS.pdfBug = false; if (PDFJS.verbosity !== undefined) { @@ -5060,11 +5060,11 @@ var CanvasGraphics = function CanvasGraphicsClosure() { var NORMAL_CLIP = {}; var EO_CLIP = {}; CanvasGraphics.prototype = { - beginDrawing: function CanvasGraphics_beginDrawing(transform, viewport, transparency) { + beginDrawing({ transform, viewport, transparency, background = null }) { var width = this.ctx.canvas.width; var height = this.ctx.canvas.height; this.ctx.save(); - this.ctx.fillStyle = 'rgb(255, 255, 255)'; + this.ctx.fillStyle = background || 'rgb(255, 255, 255)'; this.ctx.fillRect(0, 0, width, height); this.ctx.restore(); if (transparency) { @@ -6723,8 +6723,8 @@ exports.TilingPattern = TilingPattern; "use strict"; -var pdfjsVersion = '1.8.346'; -var pdfjsBuild = '15425d5b'; +var pdfjsVersion = '1.8.363'; +var pdfjsBuild = '658fb03d'; var pdfjsSharedUtil = __w_pdfjs_require__(0); var pdfjsDisplayGlobal = __w_pdfjs_require__(8); var pdfjsDisplayAPI = __w_pdfjs_require__(3); diff --git a/browser/extensions/pdfjs/content/build/pdf.worker.js b/browser/extensions/pdfjs/content/build/pdf.worker.js index b91d11f24b44..18e5ca6e69ec 100644 --- a/browser/extensions/pdfjs/content/build/pdf.worker.js +++ b/browser/extensions/pdfjs/content/build/pdf.worker.js @@ -16738,6 +16738,12 @@ var PartialEvaluator = function PartialEvaluatorClosure() { if (nativeImageDecoderSupport !== NativeImageDecoding.NONE && !softMask && !mask && image instanceof JpegStream && NativeImageDecoder.isSupported(image, this.xref, resources)) { operatorList.addOp(OPS.paintJpegXObject, args); this.handler.send('obj', [objId, this.pageIndex, 'JpegStream', image.getIR(this.options.forceDataSchema)]); + if (cacheKey) { + imageCache[cacheKey] = { + fn: OPS.paintJpegXObject, + args + }; + } return; } var nativeImageDecoder = null; @@ -36639,8 +36645,8 @@ exports.Type1Parser = Type1Parser; "use strict"; -var pdfjsVersion = '1.8.346'; -var pdfjsBuild = '15425d5b'; +var pdfjsVersion = '1.8.363'; +var pdfjsBuild = '658fb03d'; var pdfjsCoreWorker = __w_pdfjs_require__(17); ; exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; diff --git a/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js b/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js index 93a7489213cc..dda7a7c1168a 100644 --- a/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js +++ b/browser/extensions/pdfjs/content/pdfjschildbootstrap-enabled.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, PdfJs, Services */ "use strict"; diff --git a/browser/extensions/pdfjs/content/pdfjschildbootstrap.js b/browser/extensions/pdfjs/content/pdfjschildbootstrap.js index d70c15ed5491..1d30acdd1a9f 100644 --- a/browser/extensions/pdfjs/content/pdfjschildbootstrap.js +++ b/browser/extensions/pdfjs/content/pdfjschildbootstrap.js @@ -12,7 +12,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -/* globals Components, PdfjsContentUtils */ "use strict"; diff --git a/browser/extensions/pdfjs/content/web/viewer.js b/browser/extensions/pdfjs/content/web/viewer.js index a2e3fdc57e17..5d9c17a202c8 100644 --- a/browser/extensions/pdfjs/content/web/viewer.js +++ b/browser/extensions/pdfjs/content/web/viewer.js @@ -4852,16 +4852,15 @@ var PDFPageView = function PDFPageViewClosure() { getPagePoint: function PDFPageView_getPagePoint(x, y) { return this.viewport.convertToPdfPoint(x, y); }, - draw: function PDFPageView_draw() { + draw() { if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { console.error('Must be in new state before drawing'); this.reset(); } this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; - var self = this; - var pdfPage = this.pdfPage; - var div = this.div; - var canvasWrapper = document.createElement('div'); + let pdfPage = this.pdfPage; + let div = this.div; + let canvasWrapper = document.createElement('div'); canvasWrapper.style.width = div.style.width; canvasWrapper.style.height = div.style.height; canvasWrapper.classList.add('canvasWrapper'); @@ -4870,10 +4869,9 @@ var PDFPageView = function PDFPageViewClosure() { } else { div.appendChild(canvasWrapper); } - var textLayerDiv = null; - var textLayer = null; + let textLayer = null; if (this.textLayerFactory) { - textLayerDiv = document.createElement('div'); + let textLayerDiv = document.createElement('div'); textLayerDiv.className = 'textLayer'; textLayerDiv.style.width = canvasWrapper.style.width; textLayerDiv.style.height = canvasWrapper.style.height; @@ -4885,13 +4883,13 @@ var PDFPageView = function PDFPageViewClosure() { textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.enhanceTextSelection); } this.textLayer = textLayer; - var renderContinueCallback = null; + let renderContinueCallback = null; if (this.renderingQueue) { - renderContinueCallback = function renderContinueCallback(cont) { - if (!self.renderingQueue.isHighestPriority(self)) { - self.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; - self.resume = function resumeCallback() { - self.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + renderContinueCallback = cont => { + if (!this.renderingQueue.isHighestPriority(this)) { + this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; cont(); }; return; @@ -4899,28 +4897,28 @@ var PDFPageView = function PDFPageViewClosure() { cont(); }; } - var finishPaintTask = function finishPaintTask(error) { - if (paintTask === self.paintTask) { - self.paintTask = null; + let finishPaintTask = error => { + if (paintTask === this.paintTask) { + this.paintTask = null; } if (error instanceof _pdfjs.RenderingCancelledException) { - self.error = null; + this.error = null; return Promise.resolve(undefined); } - self.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; - if (self.loadingIconDiv) { - div.removeChild(self.loadingIconDiv); - delete self.loadingIconDiv; + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + if (this.loadingIconDiv) { + div.removeChild(this.loadingIconDiv); + delete this.loadingIconDiv; } - self._resetZoomLayer(true); - self.error = error; - self.stats = pdfPage.stats; - if (self.onAfterDraw) { - self.onAfterDraw(); + this._resetZoomLayer(true); + this.error = error; + this.stats = pdfPage.stats; + if (this.onAfterDraw) { + this.onAfterDraw(); } - self.eventBus.dispatch('pagerendered', { - source: self, - pageNumber: self.id, + this.eventBus.dispatch('pagerendered', { + source: this, + pageNumber: this.id, cssTransform: false }); if (error) { @@ -4928,10 +4926,10 @@ var PDFPageView = function PDFPageViewClosure() { } return Promise.resolve(undefined); }; - var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); + let paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper); paintTask.onRenderContinue = renderContinueCallback; this.paintTask = paintTask; - var resultPromise = paintTask.promise.then(function () { + let resultPromise = paintTask.promise.then(function () { return finishPaintTask(null).then(function () { if (textLayer) { pdfPage.getTextContent({ normalizeWhitespace: true }).then(function textContentResolved(textContent) { @@ -5024,16 +5022,16 @@ var PDFPageView = function PDFPageViewClosure() { cont(); } }; - renderTask.promise.then(function pdfPageRenderCallback() { + renderTask.promise.then(function () { showCanvas(); renderCapability.resolve(undefined); - }, function pdfPageRenderError(error) { + }, function (error) { showCanvas(); renderCapability.reject(error); }); return result; }, - paintOnSvg: function PDFPageView_paintOnSvg(wrapper) { + paintOnSvg(wrapper) { return { promise: Promise.reject(new Error('SVG rendering is not supported.')), onRenderContinue(cont) {}, @@ -5845,53 +5843,52 @@ var PDFThumbnailView = function PDFThumbnailViewClosure() { this.canvas.height = 0; delete this.canvas; }, - draw: function PDFThumbnailView_draw() { + draw() { if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) { console.error('Must be in new state before drawing'); return Promise.resolve(undefined); } this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; - var renderCapability = (0, _pdfjs.createPromiseCapability)(); - var self = this; - function thumbnailDrawCallback(error) { - if (renderTask === self.renderTask) { - self.renderTask = null; + let renderCapability = (0, _pdfjs.createPromiseCapability)(); + let finishRenderTask = error => { + if (renderTask === this.renderTask) { + this.renderTask = null; } if (error instanceof _pdfjs.RenderingCancelledException) { renderCapability.resolve(undefined); return; } - self.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; - self._convertCanvasToImage(); + this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED; + this._convertCanvasToImage(); if (!error) { renderCapability.resolve(undefined); } else { renderCapability.reject(error); } - } - var ctx = this._getPageDrawContext(); - var drawViewport = this.viewport.clone({ scale: this.scale }); - var renderContinueCallback = function renderContinueCallback(cont) { - if (!self.renderingQueue.isHighestPriority(self)) { - self.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; - self.resume = function resumeCallback() { - self.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; + }; + let ctx = this._getPageDrawContext(); + let drawViewport = this.viewport.clone({ scale: this.scale }); + let renderContinueCallback = cont => { + if (!this.renderingQueue.isHighestPriority(this)) { + this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED; + this.resume = () => { + this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING; cont(); }; return; } cont(); }; - var renderContext = { + let renderContext = { canvasContext: ctx, viewport: drawViewport }; - var renderTask = this.renderTask = this.pdfPage.render(renderContext); + let renderTask = this.renderTask = this.pdfPage.render(renderContext); renderTask.onContinue = renderContinueCallback; - renderTask.promise.then(function pdfPageRenderCallback() { - thumbnailDrawCallback(null); - }, function pdfPageRenderError(error) { - thumbnailDrawCallback(error); + renderTask.promise.then(function () { + finishRenderTask(null); + }, function (error) { + finishRenderTask(error); }); return renderCapability.promise; }, From 9bf70967d92742545bc31988b0e4438948a41149 Mon Sep 17 00:00:00 2001 From: Jordan Lund Date: Wed, 17 May 2017 17:24:01 -0700 Subject: [PATCH 28/38] Bug 1365588 - fix l10n repacks for DevEdition on Beta, gecko, DONTBUILD, r=rail MozReview-Commit-ID: 1arksrFhsv9 --HG-- rename : browser/config/mozconfigs/linux32/l10n-mozconfig => browser/config/mozconfigs/linux32/l10n-mozconfig-devedition rename : browser/config/mozconfigs/linux64/l10n-mozconfig => browser/config/mozconfigs/linux64/l10n-mozconfig-devedition rename : browser/config/mozconfigs/macosx64/l10n-mozconfig => browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition rename : browser/config/mozconfigs/win32/l10n-mozconfig => browser/config/mozconfigs/win32/l10n-mozconfig-devedition rename : browser/config/mozconfigs/win64/l10n-mozconfig => browser/config/mozconfigs/win64/l10n-mozconfig-devedition rename : testing/mozharness/configs/single_locale/dev-mozilla-beta.py => testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py rename : testing/mozharness/configs/single_locale/linux64.py => testing/mozharness/configs/single_locale/linux64_devedition.py rename : testing/mozharness/configs/single_locale/linux.py => testing/mozharness/configs/single_locale/linux_devedition.py rename : testing/mozharness/configs/single_locale/macosx64.py => testing/mozharness/configs/single_locale/macosx64_devedition.py rename : testing/mozharness/configs/single_locale/mozilla-beta.py => testing/mozharness/configs/single_locale/mozilla-beta_devedition.py rename : testing/mozharness/configs/single_locale/win32.py => testing/mozharness/configs/single_locale/win32_devedition.py rename : testing/mozharness/configs/single_locale/win64.py => testing/mozharness/configs/single_locale/win64_devedition.py extra : rebase_source : c1242ce513624d519756d1628896f3343a047d00 extra : amend_source : f434761fe2f88cfc4af97229d5bdbe07becf75a2 extra : source : 9cee0e8b00d28d7e977df6ee3e1adc9680004b8d --- .../linux32/l10n-mozconfig-devedition | 20 +++ .../linux64/l10n-mozconfig-devedition | 20 +++ .../macosx64/l10n-mozconfig-devedition | 22 ++++ .../win32/l10n-mozconfig-devedition | 19 +++ .../win64/l10n-mozconfig-devedition | 20 +++ .../dev-mozilla-beta_devedition.py | 37 ++++++ .../single_locale/linux32_devedition.py | 1 + .../single_locale/linux64_devedition.py | 104 +++++++++++++++ .../configs/single_locale/linux_devedition.py | 124 ++++++++++++++++++ .../single_locale/macosx64_devedition.py | 72 ++++++++++ .../single_locale/mozilla-beta_devedition.py | 37 ++++++ .../configs/single_locale/win32_devedition.py | 76 +++++++++++ .../configs/single_locale/win64_devedition.py | 76 +++++++++++ 13 files changed, 628 insertions(+) create mode 100644 browser/config/mozconfigs/linux32/l10n-mozconfig-devedition create mode 100644 browser/config/mozconfigs/linux64/l10n-mozconfig-devedition create mode 100644 browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition create mode 100644 browser/config/mozconfigs/win32/l10n-mozconfig-devedition create mode 100644 browser/config/mozconfigs/win64/l10n-mozconfig-devedition create mode 100644 testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py create mode 120000 testing/mozharness/configs/single_locale/linux32_devedition.py create mode 100644 testing/mozharness/configs/single_locale/linux64_devedition.py create mode 100644 testing/mozharness/configs/single_locale/linux_devedition.py create mode 100644 testing/mozharness/configs/single_locale/macosx64_devedition.py create mode 100644 testing/mozharness/configs/single_locale/mozilla-beta_devedition.py create mode 100644 testing/mozharness/configs/single_locale/win32_devedition.py create mode 100644 testing/mozharness/configs/single_locale/win64_devedition.py diff --git a/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition b/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition new file mode 100644 index 000000000000..c424d85cbac9 --- /dev/null +++ b/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition @@ -0,0 +1,20 @@ +no_sccache=1 + +ac_add_options --with-l10n-base=../../l10n +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +. $topsrcdir/build/unix/mozconfig.linux32 + +export MOZILLA_OFFICIAL=1 + +# Enable Telemetry +export MOZ_TELEMETRY_REPORTING=1 + +ac_add_options --disable-stdcxx-compat + +# Don't autoclobber l10n, as this can lead to missing binaries and broken builds +# Bug 1283438 +mk_add_options AUTOCLOBBER= + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition b/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition new file mode 100644 index 000000000000..5840790c36a4 --- /dev/null +++ b/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition @@ -0,0 +1,20 @@ +no_sccache=1 + +ac_add_options --with-l10n-base=../../l10n +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +. $topsrcdir/build/unix/mozconfig.linux + +export MOZILLA_OFFICIAL=1 + +# Enable Telemetry +export MOZ_TELEMETRY_REPORTING=1 + +ac_add_options --disable-stdcxx-compat + +# Don't autoclobber l10n, as this can lead to missing binaries and broken builds +# Bug 1283438 +mk_add_options AUTOCLOBBER= + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition b/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition new file mode 100644 index 000000000000..f0675932bd94 --- /dev/null +++ b/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition @@ -0,0 +1,22 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/build/macosx/mozconfig.common" + +ac_add_options --with-l10n-base=../../l10n +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-branding=browser/branding/aurora + +if test "${MOZ_UPDATE_CHANNEL}" = "nightly"; then +ac_add_options --with-macbundlename-prefix=Firefox +fi + +export MOZILLA_OFFICIAL=1 + +# Enable Telemetry +export MOZ_TELEMETRY_REPORTING=1 + +# Don't autoclobber l10n, as this can lead to missing binaries and broken builds +# Bug 1283438 +mk_add_options AUTOCLOBBER= + +. "$topsrcdir/build/mozconfig.common.override" +. "$topsrcdir/build/mozconfig.cache" diff --git a/browser/config/mozconfigs/win32/l10n-mozconfig-devedition b/browser/config/mozconfigs/win32/l10n-mozconfig-devedition new file mode 100644 index 000000000000..5542dbbc031c --- /dev/null +++ b/browser/config/mozconfigs/win32/l10n-mozconfig-devedition @@ -0,0 +1,19 @@ +. "$topsrcdir/browser/config/mozconfigs/common" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-l10n-base=../../l10n +ac_add_options --with-windows-version=603 +ac_add_options --with-branding=browser/branding/aurora + +export MOZILLA_OFFICIAL=1 + +# Enable Telemetry +export MOZ_TELEMETRY_REPORTING=1 + +# Don't autoclobber l10n, as this can lead to missing binaries and broken builds +# Bug 1283438 +mk_add_options AUTOCLOBBER= + +. $topsrcdir/build/win32/mozconfig.vs-latest + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/browser/config/mozconfigs/win64/l10n-mozconfig-devedition b/browser/config/mozconfigs/win64/l10n-mozconfig-devedition new file mode 100644 index 000000000000..03a0365a0c8f --- /dev/null +++ b/browser/config/mozconfigs/win64/l10n-mozconfig-devedition @@ -0,0 +1,20 @@ +. "$topsrcdir/browser/config/mozconfigs/common" +. "$topsrcdir/browser/config/mozconfigs/win64/common-win64" + +ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL} +ac_add_options --with-l10n-base=../../l10n +ac_add_options --with-windows-version=603 +ac_add_options --with-branding=browser/branding/aurora + +export MOZILLA_OFFICIAL=1 + +# Enable Telemetry +export MOZ_TELEMETRY_REPORTING=1 + +# Don't autoclobber l10n, as this can lead to missing binaries and broken builds +# Bug 1283438 +mk_add_options AUTOCLOBBER= + +. $topsrcdir/build/win64/mozconfig.vs-latest + +. "$topsrcdir/build/mozconfig.common.override" diff --git a/testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py b/testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py new file mode 100644 index 000000000000..56e133f48f46 --- /dev/null +++ b/testing/mozharness/configs/single_locale/dev-mozilla-beta_devedition.py @@ -0,0 +1,37 @@ +config = { + "branch": "date", + "nightly_build": True, + "update_channel": "aurora-dev", # devedition uses aurora based branding + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + + # repositories + # staging beta dev releases use date repo for now + "mozilla_dir": "date", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/projects/date", + "branch": "%(revision)s", + "dest": "date", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'is_automation': True, + 'purge_minsize': 12, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/linux32_devedition.py b/testing/mozharness/configs/single_locale/linux32_devedition.py new file mode 120000 index 000000000000..b308e6feb977 --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux32_devedition.py @@ -0,0 +1 @@ +linux_devedition.py \ No newline at end of file diff --git a/testing/mozharness/configs/single_locale/linux64_devedition.py b/testing/mozharness/configs/single_locale/linux64_devedition.py new file mode 100644 index 000000000000..7a13602f2be1 --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux64_devedition.py @@ -0,0 +1,104 @@ +import os + +config = { + "platform": "linux64", + "stage_product": "firefox", + "update_platform": "Linux_x86_64-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/linux64/l10n-mozconfig-devedition", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'EN_US_PACKAGE_NAME': 'target.tar.bz2', + }, + "ssh_key_dir": "/home/mock_mozilla/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/linux64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.linux-x86_64.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.linux-x86_64.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.linux-x86_64.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.linux-x86_64.partial.%(from_buildid)s-%(to_buildid)s.mar", + "installer_file": "firefox-%(version)s.en-US.linux-x86_64.tar.bz2", + + # Mock + 'mock_target': 'mozilla-centos6-x86_64', + + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', 'dbus-x11', + ######## 64 bit specific ########### + 'glibc-static', 'libstdc++-static', + 'gtk2-devel', 'libnotify-devel', + 'alsa-lib-devel', 'libcurl-devel', 'wireless-tools-devel', + 'libX11-devel', 'libXt-devel', 'mesa-libGL-devel', 'gnome-vfs2-devel', + 'GConf2-devel', + ### from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'pulseaudio-libs-devel', 'gstreamer-devel', + 'gstreamer-plugins-base-devel', 'freetype-2.3.11-6.el6_1.8.x86_64', + 'freetype-devel-2.3.11-6.el6_1.8.x86_64' + ], + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/linux_devedition.py b/testing/mozharness/configs/single_locale/linux_devedition.py new file mode 100644 index 000000000000..9717294624be --- /dev/null +++ b/testing/mozharness/configs/single_locale/linux_devedition.py @@ -0,0 +1,124 @@ +import os + +config = { + "platform": "linux", + "stage_product": "firefox", + "update_platform": "Linux_x86-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/linux32/l10n-mozconfig-devedition", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + 'EN_US_PACKAGE_NAME': 'target.tar.bz2', + }, + "ssh_key_dir": "/home/mock_mozilla/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/linux32/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.linux-i686.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.linux-i686.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.linux-i686.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.linux-i686.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.linux-i686.tar.bz2", + + # Mock + 'mock_target': 'mozilla-centos6-x86_64', + 'mock_packages': [ + 'autoconf213', 'python', 'mozilla-python27', 'zip', 'mozilla-python27-mercurial', + 'git', 'ccache', 'perl-Test-Simple', 'perl-Config-General', + 'yasm', 'wget', + 'mpfr', # required for system compiler + 'xorg-x11-font*', # fonts required for PGO + 'imake', # required for makedepend!?! + ### <-- from releng repo + 'gcc45_0moz3', 'gcc454_0moz1', 'gcc472_0moz1', 'gcc473_0moz1', + 'yasm', 'ccache', + ### + 'valgrind', + ######## 32 bit specific ########### + 'glibc-static.i686', 'libstdc++-static.i686', + 'gtk2-devel.i686', 'libnotify-devel.i686', + 'alsa-lib-devel.i686', 'libcurl-devel.i686', + 'wireless-tools-devel.i686', 'libX11-devel.i686', + 'libXt-devel.i686', 'mesa-libGL-devel.i686', + 'gnome-vfs2-devel.i686', 'GConf2-devel.i686', + 'pulseaudio-libs-devel.i686', + 'gstreamer-devel.i686', 'gstreamer-plugins-base-devel.i686', + # Packages already installed in the mock environment, as x86_64 + # packages. + 'glibc-devel.i686', 'libgcc.i686', 'libstdc++-devel.i686', + # yum likes to install .x86_64 -devel packages that satisfy .i686 + # -devel packages dependencies. So manually install the dependencies + # of the above packages. + 'ORBit2-devel.i686', 'atk-devel.i686', 'cairo-devel.i686', + 'check-devel.i686', 'dbus-devel.i686', 'dbus-glib-devel.i686', + 'fontconfig-devel.i686', 'glib2-devel.i686', + 'hal-devel.i686', 'libICE-devel.i686', 'libIDL-devel.i686', + 'libSM-devel.i686', 'libXau-devel.i686', 'libXcomposite-devel.i686', + 'libXcursor-devel.i686', 'libXdamage-devel.i686', + 'libXdmcp-devel.i686', 'libXext-devel.i686', 'libXfixes-devel.i686', + 'libXft-devel.i686', 'libXi-devel.i686', 'libXinerama-devel.i686', + 'libXrandr-devel.i686', 'libXrender-devel.i686', + 'libXxf86vm-devel.i686', 'libdrm-devel.i686', 'libidn-devel.i686', + 'libpng-devel.i686', 'libxcb-devel.i686', 'libxml2-devel.i686', + 'pango-devel.i686', 'perl-devel.i686', 'pixman-devel.i686', + 'zlib-devel.i686', + # Freetype packages need to be installed be version, because a newer + # version is available, but we don't want it for Firefox builds. + 'freetype-2.3.11-6.el6_1.8.i686', + 'freetype-devel-2.3.11-6.el6_1.8.i686', + 'freetype-2.3.11-6.el6_1.8.x86_64', + ######## 32 bit specific ########### + ], + 'mock_files': [ + ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'), + ('/home/cltbld/.hgrc', '/builds/.hgrc'), + ('/home/cltbld/.boto', '/builds/.boto'), + ('/builds/gapi.data', '/builds/gapi.data'), + ('/builds/relengapi.tok', '/builds/relengapi.tok'), + ('/tools/tooltool.py', '/builds/tooltool.py'), + ('/usr/local/lib/hgext', '/usr/local/lib/hgext'), + ], +} diff --git a/testing/mozharness/configs/single_locale/macosx64_devedition.py b/testing/mozharness/configs/single_locale/macosx64_devedition.py new file mode 100644 index 000000000000..4e59e6b1c8cb --- /dev/null +++ b/testing/mozharness/configs/single_locale/macosx64_devedition.py @@ -0,0 +1,72 @@ +import os + +config = { + # mozconfig file to use, it depends on branch and platform names + "platform": "macosx64", + "stage_product": "firefox", + "update_platform": "Darwin_x86_64-gcc3", + "mozconfig": "%(branch)s/browser/config/mozconfigs/macosx64/l10n-mozconfig-devedition", + "bootstrap_env": { + "SHELL": '/bin/bash', + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "MOZ_PKG_PLATFORM": "mac", + # "IS_NIGHTLY": "yes", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s/", + 'TOOLTOOL_CACHE': '/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "/builds/hg-shared", + + "upload_env_extra": { + "MOZ_PKG_PLATFORM": "mac", + }, + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': ["/builds/tooltool.py"], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/macosx64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist/previous", + "current_mar_dir": "dist/current", + "update_mar_dir": "dist/update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist/l10n-stage", + "application_ini": "Contents/Resources/application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools/update-packaging/unwrap_full_update.pl", + "incremental_update_script": "tools/update-packaging/make_incremental_update.sh", + "balrog_release_pusher_script": "scripts/updates/balrog-release-pusher.py", + "update_packaging_dir": "tools/update-packaging", + "local_mar_tool_dir": "dist/host/bin", + "mar": "mar", + "mbsdiff": "mbsdiff", + "current_mar_filename": "firefox-%(version)s.%(locale)s.mac.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.mac.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.mac.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.mac.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.mac.dmg", +} diff --git a/testing/mozharness/configs/single_locale/mozilla-beta_devedition.py b/testing/mozharness/configs/single_locale/mozilla-beta_devedition.py new file mode 100644 index 000000000000..00b5c2744a9c --- /dev/null +++ b/testing/mozharness/configs/single_locale/mozilla-beta_devedition.py @@ -0,0 +1,37 @@ +config = { + "nightly_build": True, + "branch": "mozilla-beta", + "en_us_binary_url": "http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-mozilla-beta/", + "update_channel": "aurora", # devedition uses aurora based branding + + # l10n + "hg_l10n_base": "https://hg.mozilla.org/releases/l10n/mozilla-beta", + + # repositories + "mozilla_dir": "mozilla-beta", + "repos": [{ + "vcs": "hg", + "repo": "https://hg.mozilla.org/build/tools", + "branch": "default", + "dest": "tools", + }, { + "vcs": "hg", + "repo": "https://hg.mozilla.org/releases/mozilla-beta", + "revision": "%(revision)s", + "dest": "mozilla-beta", + "clone_upstream_url": "https://hg.mozilla.org/mozilla-unified", + }], + # purge options + 'purge_minsize': 12, + 'is_automation': True, + 'default_actions': [ + "clobber", + "pull", + "clone-locales", + "list-locales", + "setup", + "repack", + "taskcluster-upload", + "summary", + ], +} diff --git a/testing/mozharness/configs/single_locale/win32_devedition.py b/testing/mozharness/configs/single_locale/win32_devedition.py new file mode 100644 index 000000000000..aa79e96d6ac5 --- /dev/null +++ b/testing/mozharness/configs/single_locale/win32_devedition.py @@ -0,0 +1,76 @@ +import os +import sys + +config = { + "platform": "win32", + "stage_product": "firefox", + "update_platform": "WINNT_x86-msvc", + "mozconfig": "%(branch)s/browser/config/mozconfigs/win32/l10n-mozconfig-devedition", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "PATH": 'C:\\mozilla-build\\nsis-3.01;' + '%s' % (os.environ.get('path')), + 'TOOLTOOL_CACHE': 'c:/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "c:/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/win32/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist\\previous", + "current_mar_dir": "dist\\current", + "update_mar_dir": "dist\\update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist\\l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools\\update-packaging\\unwrap_full_update.pl", + "incremental_update_script": "tools\\update-packaging\\make_incremental_update.sh", + "balrog_release_pusher_script": "scripts\\updates\\balrog-release-pusher.py", + "update_packaging_dir": "tools\\update-packaging", + "local_mar_tool_dir": "dist\\host\\bin", + "mar": "mar.exe", + "mbsdiff": "mbsdiff.exe", + "current_mar_filename": "firefox-%(version)s.%(locale)s.win32.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.win32.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.win32.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.win32.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.win32.installer.exe", + + # use mozmake? + "enable_mozmake": True, + 'exes': { + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + } +} diff --git a/testing/mozharness/configs/single_locale/win64_devedition.py b/testing/mozharness/configs/single_locale/win64_devedition.py new file mode 100644 index 000000000000..a5a2dcdd03eb --- /dev/null +++ b/testing/mozharness/configs/single_locale/win64_devedition.py @@ -0,0 +1,76 @@ +import os +import sys + +config = { + "platform": "win64", + "stage_product": "firefox", + "update_platform": "WINNT_x86_64-msvc", + "mozconfig": "%(branch)s/browser/config/mozconfigs/win64/l10n-mozconfig-devedition", + "bootstrap_env": { + "MOZ_OBJDIR": "obj-l10n", + "EN_US_BINARY_URL": "%(en_us_binary_url)s", + "MOZ_UPDATE_CHANNEL": "%(update_channel)s", + "DIST": "%(abs_objdir)s", + "LOCALE_MERGEDIR": "%(abs_merge_dir)s", + "L10NBASEDIR": "../../l10n", + "MOZ_MAKE_COMPLETE_MAR": "1", + "PATH": 'C:\\mozilla-build\\nsis-3.01;' + '%s' % (os.environ.get('path')), + 'TOOLTOOL_CACHE': 'c:/builds/tooltool_cache', + 'TOOLTOOL_HOME': '/c/builds', + }, + "ssh_key_dir": "~/.ssh", + "log_name": "single_locale", + "objdir": "obj-l10n", + "js_src_dir": "js/src", + "vcs_share_base": "c:/builds/hg-shared", + + # tooltool + 'tooltool_url': 'https://api.pub.build.mozilla.org/tooltool/', + 'tooltool_script': [sys.executable, + 'C:/mozilla-build/tooltool.py'], + 'tooltool_bootstrap': "setup.sh", + 'tooltool_manifest_src': 'browser/config/tooltool-manifests/win64/releng.manifest', + # balrog credential file: + 'balrog_credentials_file': 'oauth.txt', + + # l10n + "ignore_locales": ["en-US", "ja-JP-mac"], + "l10n_dir": "l10n", + "locales_file": "%(branch)s/browser/locales/all-locales", + "locales_dir": "browser/locales", + "hg_l10n_tag": "default", + "merge_locales": True, + + # MAR + "previous_mar_dir": "dist\\previous", + "current_mar_dir": "dist\\current", + "update_mar_dir": "dist\\update", # sure? + "previous_mar_filename": "previous.mar", + "current_work_mar_dir": "current.work", + "package_base_dir": "dist\\l10n-stage", + "application_ini": "application.ini", + "buildid_section": 'App', + "buildid_option": "BuildID", + "unpack_script": "tools\\update-packaging\\unwrap_full_update.pl", + "incremental_update_script": "tools\\update-packaging\\make_incremental_update.sh", + "balrog_release_pusher_script": "scripts\\updates\\balrog-release-pusher.py", + "update_packaging_dir": "tools\\update-packaging", + "local_mar_tool_dir": "dist\\host\\bin", + "mar": "mar.exe", + "mbsdiff": "mbsdiff.exe", + "current_mar_filename": "firefox-%(version)s.%(locale)s.win64.complete.mar", + "complete_mar": "firefox-%(version)s.en-US.win64.complete.mar", + "localized_mar": "firefox-%(version)s.%(locale)s.win64.complete.mar", + "partial_mar": "firefox-%(version)s.%(locale)s.win64.partial.%(from_buildid)s-%(to_buildid)s.mar", + 'installer_file': "firefox-%(version)s.en-US.win64.installer.exe", + + # use mozmake? + "enable_mozmake": True, + 'exes': { + 'virtualenv': [ + sys.executable, + 'c:/mozilla-build/buildbotve/virtualenv.py' + ], + } +} From dd07e2a56bcbd10a491f8ecf4f80c82003d84232 Mon Sep 17 00:00:00 2001 From: Michael Layzell Date: Tue, 2 May 2017 15:36:35 -0400 Subject: [PATCH 29/38] Bug 1357829 - Part 1: Expose profiler_suspend_and_sample_thread, r=njn This patch performs a refactoring to the internals of the profiler in order to expose a function, profiler_suspend_and_sample_thread, which can be called from a background thread to suspend, sample the native stack, and then resume the target passed-in thread. The interface was designed to expose as few internals of the profiler as possible, exposing only a single callback which accepts the list of program counters and stack pointers collected during the backtrace. A method `profiler_current_thread_id` was also added to get the thread_id of the current thread, which can then be passed by another thread into profiler_suspend_sample_thread to sample the stack of that thread. This is implemented in two parts: 1) Splitting SamplerThread into two classes: Sampler, and SamplerThread. Sampler was created to extract the core logic from SamplerThread which manages unix signals on android and linux, as well as suspends the target thread on all platforms. SamplerThread was then modified to subclass this type, adding the extra methods and fields required for the creation and management of the actual Sampler Thread. Some work was done to ensure that the methods on Sampler would not require ActivePS to be present, as we intend to sample threads when the profiler is not active for the Background Hang Reporter. 2) Moving the Tick() logic into the TickController interface. A TickController interface was added to platform which has 2 methods: Tick and Backtrace. The Tick method replaces the previous Tick() static method, allowing it to be overridden by a different consumer of SuspendAndSampleAndResumeThread, while the Backtrace() method replaces the previous MergeStacksIntoProfile method, allowing it to be overridden by different consumers of DoNativeBacktrace. This interface object is then used to wrap implementation specific data, such as the ProfilerBuffer, and is threaded through the SuspendAndSampleAndResumeThread and DoNativeBacktrace methods. This change added 2 virtual calls to the SamplerThread's critical section, which I believe should be a small enough overhead that it will not affect profiling performance. These virtual calls could be avoided using templating, but I decided that doing so would be unnecessary. MozReview-Commit-ID: AT48xb2asgV --- .../profiler/core/platform-linux-android.cpp | 166 ++++++---- tools/profiler/core/platform-macos.cpp | 99 +++--- tools/profiler/core/platform-win32.cpp | 196 ++++++----- tools/profiler/core/platform.cpp | 308 ++++++++++++------ tools/profiler/public/GeckoProfiler.h | 15 + 5 files changed, 484 insertions(+), 300 deletions(-) diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp index 2d607b2af5e5..cf348b33bbcf 100644 --- a/tools/profiler/core/platform-linux-android.cpp +++ b/tools/profiler/core/platform-linux-android.cpp @@ -130,7 +130,7 @@ public: }; //////////////////////////////////////////////////////////////////////// -// BEGIN SamplerThread target specifics +// BEGIN Sampler target specifics // The only way to reliably interrupt a Linux thread and inspect its register // and stack state is by sending a signal to it, and doing the work inside the @@ -199,7 +199,7 @@ struct SigHandlerCoordinator ucontext_t mUContext; // Context at signal }; -struct SigHandlerCoordinator* SamplerThread::sSigHandlerCoordinator = nullptr; +struct SigHandlerCoordinator* Sampler::sSigHandlerCoordinator = nullptr; static void SigprofHandler(int aSignal, siginfo_t* aInfo, void* aContext) @@ -208,18 +208,18 @@ SigprofHandler(int aSignal, siginfo_t* aInfo, void* aContext) int savedErrno = errno; MOZ_ASSERT(aSignal == SIGPROF); - MOZ_ASSERT(SamplerThread::sSigHandlerCoordinator); + MOZ_ASSERT(Sampler::sSigHandlerCoordinator); // By sending us this signal, the sampler thread has sent us message 1 in // the comment above, with the meaning "|sSigHandlerCoordinator| is ready // for use, please copy your register context into it." - SamplerThread::sSigHandlerCoordinator->mUContext = + Sampler::sSigHandlerCoordinator->mUContext = *static_cast(aContext); // Send message 2: tell the sampler thread that the context has been copied // into |sSigHandlerCoordinator->mUContext|. sem_post can never fail by // being interrupted by a signal, so there's no loop around this call. - int r = sem_post(&SamplerThread::sSigHandlerCoordinator->mMessage2); + int r = sem_post(&Sampler::sSigHandlerCoordinator->mMessage2); MOZ_ASSERT(r == 0); // At this point, the sampler thread assumes we are suspended, so we must @@ -227,7 +227,7 @@ SigprofHandler(int aSignal, siginfo_t* aInfo, void* aContext) // Wait for message 3: the sampler thread tells us to resume. while (true) { - r = sem_wait(&SamplerThread::sSigHandlerCoordinator->mMessage3); + r = sem_wait(&Sampler::sSigHandlerCoordinator->mMessage3); if (r == -1 && errno == EINTR) { // Interrupted by a signal. Try again. continue; @@ -240,33 +240,19 @@ SigprofHandler(int aSignal, siginfo_t* aInfo, void* aContext) // Send message 4: tell the sampler thread that we are finished accessing // |sSigHandlerCoordinator|. After this point it is not safe to touch // |sSigHandlerCoordinator|. - r = sem_post(&SamplerThread::sSigHandlerCoordinator->mMessage4); + r = sem_post(&Sampler::sSigHandlerCoordinator->mMessage4); MOZ_ASSERT(r == 0); errno = savedErrno; } -static void* -ThreadEntry(void* aArg) -{ - auto thread = static_cast(aArg); - thread->mSamplerTid = gettid(); - thread->Run(); - return nullptr; -} - -SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, - double aIntervalMilliseconds) - : mActivityGeneration(aActivityGeneration) - , mIntervalMicroseconds( - std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) - , mMyPid(getpid()) +Sampler::Sampler(PSLockRef aLock) + : mMyPid(getpid()) // We don't know what the sampler thread's ID will be until it runs, so set - // mSamplerTid to a dummy value and fill it in for real in ThreadEntry(). + // mSamplerTid to a dummy value and fill it in for real in + // SuspendAndSampleAndResumeThread(). , mSamplerTid(-1) { - MOZ_RELEASE_ASSERT(NS_IsMainThread()); - #if defined(USE_EHABI_STACKWALK) mozilla::EHABIStackWalkInit(); #elif defined(USE_LUL_STACKWALK) @@ -304,66 +290,28 @@ SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, } } #endif - - // Start the sampling thread. It repeatedly sends a SIGPROF signal. Sending - // the signal ourselves instead of relying on itimer provides much better - // accuracy. - if (pthread_create(&mThread, nullptr, ThreadEntry, this) != 0) { - MOZ_CRASH("pthread_create failed"); - } -} - -SamplerThread::~SamplerThread() -{ - pthread_join(mThread, nullptr); } void -SamplerThread::Stop(PSLockRef aLock) +Sampler::Disable(PSLockRef aLock) { - MOZ_RELEASE_ASSERT(NS_IsMainThread()); - // Restore old signal handler. This is global state so it's important that - // we do it now, while gPSMutex is locked. It's safe to do this now even - // though this SamplerThread is still alive, because the next time the main - // loop of Run() iterates it won't get past the mActivityGeneration check, - // and so won't send any signals. + // we do it now, while gPSMutex is locked. sigaction(SIGPROF, &mOldSigprofHandler, 0); } void -SamplerThread::SleepMicro(uint32_t aMicroseconds) -{ - if (aMicroseconds >= 1000000) { - // Use usleep for larger intervals, because the nanosleep - // code below only supports intervals < 1 second. - MOZ_ALWAYS_TRUE(!::usleep(aMicroseconds)); - return; - } - - struct timespec ts; - ts.tv_sec = 0; - ts.tv_nsec = aMicroseconds * 1000UL; - - int rv = ::nanosleep(&ts, &ts); - - while (rv != 0 && errno == EINTR) { - // Keep waiting in case of interrupt. - // nanosleep puts the remaining time back into ts. - rv = ::nanosleep(&ts, &ts); - } - - MOZ_ASSERT(!rv, "nanosleep call failed"); -} - -void -SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickSample& aSample) +Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, + TickController& aController, + TickSample& aSample) { // Only one sampler thread can be sampling at once. So we expect to have // complete control over |sSigHandlerCoordinator|. MOZ_ASSERT(!sSigHandlerCoordinator); + if (mSamplerTid == -1) { + mSamplerTid = gettid(); + } int sampleeTid = aSample.mThreadId; MOZ_RELEASE_ASSERT(sampleeTid != mSamplerTid); @@ -410,7 +358,7 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, // Extract the current PC and sp. FillInSample(aSample, &sSigHandlerCoordinator->mUContext); - Tick(aLock, ActivePS::Buffer(aLock), aSample); + aController.Tick(aLock, aSample); //----------------------------------------------------------------// // Resume the target thread. @@ -440,6 +388,80 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, sSigHandlerCoordinator = nullptr; } +// END Sampler target specifics +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +// BEGIN SamplerThread target specifics + +static void* +ThreadEntry(void* aArg) +{ + auto thread = static_cast(aArg); + thread->Run(); + return nullptr; +} + +SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, + double aIntervalMilliseconds) + : Sampler(aLock) + , mActivityGeneration(aActivityGeneration) + , mIntervalMicroseconds( + std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + // Start the sampling thread. It repeatedly sends a SIGPROF signal. Sending + // the signal ourselves instead of relying on itimer provides much better + // accuracy. + if (pthread_create(&mThread, nullptr, ThreadEntry, this) != 0) { + MOZ_CRASH("pthread_create failed"); + } +} + +SamplerThread::~SamplerThread() +{ + pthread_join(mThread, nullptr); +} + +void +SamplerThread::SleepMicro(uint32_t aMicroseconds) +{ + if (aMicroseconds >= 1000000) { + // Use usleep for larger intervals, because the nanosleep + // code below only supports intervals < 1 second. + MOZ_ALWAYS_TRUE(!::usleep(aMicroseconds)); + return; + } + + struct timespec ts; + ts.tv_sec = 0; + ts.tv_nsec = aMicroseconds * 1000UL; + + int rv = ::nanosleep(&ts, &ts); + + while (rv != 0 && errno == EINTR) { + // Keep waiting in case of interrupt. + // nanosleep puts the remaining time back into ts. + rv = ::nanosleep(&ts, &ts); + } + + MOZ_ASSERT(!rv, "nanosleep call failed"); +} + +void +SamplerThread::Stop(PSLockRef aLock) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + // Restore old signal handler. This is global state so it's important that + // we do it now, while gPSMutex is locked. It's safe to do this now even + // though this SamplerThread is still alive, because the next time the main + // loop of Run() iterates it won't get past the mActivityGeneration check, + // and so won't send any signals. + Sampler::Disable(aLock); +} + // END SamplerThread target specifics //////////////////////////////////////////////////////////////////////// diff --git a/tools/profiler/core/platform-macos.cpp b/tools/profiler/core/platform-macos.cpp index 163ad4570447..90613ac2b7b0 100644 --- a/tools/profiler/core/platform-macos.cpp +++ b/tools/profiler/core/platform-macos.cpp @@ -62,54 +62,21 @@ private: }; //////////////////////////////////////////////////////////////////////// -// BEGIN SamplerThread target specifics +// BEGIN Sampler target specifics -static void* -ThreadEntry(void* aArg) +Sampler::Sampler(PSLockRef aLock) { - auto thread = static_cast(aArg); - thread->Run(); - return nullptr; -} - -SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, - double aIntervalMilliseconds) - : mActivityGeneration(aActivityGeneration) - , mIntervalMicroseconds( - std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) -{ - MOZ_RELEASE_ASSERT(NS_IsMainThread()); - - pthread_attr_t* attr_ptr = nullptr; - if (pthread_create(&mThread, attr_ptr, ThreadEntry, this) != 0) { - MOZ_CRASH("pthread_create failed"); - } -} - -SamplerThread::~SamplerThread() -{ - pthread_join(mThread, nullptr); } void -SamplerThread::Stop(PSLockRef aLock) +Sampler::Disable(PSLockRef aLock) { - MOZ_RELEASE_ASSERT(NS_IsMainThread()); } void -SamplerThread::SleepMicro(uint32_t aMicroseconds) -{ - usleep(aMicroseconds); - // FIXME: the OSX 10.12 page for usleep says "The usleep() function is - // obsolescent. Use nanosleep(2) instead." This implementation could be - // merged with the linux-android version. Also, this doesn't handle the - // case where the usleep call is interrupted by a signal. -} - -void -SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickSample& aSample) +Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, + TickController& aController, + TickSample& aSample) { thread_act_t samplee_thread = aSample.mPlatformData->ProfiledThread(); @@ -166,7 +133,7 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, aSample.mSP = reinterpret_cast
(state.REGISTER_FIELD(sp)); aSample.mFP = reinterpret_cast
(state.REGISTER_FIELD(bp)); - Tick(aLock, ActivePS::Buffer(aLock), aSample); + aController.Tick(aLock, aSample); } #undef REGISTER_FIELD @@ -181,6 +148,58 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, // WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING } +// END Sampler target specifics +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +// BEGIN SamplerThread target specifics + +static void* +ThreadEntry(void* aArg) +{ + auto thread = static_cast(aArg); + thread->Run(); + return nullptr; +} + +SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, + double aIntervalMilliseconds) + : Sampler(aLock) + , mActivityGeneration(aActivityGeneration) + , mIntervalMicroseconds( + std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + pthread_attr_t* attr_ptr = nullptr; + if (pthread_create(&mThread, attr_ptr, ThreadEntry, this) != 0) { + MOZ_CRASH("pthread_create failed"); + } +} + +SamplerThread::~SamplerThread() +{ + pthread_join(mThread, nullptr); +} + +void +SamplerThread::SleepMicro(uint32_t aMicroseconds) +{ + usleep(aMicroseconds); + // FIXME: the OSX 10.12 page for usleep says "The usleep() function is + // obsolescent. Use nanosleep(2) instead." This implementation could be + // merged with the linux-android version. Also, this doesn't handle the + // case where the usleep call is interrupted by a signal. +} + +void +SamplerThread::Stop(PSLockRef aLock) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + Sampler::Disable(aLock); +} + // END SamplerThread target specifics //////////////////////////////////////////////////////////////////////// diff --git a/tools/profiler/core/platform-win32.cpp b/tools/profiler/core/platform-win32.cpp index ea97f321b22b..e313b422635d 100644 --- a/tools/profiler/core/platform-win32.cpp +++ b/tools/profiler/core/platform-win32.cpp @@ -79,105 +79,26 @@ GetThreadHandle(PlatformData* aData) static const HANDLE kNoThread = INVALID_HANDLE_VALUE; //////////////////////////////////////////////////////////////////////// -// BEGIN SamplerThread target specifics +// BEGIN Sampler target specifics -static unsigned int __stdcall -ThreadEntry(void* aArg) +Sampler::Sampler(PSLockRef aLock) { - auto thread = static_cast(aArg); - thread->Run(); - return 0; -} - -SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, - double aIntervalMilliseconds) - : mActivityGeneration(aActivityGeneration) - , mIntervalMicroseconds( - std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) -{ - MOZ_RELEASE_ASSERT(NS_IsMainThread()); - - // By default we'll not adjust the timer resolution which tends to be - // around 16ms. However, if the requested interval is sufficiently low - // we'll try to adjust the resolution to match. - if (mIntervalMicroseconds < 10*1000) { - ::timeBeginPeriod(mIntervalMicroseconds / 1000); - } - - // Create a new thread. It is important to use _beginthreadex() instead of - // the Win32 function CreateThread(), because the CreateThread() does not - // initialize thread-specific structures in the C runtime library. - mThread = reinterpret_cast( - _beginthreadex(nullptr, - /* stack_size */ 0, - ThreadEntry, - this, - /* initflag */ 0, - nullptr)); - if (mThread == 0) { - MOZ_CRASH("_beginthreadex failed"); - } -} - -SamplerThread::~SamplerThread() -{ - WaitForSingleObject(mThread, INFINITE); - - // Close our own handle for the thread. - if (mThread != kNoThread) { - CloseHandle(mThread); - } } void -SamplerThread::Stop(PSLockRef aLock) +Sampler::Disable(PSLockRef aLock) { - MOZ_RELEASE_ASSERT(NS_IsMainThread()); - - // Disable any timer resolution changes we've made. Do it now while - // gPSMutex is locked, i.e. before any other SamplerThread can be created - // and call ::timeBeginPeriod(). - // - // It's safe to do this now even though this SamplerThread is still alive, - // because the next time the main loop of Run() iterates it won't get past - // the mActivityGeneration check, and so it won't make any more ::Sleep() - // calls. - if (mIntervalMicroseconds < 10 * 1000) { - ::timeEndPeriod(mIntervalMicroseconds / 1000); - } } void -SamplerThread::SleepMicro(uint32_t aMicroseconds) -{ - // For now, keep the old behaviour of minimum Sleep(1), even for - // smaller-than-usual sleeps after an overshoot, unless the user has - // explicitly opted into a sub-millisecond profiler interval. - if (mIntervalMicroseconds >= 1000) { - ::Sleep(std::max(1u, aMicroseconds / 1000)); - } else { - TimeStamp start = TimeStamp::Now(); - TimeStamp end = start + TimeDuration::FromMicroseconds(aMicroseconds); - - // First, sleep for as many whole milliseconds as possible. - if (aMicroseconds >= 1000) { - ::Sleep(aMicroseconds / 1000); - } - - // Then, spin until enough time has passed. - while (TimeStamp::Now() < end) { - _mm_pause(); - } - } -} - -void -SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickSample& aSample) +Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, + TickController& aController, + TickSample& aSample) { HANDLE profiled_thread = aSample.mPlatformData->ProfiledThread(); - if (profiled_thread == nullptr) + if (profiled_thread == nullptr) { return; + } // Context used for sampling the register state of the profiled thread. CONTEXT context; @@ -228,7 +149,7 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, aSample.mContext = &context; - Tick(aLock, ActivePS::Buffer(aLock), aSample); + aController.Tick(aLock, aSample); //----------------------------------------------------------------// // Resume the target thread. @@ -240,6 +161,105 @@ SamplerThread::SuspendAndSampleAndResumeThread(PSLockRef aLock, // WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING } +// END Sampler target specifics +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +// BEGIN SamplerThread target specifics + +static unsigned int __stdcall +ThreadEntry(void* aArg) +{ + auto thread = static_cast(aArg); + thread->Run(); + return 0; +} + +SamplerThread::SamplerThread(PSLockRef aLock, uint32_t aActivityGeneration, + double aIntervalMilliseconds) + : Sampler(aLock) + , mActivityGeneration(aActivityGeneration) + , mIntervalMicroseconds( + std::max(1, int(floor(aIntervalMilliseconds * 1000 + 0.5)))) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + // By default we'll not adjust the timer resolution which tends to be + // around 16ms. However, if the requested interval is sufficiently low + // we'll try to adjust the resolution to match. + if (mIntervalMicroseconds < 10*1000) { + ::timeBeginPeriod(mIntervalMicroseconds / 1000); + } + + // Create a new thread. It is important to use _beginthreadex() instead of + // the Win32 function CreateThread(), because the CreateThread() does not + // initialize thread-specific structures in the C runtime library. + mThread = reinterpret_cast( + _beginthreadex(nullptr, + /* stack_size */ 0, + ThreadEntry, + this, + /* initflag */ 0, + nullptr)); + if (mThread == 0) { + MOZ_CRASH("_beginthreadex failed"); + } +} + +SamplerThread::~SamplerThread() +{ + WaitForSingleObject(mThread, INFINITE); + + // Close our own handle for the thread. + if (mThread != kNoThread) { + CloseHandle(mThread); + } +} + +void +SamplerThread::SleepMicro(uint32_t aMicroseconds) +{ + // For now, keep the old behaviour of minimum Sleep(1), even for + // smaller-than-usual sleeps after an overshoot, unless the user has + // explicitly opted into a sub-millisecond profiler interval. + if (mIntervalMicroseconds >= 1000) { + ::Sleep(std::max(1u, aMicroseconds / 1000)); + } else { + TimeStamp start = TimeStamp::Now(); + TimeStamp end = start + TimeDuration::FromMicroseconds(aMicroseconds); + + // First, sleep for as many whole milliseconds as possible. + if (aMicroseconds >= 1000) { + ::Sleep(aMicroseconds / 1000); + } + + // Then, spin until enough time has passed. + while (TimeStamp::Now() < end) { + _mm_pause(); + } + } +} + +void +SamplerThread::Stop(PSLockRef aLock) +{ + MOZ_RELEASE_ASSERT(NS_IsMainThread()); + + // Disable any timer resolution changes we've made. Do it now while + // gPSMutex is locked, i.e. before any other SamplerThread can be created + // and call ::timeBeginPeriod(). + // + // It's safe to do this now even though this SamplerThread is still alive, + // because the next time the main loop of Run() iterates it won't get past + // the mActivityGeneration check, and so it won't make any more ::Sleep() + // calls. + if (mIntervalMicroseconds < 10 * 1000) { + ::timeEndPeriod(mIntervalMicroseconds / 1000); + } + + Sampler::Disable(aLock); +} + // END SamplerThread target specifics //////////////////////////////////////////////////////////////////////// diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp index a546739e8486..9bff49eb5902 100644 --- a/tools/profiler/core/platform.cpp +++ b/tools/profiler/core/platform.cpp @@ -754,6 +754,15 @@ struct NativeStack size_t count; }; +class TickController +{ +public: + // NOTE: This method is called when the target thread of the sample is paused. + // Do not allocate or attempt to grab any locks during this function call. + virtual void Tick(PSLockRef aLock, + const TickSample& aSample) = 0; +}; + mozilla::Atomic WALKING_JS_STACK(false); struct AutoWalkJSStack @@ -980,31 +989,22 @@ StackWalkCallback(uint32_t aFrameNumber, void* aPC, void* aSP, void* aClosure) } static void -DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, +DoNativeBacktrace(PSLockRef aLock, NativeStack& aNativeStack, const TickSample& aSample) { - void* pc_array[1000]; - void* sp_array[1000]; - NativeStack nativeStack = { - pc_array, - sp_array, - mozilla::ArrayLength(pc_array), - 0 - }; - // Start with the current function. We use 0 as the frame number here because // the FramePointerStackWalk() and MozStackWalk() calls below will use 1..N. // This is a bit weird but it doesn't matter because StackWalkCallback() // doesn't use the frame number argument. - StackWalkCallback(/* frameNum */ 0, aSample.mPC, aSample.mSP, &nativeStack); + StackWalkCallback(/* frameNum */ 0, aSample.mPC, aSample.mSP, &aNativeStack); - uint32_t maxFrames = uint32_t(nativeStack.size - nativeStack.count); + uint32_t maxFrames = uint32_t(aNativeStack.size - aNativeStack.count); #if defined(GP_OS_darwin) || (defined(GP_PLAT_x86_windows)) void* stackEnd = aSample.mStackTop; if (aSample.mFP >= aSample.mSP && aSample.mFP <= stackEnd) { FramePointerStackWalk(StackWalkCallback, /* skipFrames */ 0, maxFrames, - &nativeStack, reinterpret_cast(aSample.mFP), + &aNativeStack, reinterpret_cast(aSample.mFP), stackEnd); } #else @@ -1012,28 +1012,17 @@ DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, // MozStackWalk(). uintptr_t thread = GetThreadHandle(aSample.mPlatformData); MOZ_ASSERT(thread); - MozStackWalk(StackWalkCallback, /* skipFrames */ 0, maxFrames, &nativeStack, + MozStackWalk(StackWalkCallback, /* skipFrames */ 0, maxFrames, &aNativeStack, thread, /* platformData */ nullptr); #endif - - MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); } #endif #ifdef USE_EHABI_STACKWALK static void -DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, +DoNativeBacktrace(PSLockRef aLock, NativeStack& aNativeStack, const TickSample& aSample) { - void* pc_array[1000]; - void* sp_array[1000]; - NativeStack nativeStack = { - pc_array, - sp_array, - mozilla::ArrayLength(pc_array), - 0 - }; - const mcontext_t* mcontext = &reinterpret_cast(aSample.mContext)->uc_mcontext; mcontext_t savedContext; @@ -1054,11 +1043,11 @@ DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, // the saved state. uint32_t* vSP = reinterpret_cast(entry.stackAddress()); - nativeStack.count += EHABIStackWalk(*mcontext, - /* stackBase = */ vSP, - sp_array + nativeStack.count, - pc_array + nativeStack.count, - nativeStack.size - nativeStack.count); + aNativeStack.count += EHABIStackWalk(*mcontext, + /* stackBase = */ vSP, + aNativeStack.sp_array + aNativeStack.count, + aNativeStack.pc_array + aNativeStack.count, + aNativeStack.size - aNativeStack.count); memset(&savedContext, 0, sizeof(savedContext)); @@ -1080,13 +1069,11 @@ DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, // Now unwind whatever's left (starting from either the last EnterJIT frame // or, if no EnterJIT was found, the original registers). - nativeStack.count += EHABIStackWalk(*mcontext, - aSample.mStackTop, - sp_array + nativeStack.count, - pc_array + nativeStack.count, - nativeStack.size - nativeStack.count); - - MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); + aNativeStack.count += EHABIStackWalk(*mcontext, + aSample.mStackTop, + aNativeStack.sp_array + aNativeStack.count, + aNativeStack.pc_array + aNativeStack.count, + aNativeStack.size - aNativeStack.count); } #endif @@ -1111,7 +1098,7 @@ ASAN_memcpy(void* aDst, const void* aSrc, size_t aLen) #endif static void -DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, +DoNativeBacktrace(PSLockRef aLock, NativeStack& aNativeStack, const TickSample& aSample) { const mcontext_t* mc = @@ -1219,36 +1206,28 @@ DoNativeBacktrace(PSLockRef aLock, ProfileBuffer* aBuffer, // The maximum number of frames that LUL will produce. Setting it // too high gives a risk of it wasting a lot of time looping on - // corrupted stacks. + // corrupted stacks. Limit the size of the passed-in native stack + // to not exceed this number. const int MAX_NATIVE_FRAMES = 256; + if (aNativeStack.size > MAX_NATIVE_FRAMES) { + aNativeStack.size = MAX_NATIVE_FRAMES; + } size_t scannedFramesAllowed = 0; - - uintptr_t framePCs[MAX_NATIVE_FRAMES]; - uintptr_t frameSPs[MAX_NATIVE_FRAMES]; - size_t framesAvail = mozilla::ArrayLength(framePCs); - size_t framesUsed = 0; size_t scannedFramesAcquired = 0, framePointerFramesAcquired = 0; lul::LUL* lul = CorePS::Lul(aLock); - lul->Unwind(&framePCs[0], &frameSPs[0], - &framesUsed, &framePointerFramesAcquired, &scannedFramesAcquired, - framesAvail, scannedFramesAllowed, + lul->Unwind(reinterpret_cast(aNativeStack.pc_array), + reinterpret_cast(aNativeStack.sp_array), + &aNativeStack.count, + &framePointerFramesAcquired, &scannedFramesAcquired, + aNativeStack.size, scannedFramesAllowed, &startRegs, &stackImg); - NativeStack nativeStack = { - reinterpret_cast(framePCs), - reinterpret_cast(frameSPs), - mozilla::ArrayLength(framePCs), - framesUsed - }; - - MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); - // Update stats in the LUL stats object. Unfortunately this requires // three global memory operations. lul->mStats.mContext += 1; - lul->mStats.mCFI += framesUsed - 1 - framePointerFramesAcquired - - scannedFramesAcquired; + lul->mStats.mCFI += aNativeStack.count - 1 - framePointerFramesAcquired - + scannedFramesAcquired; lul->mStats.mFP += framePointerFramesAcquired; lul->mStats.mScanned += scannedFramesAcquired; } @@ -1267,24 +1246,51 @@ DoSampleStackTrace(PSLockRef aLock, ProfileBuffer* aBuffer, } } -// This function is called for each sampling period with the current program -// counter. It is called within a signal and so must be re-entrant. -static void -Tick(PSLockRef aLock, ProfileBuffer* aBuffer, const TickSample& aSample) +class ProfilerTickController : public TickController { - aBuffer->addTagThreadId(aSample.mThreadId, aSample.mLastSample); +public: + explicit ProfilerTickController(PSLockRef aLock, ProfileBuffer* aBuffer = nullptr) + : mBuffer(aBuffer ? aBuffer : ActivePS::Buffer(aLock)) + { + } + + // This function is called for each sampling period with the current program + // counter. It is called within a signal and so must be re-entrant. + void Tick(PSLockRef aLock, const TickSample& aSample) override; + +private: + ProfileBuffer* mBuffer; +}; + +void +ProfilerTickController::Tick(PSLockRef aLock, const TickSample& aSample) +{ + MOZ_RELEASE_ASSERT(ActivePS::Exists(aLock)); + + mBuffer->addTagThreadId(aSample.mThreadId, aSample.mLastSample); mozilla::TimeDuration delta = aSample.mTimeStamp - CorePS::ProcessStartTime(aLock); - aBuffer->addTag(ProfileBufferEntry::Time(delta.ToMilliseconds())); + mBuffer->addTag(ProfileBufferEntry::Time(delta.ToMilliseconds())); #if defined(HAVE_NATIVE_UNWIND) if (ActivePS::FeatureStackWalk(aLock)) { - DoNativeBacktrace(aLock, aBuffer, aSample); + void* pc_array[1000]; + void* sp_array[1000]; + NativeStack nativeStack = { + pc_array, + sp_array, + mozilla::ArrayLength(pc_array), + 0 + }; + + DoNativeBacktrace(aLock, nativeStack, aSample); + + MergeStacksIntoProfile(aLock, mBuffer, aSample, nativeStack); } else #endif { - DoSampleStackTrace(aLock, aBuffer, aSample); + DoSampleStackTrace(aLock, mBuffer, aSample); } // Don't process the PseudoStack's markers if we're synchronously sampling @@ -1294,27 +1300,27 @@ Tick(PSLockRef aLock, ProfileBuffer* aBuffer, const TickSample& aSample) aSample.mRacyInfo->GetPendingMarkers(); while (pendingMarkersList && pendingMarkersList->peek()) { ProfilerMarker* marker = pendingMarkersList->popHead(); - aBuffer->addStoredMarker(marker); - aBuffer->addTag(ProfileBufferEntry::Marker(marker)); + mBuffer->addStoredMarker(marker); + mBuffer->addTag(ProfileBufferEntry::Marker(marker)); } } if (aSample.mResponsiveness && aSample.mResponsiveness->HasData()) { mozilla::TimeDuration delta = aSample.mResponsiveness->GetUnresponsiveDuration(aSample.mTimeStamp); - aBuffer->addTag(ProfileBufferEntry::Responsiveness(delta.ToMilliseconds())); + mBuffer->addTag(ProfileBufferEntry::Responsiveness(delta.ToMilliseconds())); } // rssMemory is equal to 0 when we are not recording. if (aSample.mRSSMemory != 0) { double rssMemory = static_cast(aSample.mRSSMemory); - aBuffer->addTag(ProfileBufferEntry::ResidentMemory(rssMemory)); + mBuffer->addTag(ProfileBufferEntry::ResidentMemory(rssMemory)); } // ussMemory is equal to 0 when we are not recording. if (aSample.mUSSMemory != 0) { double ussMemory = static_cast(aSample.mUSSMemory); - aBuffer->addTag(ProfileBufferEntry::UnsharedMemory(ussMemory)); + mBuffer->addTag(ProfileBufferEntry::UnsharedMemory(ussMemory)); } } @@ -1683,17 +1689,72 @@ PrintUsageThenExit(int aExitCode) } //////////////////////////////////////////////////////////////////////// -// BEGIN SamplerThread +// BEGIN Sampler #if defined(GP_OS_linux) || defined(GP_OS_android) struct SigHandlerCoordinator; #endif +// Sampler performs setup and teardown of the state required to sample with the +// profiler. Sampler may exist when ActivePS is not present. +// +// SuspendAndSampleAndResumeThread must only be called from a single thread, +// and must not sample the thread it is being called from. A separate Sampler +// instance must be used for each thread which wants to capture samples. + +// WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING +// +// With the exception of SamplerThread, all Sampler objects must be Disable-d +// before releasing the lock which was used to create them. This avoids races +// on linux with the SIGPROF signal handler. + +class Sampler +{ +public: + // Sets up the profiler such that it can begin sampling. + explicit Sampler(PSLockRef aLock); + + // Disable the sampler, restoring it to its previous state. This must be + // called once, and only once, before the Sampler is destroyed. + void Disable(PSLockRef aLock); + + // This method suspends and resumes the samplee thread. + void SuspendAndSampleAndResumeThread(PSLockRef aLock, + TickController& aController, + TickSample& aSample); + +private: +#if defined(GP_OS_linux) || defined(GP_OS_android) + // Used to restore the SIGPROF handler when ours is removed. + struct sigaction mOldSigprofHandler; + + // This process' ID. Needed as an argument for tgkill in + // SuspendAndSampleAndResumeThread. + int mMyPid; + + // The sampler thread's ID. Used to assert that it is not sampling itself, + // which would lead to deadlock. + int mSamplerTid; + +public: + // This is the one-and-only variable used to communicate between the sampler + // thread and the samplee thread's signal handler. It's static because the + // samplee thread's signal handler is static. + static struct SigHandlerCoordinator* sSigHandlerCoordinator; +#endif +}; + +// END Sampler +//////////////////////////////////////////////////////////////////////// + +//////////////////////////////////////////////////////////////////////// +// BEGIN SamplerThread + // The sampler thread controls sampling and runs whenever the profiler is // active. It periodically runs through all registered threads, finds those // that should be sampled, then pauses and samples them. -class SamplerThread +class SamplerThread : public Sampler { public: // Creates a sampler thread, but doesn't start it. @@ -1701,10 +1762,6 @@ public: double aIntervalMilliseconds); ~SamplerThread(); - // This runs on the sampler thread. It suspends and resumes the samplee - // threads. - void SuspendAndSampleAndResumeThread(PSLockRef aLock, TickSample& aSample); - // This runs on (is!) the sampler thread. void Run(); @@ -1729,26 +1786,6 @@ private: pthread_t mThread; #endif -#if defined(GP_OS_linux) || defined(GP_OS_android) - // Used to restore the SIGPROF handler when ours is removed. - struct sigaction mOldSigprofHandler; - - // This process' ID. Needed as an argument for tgkill in - // SuspendAndSampleAndResumeThread. - int mMyPid; - -public: - // The sampler thread's ID. Used to assert that it is not sampling itself, - // which would lead to deadlock. - int mSamplerTid; - - // This is the one-and-only variable used to communicate between the sampler - // thread and the samplee thread's signal handler. It's static because the - // samplee thread's signal handler is static. - static struct SigHandlerCoordinator* sSigHandlerCoordinator; -#endif - -private: SamplerThread(const SamplerThread&) = delete; void operator=(const SamplerThread&) = delete; }; @@ -1831,8 +1868,9 @@ SamplerThread::Run() } TickSample sample(info, rssMemory, ussMemory); + ProfilerTickController controller(lock); - SuspendAndSampleAndResumeThread(lock, sample); + SuspendAndSampleAndResumeThread(lock, controller, sample); } #if defined(USE_LUL_STACKWALK) @@ -2778,7 +2816,8 @@ profiler_get_backtrace() #endif #endif - Tick(lock, buffer, sample); + ProfilerTickController controller(lock, buffer); + controller.Tick(lock, sample); return UniqueProfilerBacktrace( new ProfilerBacktrace("SyncProfile", tid, buffer)); @@ -3004,5 +3043,74 @@ profiler_get_stack_top() return nullptr; } +int +profiler_current_thread_id() +{ + return Thread::GetCurrentId(); +} + +class SimpleTickController : public TickController +{ +public: + explicit SimpleTickController(const std::function& aCallback, + bool aSampleNative) + : mCallback(aCallback) + , mSampleNative(aSampleNative) + { + } + + void Tick(PSLockRef aLock, const TickSample& aSample) override { + void* pc_array[1000]; + void* sp_array[1000]; + NativeStack nativeStack = { + pc_array, + sp_array, + mozilla::ArrayLength(pc_array), + 0 + }; + +#if defined(HAVE_NATIVE_UNWIND) + if (mSampleNative) { + DoNativeBacktrace(aLock, nativeStack, aSample); + } +#endif + + mCallback(nativeStack.pc_array, nativeStack.count); + } + +private: + const std::function& mCallback; + bool mSampleNative; +}; + +// NOTE: The callback function passed in will be called while the target thread +// is paused. Doing stuff in this function like allocating which may try to +// claim locks is a surefire way to deadlock. +void +profiler_suspend_and_sample_thread(int aThreadId, + const std::function& aCallback, + bool aSampleNative /* = true */) +{ + PSAutoLock lock(gPSMutex); + + const CorePS::ThreadVector& liveThreads = CorePS::LiveThreads(lock); + for (uint32_t i = 0; i < liveThreads.size(); i++) { + ThreadInfo* info = liveThreads.at(i); + + if (info->ThreadId() == aThreadId) { + // Suspend, sample, and then resume the target thread. + Sampler sampler(lock); + TickSample sample(info, 0, 0); + SimpleTickController controller(aCallback, aSampleNative); + sampler.SuspendAndSampleAndResumeThread(lock, controller, sample); + + // NOTE: Make sure to disable the sampler before it is destroyed, in case + // the profiler is running at the same time. + sampler.Disable(lock); + break; + } + } +} + // END externally visible functions //////////////////////////////////////////////////////////////////////// diff --git a/tools/profiler/public/GeckoProfiler.h b/tools/profiler/public/GeckoProfiler.h index 9d2654fbde09..df19e9be038a 100644 --- a/tools/profiler/public/GeckoProfiler.h +++ b/tools/profiler/public/GeckoProfiler.h @@ -22,6 +22,7 @@ #include #include +#include #include "mozilla/Assertions.h" #include "mozilla/Attributes.h" @@ -382,6 +383,20 @@ PROFILER_FUNC_VOID(profiler_log(const char *str)) // this method will return nullptr. PROFILER_FUNC(void* profiler_get_stack_top(), nullptr) +PROFILER_FUNC(int profiler_current_thread_id(), 0) + +// This method suspends the thread identified by aThreadId, optionally samples +// it for its native stack, and then calls the callback. The callback is passed +// the native stack's program counters and length as two arguments if +// aSampleNative is true. +// +// WARNING: The target thread is suspended during the callback. Do not try to +// allocate or acquire any locks, or you could deadlock. The target thread will +// have resumed by the time that this function returns. +PROFILER_FUNC_VOID(profiler_suspend_and_sample_thread(int aThreadId, + const std::function& aCallback, + bool aSampleNative = true)) + // End of the functions defined whether the profiler is enabled or not. #if defined(MOZ_GECKO_PROFILER) From 3a8384acc05b8f8da017a7841195a365a0ca78c4 Mon Sep 17 00:00:00 2001 From: Michael Layzell Date: Tue, 2 May 2017 17:55:23 -0400 Subject: [PATCH 30/38] Bug 1357829 - Part 2: Use profiler_suspend_sample_thread in the background hang monitor, r=froydnj This patch uses the profiler_suspend_sample_thread method which was added in part 1. With this patch, we no longer manually run code to pause the target thread, instead using the profiler's provided code to do so. In addition, we no longer manually walk the stack to collect native stack frames, instead relying on the profiler's cross-platform stack walking logic. This helps remove some of the code from ThreadStackHelper which was redundant with the profiler. Much of the pseudostack code in ThreadStackHelper is also redundant, and should hopefully be eliminated in a follow-up. MozReview-Commit-ID: 4RjLHt6inH9 --- .../tests/unit/test_ThreadHangStats.js | 17 +- .../telemetry/tests/unit/xpcshell.ini | 1 + xpcom/threads/BackgroundHangMonitor.cpp | 3 - xpcom/threads/ThreadStackHelper.cpp | 261 +++--------------- xpcom/threads/ThreadStackHelper.h | 59 +--- 5 files changed, 64 insertions(+), 277 deletions(-) diff --git a/toolkit/components/telemetry/tests/unit/test_ThreadHangStats.js b/toolkit/components/telemetry/tests/unit/test_ThreadHangStats.js index 04885441246b..7f13078a751a 100644 --- a/toolkit/components/telemetry/tests/unit/test_ThreadHangStats.js +++ b/toolkit/components/telemetry/tests/unit/test_ThreadHangStats.js @@ -84,16 +84,13 @@ function run_test() { notEqual(endHangs.hangs[0].stack.length, 0); equal(typeof endHangs.hangs[0].stack[0], "string"); - // Native stack gathering is only enabled on Windows x86. - if (mozinfo.os == "win" && mozinfo.bits == 32) { - // Make sure one of the hangs is a permanent - // hang containing a native stack. - ok(endHangs.hangs.some((hang) => ( - hang.nativeStack && - Array.isArray(hang.nativeStack.memoryMap) && - Array.isArray(hang.nativeStack.stacks) - ))); - } + // Make sure one of the hangs is a permanent + // hang containing a native stack. + ok(endHangs.hangs.some((hang) => ( + hang.nativeStack && + Array.isArray(hang.nativeStack.memoryMap) && + Array.isArray(hang.nativeStack.stacks) + ))); check_histogram(endHangs.hangs[0].histogram); diff --git a/toolkit/components/telemetry/tests/unit/xpcshell.ini b/toolkit/components/telemetry/tests/unit/xpcshell.ini index 0bfd9d0b9709..62bcdcb0a527 100644 --- a/toolkit/components/telemetry/tests/unit/xpcshell.ini +++ b/toolkit/components/telemetry/tests/unit/xpcshell.ini @@ -55,6 +55,7 @@ tags = addons tags = addons [test_TelemetrySession_activeTicks.js] [test_ThreadHangStats.js] +skip-if = os == "android" || os == "linux" # BHR is disabled on linux (bug 1365309) run-sequentially = Bug 1046307, test can fail intermittently when CPU load is high [test_TelemetrySend.js] [test_ChildHistograms.js] diff --git a/xpcom/threads/BackgroundHangMonitor.cpp b/xpcom/threads/BackgroundHangMonitor.cpp index 2254e6e86104..79f7604a2d77 100644 --- a/xpcom/threads/BackgroundHangMonitor.cpp +++ b/xpcom/threads/BackgroundHangMonitor.cpp @@ -598,7 +598,6 @@ BackgroundHangMonitor::Startup() if (!strcmp(NS_STRINGIFY(MOZ_UPDATE_CHANNEL), "beta")) { if (XRE_IsParentProcess()) { // cached ClientID hasn't been read yet - ThreadStackHelper::Startup(); BackgroundHangThread::Startup(); BackgroundHangManager::sInstance = new BackgroundHangManager(); @@ -612,7 +611,6 @@ BackgroundHangMonitor::Startup() } } - ThreadStackHelper::Startup(); BackgroundHangThread::Startup(); BackgroundHangManager::sInstance = new BackgroundHangManager(); #endif @@ -633,7 +631,6 @@ BackgroundHangMonitor::Shutdown() we don't want to hold the lock when it's being destroyed. */ BackgroundHangManager::sInstance->Shutdown(); BackgroundHangManager::sInstance = nullptr; - ThreadStackHelper::Shutdown(); BackgroundHangManager::sDisabled = true; #endif } diff --git a/xpcom/threads/ThreadStackHelper.cpp b/xpcom/threads/ThreadStackHelper.cpp index e0c82ea22303..38738c8b2570 100644 --- a/xpcom/threads/ThreadStackHelper.cpp +++ b/xpcom/threads/ThreadStackHelper.cpp @@ -9,9 +9,6 @@ #include "nsJSPrincipals.h" #include "nsScriptSecurityManager.h" #include "jsfriendapi.h" -#ifdef MOZ_THREADSTACKHELPER_NATIVE -#include "shared-libraries.h" -#endif #ifdef MOZ_THREADSTACKHELPER_PSEUDO #include "PseudoStack.h" #endif @@ -65,91 +62,20 @@ #endif #endif -#ifdef MOZ_THREADSTACKHELPER_NATIVE -#if defined(MOZ_THREADSTACKHELPER_X86) || \ - defined(MOZ_THREADSTACKHELPER_X64) -// On these architectures, the stack grows downwards (toward lower addresses). -#define MOZ_THREADSTACKHELPER_STACK_GROWS_DOWN -#else -#error "Unsupported architecture" -#endif -#endif // MOZ_THREADSTACKHELPER_NATIVE - namespace mozilla { -void -ThreadStackHelper::Startup() -{ -#if defined(XP_LINUX) - MOZ_ASSERT(NS_IsMainThread()); - if (!sInitialized) { - // TODO: centralize signal number allocation - sFillStackSignum = SIGRTMIN + 4; - if (sFillStackSignum > SIGRTMAX) { - // Leave uninitialized - MOZ_ASSERT(false); - return; - } - struct sigaction sigact = {}; - sigact.sa_sigaction = FillStackHandler; - sigemptyset(&sigact.sa_mask); - sigact.sa_flags = SA_SIGINFO | SA_RESTART; - MOZ_ALWAYS_TRUE(!::sigaction(sFillStackSignum, &sigact, nullptr)); - } - sInitialized++; -#endif -} - -void -ThreadStackHelper::Shutdown() -{ -#if defined(XP_LINUX) - MOZ_ASSERT(NS_IsMainThread()); - if (sInitialized == 1) { - struct sigaction sigact = {}; - sigact.sa_handler = SIG_DFL; - MOZ_ALWAYS_TRUE(!::sigaction(sFillStackSignum, &sigact, nullptr)); - } - sInitialized--; -#endif -} - ThreadStackHelper::ThreadStackHelper() - : mStackToFill(nullptr) #ifdef MOZ_THREADSTACKHELPER_PSEUDO + : mStackToFill(nullptr) , mPseudoStack(profiler_get_pseudo_stack()) , mMaxStackSize(Stack::sMaxInlineStorage) , mMaxBufferSize(512) #endif -{ -#if defined(XP_LINUX) - MOZ_ALWAYS_TRUE(!::sem_init(&mSem, 0, 0)); - mThreadID = ::syscall(SYS_gettid); -#elif defined(XP_WIN) - mInitialized = !!::DuplicateHandle( - ::GetCurrentProcess(), ::GetCurrentThread(), - ::GetCurrentProcess(), &mThreadID, - THREAD_SUSPEND_RESUME #ifdef MOZ_THREADSTACKHELPER_NATIVE - | THREAD_GET_CONTEXT | THREAD_QUERY_INFORMATION + , mNativeStackToFill(nullptr) #endif - , FALSE, 0); - mStackTop = profiler_get_stack_top(); - MOZ_ASSERT(mInitialized); -#elif defined(XP_MACOSX) - mThreadID = mach_thread_self(); -#endif -} - -ThreadStackHelper::~ThreadStackHelper() { -#if defined(XP_LINUX) - MOZ_ALWAYS_TRUE(!::sem_destroy(&mSem)); -#elif defined(XP_WIN) - if (mInitialized) { - MOZ_ALWAYS_TRUE(!!::CloseHandle(mThreadID)); - } -#endif + mThreadId = profiler_current_thread_id(); } namespace { @@ -170,138 +96,10 @@ ThreadStackHelper::GetPseudoStack(Stack& aStack) GetStacksInternal(&aStack, nullptr); } -void -ThreadStackHelper::GetStacksInternal(Stack* aStack, NativeStack* aNativeStack) -{ - // Always run PrepareStackBuffer first to clear aStack - if (aStack && !PrepareStackBuffer(*aStack)) { - // Skip and return empty aStack - return; - } - - ScopedSetPtr stackPtr(mStackToFill, aStack); - -#if defined(XP_LINUX) - if (!sInitialized) { - MOZ_ASSERT(false); - return; - } - if (aStack) { - siginfo_t uinfo = {}; - uinfo.si_signo = sFillStackSignum; - uinfo.si_code = SI_QUEUE; - uinfo.si_pid = getpid(); - uinfo.si_uid = getuid(); - uinfo.si_value.sival_ptr = this; - if (::syscall(SYS_rt_tgsigqueueinfo, uinfo.si_pid, - mThreadID, sFillStackSignum, &uinfo)) { - // rt_tgsigqueueinfo was added in Linux 2.6.31. - // Could have failed because the syscall did not exist. - return; - } - MOZ_ALWAYS_TRUE(!::sem_wait(&mSem)); - } - -#elif defined(XP_WIN) - if (!mInitialized) { - MOZ_ASSERT(false); - return; - } - - // NOTE: We can only perform frame pointer stack walking on non win64 - // platforms, because Win64 always omits frame pointers. We don't want to use - // MozStackWalk here, so we just skip collecting stacks entirely. -#ifndef MOZ_THREADSTACKHELPER_X64 - if (aNativeStack) { - aNativeStack->reserve(Telemetry::HangStack::sMaxNativeFrames); - } -#endif - - if (::SuspendThread(mThreadID) == DWORD(-1)) { - MOZ_ASSERT(false); - return; - } - - // SuspendThread is asynchronous, so the thread may still be running. Use - // GetThreadContext to ensure it's really suspended. - // See https://blogs.msdn.microsoft.com/oldnewthing/20150205-00/?p=44743. - CONTEXT context; - memset(&context, 0, sizeof(context)); - context.ContextFlags = CONTEXT_CONTROL; - if (::GetThreadContext(mThreadID, &context)) { - if (aStack) { - FillStackBuffer(); - } - -#ifndef MOZ_THREADSTACKHELPER_X64 - if (aNativeStack) { - auto callback = [](uint32_t, void* aPC, void*, void* aClosure) { - NativeStack* stack = static_cast(aClosure); - stack->push_back(reinterpret_cast(aPC)); - }; - - // Now we need to get our frame pointer, our stack pointer, and our stack - // top. Rather than registering and storing the stack tops ourselves, we use - // the gecko profiler to look it up. - void** framePointer = reinterpret_cast(context.Ebp); - void** stackPointer = reinterpret_cast(context.Esp); - - MOZ_ASSERT(mStackTop, "The thread should be registered by the profiler"); - - // Double check that the values we pulled for the thread make sense before - // walking the stack. - if (mStackTop && framePointer >= stackPointer && framePointer < mStackTop) { - // NOTE: In bug 1346415 this was changed to use FramePointerStackWalk. - // This was done because lowering the background hang timer threshold - // would cause it to fire on infra early during the boot process, causing - // a deadlock in MozStackWalk when the target thread was holding the - // windows-internal lock on the function table, as it would be suspended - // before we tried to grab the lock to walk its stack. - // - // FramePointerStackWalk is implemented entirely in userspace and thus - // doesn't have the same issues with deadlocking. Unfortunately as 64-bit - // windows is not guaranteed to have frame pointers, the stack walking - // code is only enabled on 32-bit windows builds (bug 1357829). - FramePointerStackWalk(callback, /* skipFrames */ 0, - /* maxFrames */ Telemetry::HangStack::sMaxNativeFrames, - reinterpret_cast(aNativeStack), framePointer, - mStackTop); - } - } -#endif - } - - MOZ_ALWAYS_TRUE(::ResumeThread(mThreadID) != DWORD(-1)); - -#elif defined(XP_MACOSX) -# if defined(MOZ_VALGRIND) && defined(RUNNING_ON_VALGRIND) - if (RUNNING_ON_VALGRIND) { - /* thread_suspend and thread_resume sometimes hang runs on Valgrind, - for unknown reasons. So, just avoid them. See bug 1100911. */ - return; - } -# endif - - if (aStack) { - if (::thread_suspend(mThreadID) != KERN_SUCCESS) { - MOZ_ASSERT(false); - return; - } - - FillStackBuffer(); - - MOZ_ALWAYS_TRUE(::thread_resume(mThreadID) == KERN_SUCCESS); - } - -#endif -} - void ThreadStackHelper::GetNativeStack(NativeStack& aNativeStack) { -#ifdef MOZ_THREADSTACKHELPER_NATIVE GetStacksInternal(nullptr, &aNativeStack); -#endif // MOZ_THREADSTACKHELPER_NATIVE } void @@ -310,22 +108,47 @@ ThreadStackHelper::GetPseudoAndNativeStack(Stack& aStack, NativeStack& aNativeSt GetStacksInternal(&aStack, &aNativeStack); } -#ifdef XP_LINUX - -int ThreadStackHelper::sInitialized; -int ThreadStackHelper::sFillStackSignum; - void -ThreadStackHelper::FillStackHandler(int aSignal, siginfo_t* aInfo, - void* aContext) +ThreadStackHelper::GetStacksInternal(Stack* aStack, NativeStack* aNativeStack) { - ThreadStackHelper* const helper = - reinterpret_cast(aInfo->si_value.sival_ptr); - helper->FillStackBuffer(); - ::sem_post(&helper->mSem); -} +#if defined(MOZ_THREADSTACKHELPER_PSEUDO) || defined(MOZ_THREADSTACKHELPER_NATIVE) + // Always run PrepareStackBuffer first to clear aStack + if (aStack && !PrepareStackBuffer(*aStack)) { + // Skip and return empty aStack + return; + } -#endif // XP_LINUX + // Prepare the native stack + if (aNativeStack) { + aNativeStack->clear(); + aNativeStack->reserve(Telemetry::HangStack::sMaxNativeFrames); + } + +#ifdef MOZ_THREADSTACKHELPER_PSEUDO + ScopedSetPtr stackPtr(mStackToFill, aStack); +#endif +#ifdef MOZ_THREADSTACKHELPER_NATIVE + ScopedSetPtr nativeStackPtr(mNativeStackToFill, aNativeStack); +#endif + + auto callback = [&, this] (void** aPCs, size_t aCount) { + FillStackBuffer(); + +#ifdef MOZ_THREADSTACKHELPER_NATIVE + if (mNativeStackToFill) { + while (aCount-- && + mNativeStackToFill->size() < mNativeStackToFill->capacity()) { + mNativeStackToFill->push_back(reinterpret_cast(aPCs[aCount])); + } + } +#endif + }; + + profiler_suspend_and_sample_thread(mThreadId, + callback, + /* aSampleNative = */ !!aNativeStack); +#endif +} bool ThreadStackHelper::PrepareStackBuffer(Stack& aStack) @@ -484,9 +307,9 @@ ThreadStackHelper::AppendJSEntry(const volatile js::ProfileEntry* aEntry, void ThreadStackHelper::FillStackBuffer() { +#ifdef MOZ_THREADSTACKHELPER_PSEUDO MOZ_ASSERT(mStackToFill->empty()); -#ifdef MOZ_THREADSTACKHELPER_PSEUDO size_t reservedSize = mStackToFill->capacity(); size_t reservedBufferSize = mStackToFill->AvailableBufferSize(); intptr_t availableBufferSize = intptr_t(reservedBufferSize); diff --git a/xpcom/threads/ThreadStackHelper.h b/xpcom/threads/ThreadStackHelper.h index a1dafda6f63c..eecf6c0fb065 100644 --- a/xpcom/threads/ThreadStackHelper.h +++ b/xpcom/threads/ThreadStackHelper.h @@ -22,25 +22,20 @@ #include #endif -// Support pseudostack on these platforms. +// Support pseudostack and native stack on these platforms. #if defined(XP_LINUX) || defined(XP_WIN) || defined(XP_MACOSX) # ifdef MOZ_GECKO_PROFILER # define MOZ_THREADSTACKHELPER_PSEUDO +# define MOZ_THREADSTACKHELPER_NATIVE # endif #endif -#if defined(MOZ_THREADSTACKHELPER_PSEUDO) && defined(XP_WIN) -# define MOZ_THREADSTACKHELPER_NATIVE -# if defined(__i386__) || defined(_M_IX86) -# define MOZ_THREADSTACKHELPER_X86 -# elif defined(__x86_64__) || defined(_M_X64) -# define MOZ_THREADSTACKHELPER_X64 -# elif defined(__arm__) || defined(_M_ARM) -# define MOZ_THREADSTACKHELPER_ARM -# else - // Unsupported architecture -# undef MOZ_THREADSTACKHELPER_NATIVE -# endif +// NOTE: Currently, due to a problem with LUL stackwalking initialization taking +// a long time (bug 1365309), we don't perform pseudostack or native stack +// walking on Linux. +#if defined(XP_LINUX) +# undef MOZ_THREADSTACKHELPER_NATIVE +# undef MOZ_THREADSTACKHELPER_PSEUDO #endif namespace mozilla { @@ -67,12 +62,15 @@ public: typedef Telemetry::NativeHangStack NativeStack; private: - Stack* mStackToFill; #ifdef MOZ_THREADSTACKHELPER_PSEUDO + Stack* mStackToFill; const PseudoStack* const mPseudoStack; size_t mMaxStackSize; size_t mMaxBufferSize; #endif +#ifdef MOZ_THREADSTACKHELPER_NATIVE + NativeStack* mNativeStackToFill; +#endif bool PrepareStackBuffer(Stack& aStack); void FillStackBuffer(); @@ -83,22 +81,11 @@ private: #endif public: - /** - * Initialize ThreadStackHelper. Must be called from main thread. - */ - static void Startup(); - /** - * Uninitialize ThreadStackHelper. Must be called from main thread. - */ - static void Shutdown(); - /** * Create a ThreadStackHelper instance targeting the current thread. */ ThreadStackHelper(); - ~ThreadStackHelper(); - /** * Retrieve the current pseudostack of the thread associated * with this ThreadStackHelper. @@ -130,27 +117,9 @@ private: // If only aStack needs to be collected, nullptr may be passed for // aNativeStack, and vice versa. void GetStacksInternal(Stack* aStack, NativeStack* aNativeStack); -#if defined(XP_LINUX) -private: - static int sInitialized; - static int sFillStackSignum; - static void FillStackHandler(int aSignal, siginfo_t* aInfo, void* aContext); - - sem_t mSem; - pid_t mThreadID; - -#elif defined(XP_WIN) -private: - bool mInitialized; - HANDLE mThreadID; - void* mStackTop; - -#elif defined(XP_MACOSX) -private: - thread_act_t mThreadID; - -#endif + // The profiler's unique thread identifier for the target thread. + int mThreadId; }; } // namespace mozilla From e62bfa945f484aaede63fb08a80a482193733c2f Mon Sep 17 00:00:00 2001 From: Michael Layzell Date: Thu, 11 May 2017 16:26:36 -0400 Subject: [PATCH 31/38] Bug 1357829 - Part 3: Remove profiler_get_stack_top, r=njn MozReview-Commit-ID: C4DvuOvYSrs --- tools/profiler/core/platform.cpp | 11 ----------- tools/profiler/public/GeckoProfiler.h | 6 ------ 2 files changed, 17 deletions(-) diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp index 9bff49eb5902..ded4fbd9f68c 100644 --- a/tools/profiler/core/platform.cpp +++ b/tools/profiler/core/platform.cpp @@ -3032,17 +3032,6 @@ profiler_clear_js_context() info->mContext = nullptr; } -void* -profiler_get_stack_top() -{ - PSAutoLock lock(gPSMutex); - ThreadInfo* threadInfo = FindLiveThreadInfo(lock); - if (threadInfo) { - return threadInfo->StackTop(); - } - return nullptr; -} - int profiler_current_thread_id() { diff --git a/tools/profiler/public/GeckoProfiler.h b/tools/profiler/public/GeckoProfiler.h index df19e9be038a..62f698f909de 100644 --- a/tools/profiler/public/GeckoProfiler.h +++ b/tools/profiler/public/GeckoProfiler.h @@ -377,12 +377,6 @@ PROFILER_FUNC(double profiler_time(), 0) PROFILER_FUNC_VOID(profiler_log(const char *str)) -// Gets the stack top of the current thread. -// -// The thread must have been previously registered with the profiler, otherwise -// this method will return nullptr. -PROFILER_FUNC(void* profiler_get_stack_top(), nullptr) - PROFILER_FUNC(int profiler_current_thread_id(), 0) // This method suspends the thread identified by aThreadId, optionally samples From 8a302e6be29509af08b192222b31c1fde53a675c Mon Sep 17 00:00:00 2001 From: Michael Layzell Date: Wed, 17 May 2017 23:07:02 -0400 Subject: [PATCH 32/38] Bug 1357829 - Part 4: Remove TickController, r=njn MozReview-Commit-ID: 2IHa6ybR9ug --- .../profiler/core/platform-linux-android.cpp | 7 +- tools/profiler/core/platform-macos.cpp | 7 +- tools/profiler/core/platform-win32.cpp | 7 +- tools/profiler/core/platform.cpp | 155 +++++++----------- 4 files changed, 68 insertions(+), 108 deletions(-) diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp index cf348b33bbcf..422c1bc0c468 100644 --- a/tools/profiler/core/platform-linux-android.cpp +++ b/tools/profiler/core/platform-linux-android.cpp @@ -300,10 +300,11 @@ Sampler::Disable(PSLockRef aLock) sigaction(SIGPROF, &mOldSigprofHandler, 0); } +template void Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickController& aController, - TickSample& aSample) + TickSample& aSample, + const Func& aDoSample) { // Only one sampler thread can be sampling at once. So we expect to have // complete control over |sSigHandlerCoordinator|. @@ -358,7 +359,7 @@ Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, // Extract the current PC and sp. FillInSample(aSample, &sSigHandlerCoordinator->mUContext); - aController.Tick(aLock, aSample); + aDoSample(); //----------------------------------------------------------------// // Resume the target thread. diff --git a/tools/profiler/core/platform-macos.cpp b/tools/profiler/core/platform-macos.cpp index 90613ac2b7b0..67f27c3cea96 100644 --- a/tools/profiler/core/platform-macos.cpp +++ b/tools/profiler/core/platform-macos.cpp @@ -73,10 +73,11 @@ Sampler::Disable(PSLockRef aLock) { } +template void Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickController& aController, - TickSample& aSample) + TickSample& aSample, + const Func& aDoSample) { thread_act_t samplee_thread = aSample.mPlatformData->ProfiledThread(); @@ -133,7 +134,7 @@ Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, aSample.mSP = reinterpret_cast
(state.REGISTER_FIELD(sp)); aSample.mFP = reinterpret_cast
(state.REGISTER_FIELD(bp)); - aController.Tick(aLock, aSample); + aDoSample(); } #undef REGISTER_FIELD diff --git a/tools/profiler/core/platform-win32.cpp b/tools/profiler/core/platform-win32.cpp index e313b422635d..bf77c8c902d6 100644 --- a/tools/profiler/core/platform-win32.cpp +++ b/tools/profiler/core/platform-win32.cpp @@ -90,10 +90,11 @@ Sampler::Disable(PSLockRef aLock) { } +template void Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickController& aController, - TickSample& aSample) + TickSample& aSample, + const Func& aDoSample) { HANDLE profiled_thread = aSample.mPlatformData->ProfiledThread(); if (profiled_thread == nullptr) { @@ -149,7 +150,7 @@ Sampler::SuspendAndSampleAndResumeThread(PSLockRef aLock, aSample.mContext = &context; - aController.Tick(aLock, aSample); + aDoSample(); //----------------------------------------------------------------// // Resume the target thread. diff --git a/tools/profiler/core/platform.cpp b/tools/profiler/core/platform.cpp index ded4fbd9f68c..c5db54bc09ff 100644 --- a/tools/profiler/core/platform.cpp +++ b/tools/profiler/core/platform.cpp @@ -754,15 +754,6 @@ struct NativeStack size_t count; }; -class TickController -{ -public: - // NOTE: This method is called when the target thread of the sample is paused. - // Do not allocate or attempt to grab any locks during this function call. - virtual void Tick(PSLockRef aLock, - const TickSample& aSample) = 0; -}; - mozilla::Atomic WALKING_JS_STACK(false); struct AutoWalkJSStack @@ -1234,63 +1225,39 @@ DoNativeBacktrace(PSLockRef aLock, NativeStack& aNativeStack, #endif -static void -DoSampleStackTrace(PSLockRef aLock, ProfileBuffer* aBuffer, - const TickSample& aSample) -{ - NativeStack nativeStack = { nullptr, nullptr, 0, 0 }; - MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); - - if (ActivePS::FeatureLeaf(aLock)) { - aBuffer->addTag(ProfileBufferEntry::NativeLeafAddr((void*)aSample.mPC)); - } -} - -class ProfilerTickController : public TickController -{ -public: - explicit ProfilerTickController(PSLockRef aLock, ProfileBuffer* aBuffer = nullptr) - : mBuffer(aBuffer ? aBuffer : ActivePS::Buffer(aLock)) - { - } - - // This function is called for each sampling period with the current program - // counter. It is called within a signal and so must be re-entrant. - void Tick(PSLockRef aLock, const TickSample& aSample) override; - -private: - ProfileBuffer* mBuffer; -}; - void -ProfilerTickController::Tick(PSLockRef aLock, const TickSample& aSample) +Tick(PSLockRef aLock, const TickSample& aSample, ProfileBuffer* aBuffer) { MOZ_RELEASE_ASSERT(ActivePS::Exists(aLock)); - mBuffer->addTagThreadId(aSample.mThreadId, aSample.mLastSample); + aBuffer->addTagThreadId(aSample.mThreadId, aSample.mLastSample); mozilla::TimeDuration delta = aSample.mTimeStamp - CorePS::ProcessStartTime(aLock); - mBuffer->addTag(ProfileBufferEntry::Time(delta.ToMilliseconds())); + aBuffer->addTag(ProfileBufferEntry::Time(delta.ToMilliseconds())); + + void* pc_array[1000]; + void* sp_array[1000]; + NativeStack nativeStack = { + pc_array, + sp_array, + mozilla::ArrayLength(pc_array), + 0 + }; #if defined(HAVE_NATIVE_UNWIND) if (ActivePS::FeatureStackWalk(aLock)) { - void* pc_array[1000]; - void* sp_array[1000]; - NativeStack nativeStack = { - pc_array, - sp_array, - mozilla::ArrayLength(pc_array), - 0 - }; - DoNativeBacktrace(aLock, nativeStack, aSample); - MergeStacksIntoProfile(aLock, mBuffer, aSample, nativeStack); + MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); } else #endif { - DoSampleStackTrace(aLock, mBuffer, aSample); + MergeStacksIntoProfile(aLock, aBuffer, aSample, nativeStack); + + if (ActivePS::FeatureLeaf(aLock)) { + aBuffer->addTag(ProfileBufferEntry::NativeLeafAddr((void*)aSample.mPC)); + } } // Don't process the PseudoStack's markers if we're synchronously sampling @@ -1300,27 +1267,27 @@ ProfilerTickController::Tick(PSLockRef aLock, const TickSample& aSample) aSample.mRacyInfo->GetPendingMarkers(); while (pendingMarkersList && pendingMarkersList->peek()) { ProfilerMarker* marker = pendingMarkersList->popHead(); - mBuffer->addStoredMarker(marker); - mBuffer->addTag(ProfileBufferEntry::Marker(marker)); + aBuffer->addStoredMarker(marker); + aBuffer->addTag(ProfileBufferEntry::Marker(marker)); } } if (aSample.mResponsiveness && aSample.mResponsiveness->HasData()) { mozilla::TimeDuration delta = aSample.mResponsiveness->GetUnresponsiveDuration(aSample.mTimeStamp); - mBuffer->addTag(ProfileBufferEntry::Responsiveness(delta.ToMilliseconds())); + aBuffer->addTag(ProfileBufferEntry::Responsiveness(delta.ToMilliseconds())); } // rssMemory is equal to 0 when we are not recording. if (aSample.mRSSMemory != 0) { double rssMemory = static_cast(aSample.mRSSMemory); - mBuffer->addTag(ProfileBufferEntry::ResidentMemory(rssMemory)); + aBuffer->addTag(ProfileBufferEntry::ResidentMemory(rssMemory)); } // ussMemory is equal to 0 when we are not recording. if (aSample.mUSSMemory != 0) { double ussMemory = static_cast(aSample.mUSSMemory); - mBuffer->addTag(ProfileBufferEntry::UnsharedMemory(ussMemory)); + aBuffer->addTag(ProfileBufferEntry::UnsharedMemory(ussMemory)); } } @@ -1718,10 +1685,15 @@ public: // called once, and only once, before the Sampler is destroyed. void Disable(PSLockRef aLock); - // This method suspends and resumes the samplee thread. + // This method suspends and resumes the samplee thread. It calls the passed-in + // function like object aDoSample while the samplee thread is suspended, after + // filling in register values in aSample. + // + // Func must be a function-like object of type `void()`. + template void SuspendAndSampleAndResumeThread(PSLockRef aLock, - TickController& aController, - TickSample& aSample); + TickSample& aSample, + const Func& aDoSample); private: #if defined(GP_OS_linux) || defined(GP_OS_android) @@ -1868,9 +1840,10 @@ SamplerThread::Run() } TickSample sample(info, rssMemory, ussMemory); - ProfilerTickController controller(lock); - SuspendAndSampleAndResumeThread(lock, controller, sample); + SuspendAndSampleAndResumeThread(lock, sample, [&] { + Tick(lock, sample, ActivePS::Buffer(lock)); + }); } #if defined(USE_LUL_STACKWALK) @@ -2816,8 +2789,7 @@ profiler_get_backtrace() #endif #endif - ProfilerTickController controller(lock, buffer); - controller.Tick(lock, sample); + Tick(lock, sample, buffer); return UniqueProfilerBacktrace( new ProfilerBacktrace("SyncProfile", tid, buffer)); @@ -3038,40 +3010,6 @@ profiler_current_thread_id() return Thread::GetCurrentId(); } -class SimpleTickController : public TickController -{ -public: - explicit SimpleTickController(const std::function& aCallback, - bool aSampleNative) - : mCallback(aCallback) - , mSampleNative(aSampleNative) - { - } - - void Tick(PSLockRef aLock, const TickSample& aSample) override { - void* pc_array[1000]; - void* sp_array[1000]; - NativeStack nativeStack = { - pc_array, - sp_array, - mozilla::ArrayLength(pc_array), - 0 - }; - -#if defined(HAVE_NATIVE_UNWIND) - if (mSampleNative) { - DoNativeBacktrace(aLock, nativeStack, aSample); - } -#endif - - mCallback(nativeStack.pc_array, nativeStack.count); - } - -private: - const std::function& mCallback; - bool mSampleNative; -}; - // NOTE: The callback function passed in will be called while the target thread // is paused. Doing stuff in this function like allocating which may try to // claim locks is a surefire way to deadlock. @@ -3080,6 +3018,17 @@ profiler_suspend_and_sample_thread(int aThreadId, const std::function& aCallback, bool aSampleNative /* = true */) { + // Allocate the space for the native stack + void* pc_array[1000]; + void* sp_array[1000]; + NativeStack nativeStack = { + pc_array, + sp_array, + mozilla::ArrayLength(pc_array), + 0 + }; + + // Lock the profiler mutex PSAutoLock lock(gPSMutex); const CorePS::ThreadVector& liveThreads = CorePS::LiveThreads(lock); @@ -3090,8 +3039,16 @@ profiler_suspend_and_sample_thread(int aThreadId, // Suspend, sample, and then resume the target thread. Sampler sampler(lock); TickSample sample(info, 0, 0); - SimpleTickController controller(aCallback, aSampleNative); - sampler.SuspendAndSampleAndResumeThread(lock, controller, sample); + sampler.SuspendAndSampleAndResumeThread(lock, sample, [&] { + // The target thread is now suspended, collect a native backtrace, and + // call the callback. +#if defined(HAVE_NATIVE_UNWIND) + if (aSampleNative) { + DoNativeBacktrace(lock, nativeStack, sample); + } +#endif + aCallback(nativeStack.pc_array, nativeStack.count); + }); // NOTE: Make sure to disable the sampler before it is destroyed, in case // the profiler is running at the same time. From 48524055f0ec37758077687648713568032a4902 Mon Sep 17 00:00:00 2001 From: Jan Keromnes Date: Thu, 18 May 2017 19:59:47 +0200 Subject: [PATCH 33/38] Bug 1365559 - Remove unused pref. r=dao MozReview-Commit-ID: F3hCiuuk9kx --- browser/app/profile/firefox.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js index 2f7c672f09a9..3fb46143b329 100644 --- a/browser/app/profile/firefox.js +++ b/browser/app/profile/firefox.js @@ -1282,8 +1282,6 @@ pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false); // (This is intentionally on the high side; see bug 746055.) pref("image.mem.max_decoded_image_kb", 256000); -pref("social.sidebar.unload_timeout_ms", 10000); - // Activation from inside of share panel is possible if activationPanelEnabled // is true. Pref'd off for release while usage testing is done through beta. pref("social.share.activationPanelEnabled", true); From 7d35bd00fd24d6295f6d2ded38950848c38d02d1 Mon Sep 17 00:00:00 2001 From: Robert Strong Date: Thu, 18 May 2017 11:33:24 -0700 Subject: [PATCH 34/38] Bug 1365861 - Minor gonk cleanup in nsUpdateService.js. r=mhowell Removes unused gonk code Changes use of Array.prototype.indexOf(val) != -1 to Array.prototype.includes(val) Some very minor indentation and logging cleanup --- toolkit/mozapps/update/nsUpdateService.js | 44 +++-------------------- 1 file changed, 5 insertions(+), 39 deletions(-) diff --git a/toolkit/mozapps/update/nsUpdateService.js b/toolkit/mozapps/update/nsUpdateService.js index 2af15d3aebe0..2d3150fed48b 100644 --- a/toolkit/mozapps/update/nsUpdateService.js +++ b/toolkit/mozapps/update/nsUpdateService.js @@ -67,7 +67,6 @@ const FILE_ACTIVE_UPDATE_XML = "active-update.xml"; const FILE_BACKUP_UPDATE_LOG = "backup-update.log"; const FILE_LAST_UPDATE_LOG = "last-update.log"; const FILE_UPDATES_XML = "updates.xml"; -const FILE_UPDATE_LINK = "update.link"; const FILE_UPDATE_LOG = "update.log"; const FILE_UPDATE_MAR = "update.mar"; const FILE_UPDATE_STATUS = "update.status"; @@ -101,7 +100,6 @@ const SERVICE_COULD_NOT_LOCK_UPDATER = 32; const SERVICE_INSTALLDIR_ERROR = 33; const WRITE_ERROR_ACCESS_DENIED = 35; const WRITE_ERROR_CALLBACK_APP = 37; -const FILESYSTEM_MOUNT_READWRITE_ERROR = 43; const SERVICE_COULD_NOT_COPY_UPDATER = 49; const SERVICE_STILL_APPLYING_TERMINATED = 50; const SERVICE_STILL_APPLYING_NO_EXIT_CODE = 51; @@ -148,10 +146,6 @@ const SERVICE_ERRORS = [SERVICE_UPDATER_COULD_NOT_BE_STARTED, // Error codes 80 through 99 are reserved for nsUpdateService.js and are not // defined in common/errors.h -const FOTA_GENERAL_ERROR = 80; -const FOTA_UNKNOWN_ERROR = 81; -const FOTA_FILE_OPERATION_ERROR = 82; -const FOTA_RECOVERY_ERROR = 83; const INVALID_UPDATER_STATE_CODE = 98; const INVALID_UPDATER_STATUS_CODE = 99; @@ -190,8 +184,6 @@ const APPID_TO_TOPIC = { "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}": "sessionstore-windows-restored", // SeaMonkey "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}": "sessionstore-windows-restored", - // Fennec - "{aa3c5121-dab2-40e2-81ca-7ea25febc110}": "sessionstore-windows-restored", // Thunderbird "{3550f703-e582-4d05-9a08-453d09bdfdc6}": "mail-startup-done", // Instantbird @@ -931,26 +923,7 @@ function readStringFromFile(file) { function handleUpdateFailure(update, errorCode) { update.errorCode = parseInt(errorCode); - if (update.errorCode == FOTA_GENERAL_ERROR || - update.errorCode == FOTA_FILE_OPERATION_ERROR || - update.errorCode == FOTA_RECOVERY_ERROR || - update.errorCode == FOTA_UNKNOWN_ERROR) { - // In the case of FOTA update errors, don't reset the state to pending. This - // causes the FOTA update path to try again, which is not necessarily what - // we want. - update.statusText = gUpdateBundle.GetStringFromName("statusFailed"); - - Cc["@mozilla.org/updates/update-prompt;1"]. - createInstance(Ci.nsIUpdatePrompt). - showUpdateError(update); - writeStatusFile(getUpdatesDir(), STATE_FAILED + ": " + errorCode); - cleanupActiveUpdate(); - return true; - } - - // Replace with Array.prototype.includes when it has stabilized. - if (WRITE_ERRORS.indexOf(update.errorCode) != -1 || - update.errorCode == FILESYSTEM_MOUNT_READWRITE_ERROR) { + if (WRITE_ERRORS.includes(update.errorCode)) { Cc["@mozilla.org/updates/update-prompt;1"]. createInstance(Ci.nsIUpdatePrompt). showUpdateError(update); @@ -1000,7 +973,7 @@ function handleUpdateFailure(update, errorCode) { update.QueryInterface(Ci.nsIWritablePropertyBag); update.setProperty("patchingFailed", "elevationFailure"); let prompter = Cc["@mozilla.org/updates/update-prompt;1"]. - createInstance(Ci.nsIUpdatePrompt); + createInstance(Ci.nsIUpdatePrompt); prompter.showUpdateError(update); } else { writeStatusFile(getUpdatesDir(), update.state = STATE_PENDING); @@ -1015,8 +988,7 @@ function handleUpdateFailure(update, errorCode) { Services.prefs.clearUserPref(PREF_APP_UPDATE_CANCELATIONS_OSX); } - // Replace with Array.prototype.includes when it has stabilized. - if (SERVICE_ERRORS.indexOf(update.errorCode) != -1) { + if (SERVICE_ERRORS.includes(update.errorCode)) { var failCount = getPref("getIntPref", PREF_APP_UPDATE_SERVICE_ERRORS, 0); var maxFail = getPref("getIntPref", @@ -1073,7 +1045,7 @@ function handleFallbackToCompleteUpdate(update, postStaging) { LOG("handleFallbackToCompleteUpdate - install of complete or " + "only one patch offered failed. Notifying observers. topic: " + "update-error, status: unknown, " + - "update.patchCount: " + update.patchCount + + "update.patchCount: " + update.patchCount + ", " + "oldType: " + oldType); Services.obs.notifyObservers(update, "update-error", "unknown"); } @@ -3881,14 +3853,8 @@ UpdatePrompt.prototype = { return; // In some cases, we want to just show a simple alert dialog. - // Replace with Array.prototype.includes when it has stabilized. if (update.state == STATE_FAILED && - (WRITE_ERRORS.indexOf(update.errorCode) != -1 || - update.errorCode == FILESYSTEM_MOUNT_READWRITE_ERROR || - update.errorCode == FOTA_GENERAL_ERROR || - update.errorCode == FOTA_FILE_OPERATION_ERROR || - update.errorCode == FOTA_RECOVERY_ERROR || - update.errorCode == FOTA_UNKNOWN_ERROR)) { + WRITE_ERRORS.includes(update.errorCode)) { var title = gUpdateBundle.GetStringFromName("updaterIOErrorTitle"); var text = gUpdateBundle.formatStringFromName("updaterIOErrorMsg", [Services.appinfo.name, From 9461e3384659d04476a6c742be6cf7792ffe6df5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Marie?= Date: Thu, 18 May 2017 11:00:00 -0400 Subject: [PATCH 35/38] Bug 1364547 - Followup to fix build on OpenBSD where size_t is an unsigned long (like OSX). r=jonco --- js/src/vm/JSONPrinter.cpp | 2 +- js/src/vm/JSONPrinter.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/js/src/vm/JSONPrinter.cpp b/js/src/vm/JSONPrinter.cpp index 423c0e7c6a47..a9fb3d4085c6 100644 --- a/js/src/vm/JSONPrinter.cpp +++ b/js/src/vm/JSONPrinter.cpp @@ -158,7 +158,7 @@ JSONPrinter::property(const char* name, uint64_t value) out_.printf("%" PRIu64, value); } -#ifdef XP_DARWIN +#if defined(XP_DARWIN) || defined(__OpenBSD__) void JSONPrinter::property(const char* name, size_t value) { diff --git a/js/src/vm/JSONPrinter.h b/js/src/vm/JSONPrinter.h index 4bfee28135cf..262a21bfe334 100644 --- a/js/src/vm/JSONPrinter.h +++ b/js/src/vm/JSONPrinter.h @@ -51,10 +51,10 @@ class JSONPrinter void property(const char* name, uint32_t value); void property(const char* name, int64_t value); void property(const char* name, uint64_t value); -#ifdef XP_DARWIN - // On OSX, size_t is long unsigned, uint32_t is unsigned, and uint64_t is - // long long unsigned. Everywhere else, size_t matches either uint32_t or - // uint64_t. +#if defined(XP_DARWIN) || defined(__OpenBSD__) + // On OSX and OpenBSD, size_t is long unsigned, uint32_t is unsigned, and + // uint64_t is long long unsigned. Everywhere else, size_t matches either + // uint32_t or uint64_t. void property(const char* name, size_t value); #endif From 6a62795f0e97683e8651a4b4179bb24c902189d6 Mon Sep 17 00:00:00 2001 From: ffxbld Date: Thu, 18 May 2017 08:02:41 -0700 Subject: [PATCH 36/38] No bug, Automated HSTS preload list update from host bld-linux64-spot-361 - a=hsts-update --- security/manager/ssl/nsSTSPreloadList.errors | 155 +- security/manager/ssl/nsSTSPreloadList.inc | 34994 +++++++++-------- 2 files changed, 17577 insertions(+), 17572 deletions(-) diff --git a/security/manager/ssl/nsSTSPreloadList.errors b/security/manager/ssl/nsSTSPreloadList.errors index 27064b533797..9413095933f8 100644 --- a/security/manager/ssl/nsSTSPreloadList.errors +++ b/security/manager/ssl/nsSTSPreloadList.errors @@ -55,7 +55,6 @@ 360gradus.com: did not receive HSTS header 365.or.jp: could not connect to host 368mibn.com: could not connect to host -3ags.de: did not receive HSTS header 3chit.cf: could not connect to host 3click-loan.com: could not connect to host 3delivered.com: could not connect to host @@ -86,11 +85,11 @@ 7kovrikov.ru: did not receive HSTS header 808.lv: could not connect to host 83i.net: could not connect to host -86metro.ru: could not connect to host 911911.pw: could not connect to host 922.be: could not connect to host 960news.ca: could not connect to host 9651678.ru: could not connect to host +99511.fi: did not receive HSTS header 9point6.com: could not connect to host a-plus.space: could not connect to host a-theme.com: could not connect to host @@ -113,6 +112,7 @@ abnarnro.com: could not connect to host about.ge: did not receive HSTS header aboutmyip.info: did not receive HSTS header aboutyou-deals.de: did not receive HSTS header +absolem.cc: did not receive HSTS header abt.de: did not receive HSTS header abtom.de: did not receive HSTS header abury.fr: did not receive HSTS header @@ -301,7 +301,6 @@ anonymo.uk: could not connect to host anonymousstatecollegelulzsec.com: could not connect to host anook.com: max-age too low: 0 another.ch: could not connect to host -anshuman-chatterjee.com: could not connect to host anstoncs.com.au: max-age too low: 86400 ant.land: could not connect to host anthenor.co.uk: could not connect to host @@ -383,7 +382,6 @@ askfit.cz: did not receive HSTS header asm-x.com: could not connect to host asmui.ga: could not connect to host asmui.ml: could not connect to host -aspisdata.com: could not connect to host asrob.eu: could not connect to host ass.org.au: did not receive HSTS header assekuranzjobs.de: could not connect to host @@ -411,7 +409,6 @@ aubiosales.com: could not connect to host aucubin.moe: could not connect to host audiovisualdevices.com.au: did not receive HSTS header aujapan.ru: could not connect to host -aunali1.com: could not connect to host aurainfosec.com: did not receive HSTS header aurainfosec.com.au: could not connect to host auraredeye.com: did not receive HSTS header @@ -457,7 +454,6 @@ azprep.us: did not receive HSTS header b-landia.net: could not connect to host b303.me: did not receive HSTS header b3orion.com: max-age too low: 0 -b422edu.com: could not connect to host baby-click.de: could not connect to host babybic.hu: did not receive HSTS header babyhouse.xyz: could not connect to host @@ -547,8 +543,6 @@ beourvictim.com: max-age too low: 2678400 berger.work: could not connect to host berlatih.com: could not connect to host berlinleaks.com: could not connect to host -bernd-leitner-fotodesign.de: could not connect to host -bernd-leitner.de: could not connect to host berrymark.be: max-age too low: 0 besixdouze.world: could not connect to host besnik.de: could not connect to host @@ -557,7 +551,7 @@ bestbeards.ca: could not connect to host bestcellular.com: did not receive HSTS header besthost.cz: did not receive HSTS header bestlashesandbrows.com: did not receive HSTS header -betcafearena.ro: did not receive HSTS header +betcafearena.ro: could not connect to host bethditto.com: did not receive HSTS header betnet.fr: could not connect to host betplanning.it: did not receive HSTS header @@ -588,7 +582,6 @@ bigbrownpromotions.com.au: did not receive HSTS header bigshinylock.minazo.net: could not connect to host bildiri.ci: did not receive HSTS header bildschirmflackern.de: did not receive HSTS header -billaud.eu.org: could not connect to host billin.net: did not receive HSTS header billkiss.com: could not connect to host billninja.com: did not receive HSTS header @@ -657,7 +650,9 @@ bluketing.com: could not connect to host blupig.net: max-age too low: 0 bluserv.net: did not receive HSTS header bm-trading.nl: did not receive HSTS header +bmone.net: could not connect to host bnhlibrary.com: did not receive HSTS header +bobobox.net: could not connect to host bodo-wolff.de: could not connect to host bodyblog.nl: did not receive HSTS header bodybuilding-legends.com: could not connect to host @@ -829,7 +824,6 @@ carboneselectricosnettosl.info: max-age too low: 0 cardoni.net: did not receive HSTS header cardstream.com: did not receive HSTS header cardurl.com: did not receive HSTS header -carey.bio: could not connect to host cargobay.net: could not connect to host caringladies.org: could not connect to host carlolly.co.uk: could not connect to host @@ -848,7 +842,6 @@ casioshop.eu: did not receive HSTS header casovi.cf: could not connect to host catalyst-ecommerce.com: did not receive HSTS header catarsisvr.com: could not connect to host -cathosa.nl: could not connect to host catinmay.com: did not receive HSTS header catnapstudios.com: could not connect to host catnet.dk: could not connect to host @@ -899,9 +892,11 @@ charmyadesara.com: did not receive HSTS header charnleyhouse.co.uk: max-age too low: 604800 chartpen.com: could not connect to host chartstoffarm.de: did not receive HSTS header +chatbelgie.eu: could not connect to host chatbot.me: did not receive HSTS header chateauconstellation.ch: did not receive HSTS header chatme.im: did not receive HSTS header +chatnederland.eu: could not connect to host chatup.cf: could not connect to host chcemvediet.sk: max-age too low: 1555200 cheazey.net: did not receive HSTS header @@ -923,6 +918,7 @@ chinawhale.com: did not receive HSTS header chirgui.eu: could not connect to host chlouis.net: could not connect to host chm.vn: did not receive HSTS header +chokladfantasi.net: could not connect to host chontalpa.pw: could not connect to host choruscrowd.com: could not connect to host chosenplaintext.org: could not connect to host @@ -930,7 +926,6 @@ chotu.net: could not connect to host chris-web.info: could not connect to host chrisandsarahinasia.com: did not receive HSTS header chrisfaber.com: could not connect to host -chriskirchner.de: could not connect to host chriskyrouac.com: could not connect to host chrisopperwall.com: did not receive HSTS header christiaandruif.nl: could not connect to host @@ -1013,6 +1008,7 @@ cncn.us: did not receive HSTS header cni-certing.it: max-age too low: 0 cnwage.com: could not connect to host co50.com: did not receive HSTS header +coach-sportif.paris: could not connect to host cobrasystems.nl: did not receive HSTS header cocaine-import.agency: could not connect to host cocktailfuture.fr: could not connect to host @@ -1045,6 +1041,7 @@ colmexpro.com: did not receive HSTS header colognegaming.net: could not connect to host coloradocomputernetworking.net: could not connect to host colorlib.com: did not receive HSTS header +combron.nl: did not receive HSTS header comfortdom.ua: did not receive HSTS header comfortticket.de: did not receive HSTS header comicspines.com: could not connect to host @@ -1082,7 +1079,7 @@ convert.zone: did not receive HSTS header cookingreporter.com: did not receive HSTS header coolchevy.org.ua: did not receive HSTS header coole-meister.de: could not connect to host -coolgifs.de: could not connect to host +coolrc.me: could not connect to host cooxa.com: did not receive HSTS header cor-ser.es: could not connect to host coralproject.net: did not receive HSTS header @@ -1145,7 +1142,6 @@ crypticshell.co.uk: could not connect to host cryptify.eu: could not connect to host cryptobin.org: could not connect to host cryptojar.io: did not receive HSTS header -cryptoki.fr: could not connect to host cryptolab.pro: could not connect to host cryptolab.tk: could not connect to host cryptonit.net: did not receive HSTS header @@ -1175,7 +1171,6 @@ cuibonobo.com: could not connect to host cujanovic.com: did not receive HSTS header culinae.nl: could not connect to host cumshots-video.ru: could not connect to host -cunha.be: could not connect to host cuntflaps.me: could not connect to host cuongquach.com: did not receive HSTS header curlyroots.com: did not receive HSTS header @@ -1185,7 +1180,7 @@ custe.rs: could not connect to host cutorrent.com: could not connect to host cuvva.insure: did not receive HSTS header cyanogenmod.xxx: could not connect to host -cyberdos.de: could not connect to host +cyberdos.de: did not receive HSTS header cyberpunk.ca: could not connect to host cybershambles.com: could not connect to host cybersins.com: did not receive HSTS header @@ -1263,7 +1258,6 @@ dcuofriends.net: could not connect to host dcurt.is: did not receive HSTS header dden.website: could not connect to host dden.xyz: could not connect to host -de-servers.de: could not connect to host deanjerkovich.com: could not connect to host debank.tv: did not receive HSTS header debatch.se: could not connect to host @@ -1281,7 +1275,6 @@ deepearth.uk: did not receive HSTS header deetzen.de: did not receive HSTS header defiler.tk: could not connect to host degroetenvanrosaline.nl: did not receive HSTS header -dehydrated.de: could not connect to host deight.co: could not connect to host dekasan.ru: could not connect to host delayrefunds.co.uk: could not connect to host @@ -1293,7 +1286,6 @@ delvj.org: could not connect to host demdis.org: could not connect to host demilitarized.ninja: could not connect to host demo.swedbank.se: did not receive HSTS header -democracychronicles.com: did not receive HSTS header demotops.com: did not receive HSTS header dengyong.org: could not connect to host denh.am: did not receive HSTS header @@ -1306,6 +1298,7 @@ depixion.agency: could not connect to host depo.space: could not connect to host dequehablamos.es: could not connect to host derevtsov.com: did not receive HSTS header +dergeilstestammderwelt.de: did not receive HSTS header derwolfe.net: did not receive HSTS header desiccantpackets.com: did not receive HSTS header designgears.com: did not receive HSTS header @@ -1373,6 +1366,7 @@ dl.google.com: did not receive HSTS header (error ignored - included regardless) dlc.viasinc.com: could not connect to host dlemper.de: did not receive HSTS header dlitz.net: could not connect to host +dlouwrink.nl: could not connect to host dlscomputers.com.au: did not receive HSTS header dmcibulldog.com: did not receive HSTS header dmtry.me: did not receive HSTS header @@ -1417,9 +1411,9 @@ doridian.de: could not connect to host doridian.net: did not receive HSTS header doridian.org: could not connect to host dot42.no: could not connect to host -dotacni-parazit.cz: did not receive HSTS header +dotacni-parazit.cz: could not connect to host dotadata.me: could not connect to host -dotspaperie.com: could not connect to host +dotspaperie.com: did not receive HSTS header dougferris.id.au: could not connect to host dovecotadmin.org: could not connect to host dovetailnow.com: could not connect to host @@ -1440,6 +1434,7 @@ dreamlighteyeserum.com: could not connect to host dreamsforabetterworld.com.au: did not receive HSTS header dredgepress.com: could not connect to host dreid.org: did not receive HSTS header +dreizwosechs.de: did not receive HSTS header drewgle.net: could not connect to host drhopeson.com: could not connect to host drishti.guru: could not connect to host @@ -1470,6 +1465,7 @@ e-biografias.net: did not receive HSTS header e-deca2.org: did not receive HSTS header e-sa.com: did not receive HSTS header e3amn2l.com: could not connect to host +eames-clayton.us: could not connect to host earga.sm: could not connect to host earlybirdsnacks.com: could not connect to host earthrise16.com: could not connect to host @@ -1544,7 +1540,7 @@ elohna.ch: did not receive HSTS header elonbase.com: could not connect to host elpo.xyz: could not connect to host elsamakhin.com: could not connect to host -elsitar.com: did not receive HSTS header +elsitar.com: could not connect to host email.lookout.com: could not connect to host emanatepixels.com: could not connect to host emeldi-commerce.com: max-age too low: 0 @@ -1571,6 +1567,7 @@ endlesstone.com: did not receive HSTS header enefan.jp: could not connect to host engelwerbung.com: did not receive HSTS header engg.ca: could not connect to host +engineeryourmarketing.com: could not connect to host enginsight.com: did not receive HSTS header englishyamal.ru: did not receive HSTS header enigmacpt.com: did not receive HSTS header @@ -1613,14 +1610,6 @@ errolz.com: could not connect to host errors.zenpayroll.com: could not connect to host ersindemirtas.com: did not receive HSTS header eru.me: did not receive HSTS header -erudicia.com: could not connect to host -erudicia.de: could not connect to host -erudicia.es: could not connect to host -erudicia.fr: could not connect to host -erudicia.it: could not connect to host -erudicia.nl: could not connect to host -erudicia.se: could not connect to host -erudicia.uk: could not connect to host esc.chat: could not connect to host escalate.eu: could not connect to host escotour.com: could not connect to host @@ -1661,6 +1650,7 @@ euren.se: could not connect to host eurocamping.se: could not connect to host euroshop24.net: could not connect to host evafojtova.cz: did not receive HSTS header +evangelosm.com: could not connect to host evdenevenakliyatankara.pw: did not receive HSTS header events12.com: did not receive HSTS header everybooks.com: max-age too low: 60 @@ -1686,7 +1676,7 @@ expressfinance.co.za: did not receive HSTS header extrathemeshowcase.net: could not connect to host extratorrentlive.xyz: could not connect to host extreemhost.nl: did not receive HSTS header -extrememanual.net: max-age too low: 2592000 +extrememanual.net: max-age too low: 3888000 extremenetworking.net: could not connect to host exy.pw: could not connect to host exyplis.com: did not receive HSTS header @@ -1823,6 +1813,7 @@ fojtovi.cz: did not receive HSTS header fonetiq.io: could not connect to host food4health.guide: could not connect to host foodievenues.com: could not connect to host +foodsafetyworkinggroup.gov: could not connect to host footballmapped.com: could not connect to host forafifty.co.za: could not connect to host foraje-profesionale.ro: did not receive HSTS header @@ -1857,11 +1848,10 @@ frasys.net: could not connect to host fredvoyage.fr: did not receive HSTS header freeflow.tv: could not connect to host freelanced.co.za: could not connect to host -freematthale.net: could not connect to host +freematthale.net: did not receive HSTS header freenetproject.org: did not receive HSTS header freesoftwaredriver.com: did not receive HSTS header freethought.org.au: could not connect to host -freetsa.org: 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 @@ -1941,7 +1931,6 @@ gameserver-sponsor.de: could not connect to host gamingmedia.eu: did not receive HSTS header gampenhof.de: did not receive HSTS header gaptek.id: did not receive HSTS header -garagemhermetica.org: did not receive HSTS header garciamartin.me: could not connect to host garden.trade: max-age too low: 0 gatapro.net: could not connect to host @@ -1949,6 +1938,7 @@ gatorsa.es: did not receive HSTS header gdegem.org: did not receive HSTS header gdpventure.com: max-age too low: 0 gdz-spishy.com: did not receive HSTS header +gdz.tv: did not receive HSTS header gedankenbude.info: could not connect to host geekcast.co.uk: did not receive HSTS header geeky.software: could not connect to host @@ -2030,7 +2020,6 @@ gm-assicurazioni.it: could not connect to host gm.search.yahoo.com: did not receive HSTS header gmail.com: did not receive HSTS header (error ignored - included regardless) gmoes.at: max-age too low: 600000 -gnylf.com: could not connect to host go.ax: did not receive HSTS header go2sh.de: did not receive HSTS header goabonga.com: could not connect to host @@ -2038,7 +2027,7 @@ goalsetup.com: did not receive HSTS header goaltree.ch: 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 +goat.xyz: did not receive HSTS header goben.ch: could not connect to host goblins.net: did not receive HSTS header goerner.me: did not receive HSTS header @@ -2117,6 +2106,7 @@ gryffin.ml: could not connect to host gryffin.tk: could not connect to host gsm-map.com: could not connect to host gsnort.com: could not connect to host +gswtech.eu: max-age too low: 0 gtamodshop.org: could not connect to host gtanda.tk: could not connect to host gtech.work: did not receive HSTS header @@ -2194,6 +2184,7 @@ hao2taiwan.com: max-age too low: 0 haoyugao.com: could not connect to host haozi.me: could not connect to host happix.nl: did not receive HSTS header +happycoder.net: could not connect to host happyfabric.me: did not receive HSTS header happygastro.com: could not connect to host harabuhouse.com: did not receive HSTS header @@ -2275,7 +2266,6 @@ hintergedanken.com: could not connect to host hipercultura.com: did not receive HSTS header hiphopconvention.nl: could not connect to host hirake55.com: could not connect to host -hititgunesi-tr.com: did not receive HSTS header hitoy.org: did not receive HSTS header hittipps.com: did not receive HSTS header hjw-kunstwerk.de: could not connect to host @@ -2289,7 +2279,6 @@ hogar123.es: could not connect to host holifestival-freyung.de: could not connect to host holymoly.lu: could not connect to host homa.website: could not connect to host -home-v.ind.in: could not connect to host homeclouding.de: could not connect to host homedna.com: did not receive HSTS header hometownmall.com: did not receive HSTS header @@ -2303,7 +2292,7 @@ horseboners.xxx: did not receive HSTS header hortifarm.ro: did not receive HSTS header horvathtom.com: could not connect to host hosteasy.nl: did not receive HSTS header -hosted-service.com: did not receive HSTS header +hosted-service.com: max-age too low: 0 hostedtalkgadget.google.com: did not receive HSTS header (error ignored - included regardless) hostelite.com: did not receive HSTS header hostgarou.com: did not receive HSTS header @@ -2430,8 +2419,9 @@ imoto.me: could not connect to host imouto.my: max-age too low: 5184000 imperialwebsolutions.com: did not receive HSTS header imrejonk.nl: could not connect to host -imu.li: did not receive HSTS header +imu.li: could not connect to host imusic.dk: did not receive HSTS header +in-flames.com: could not connect to host inb4.us: could not connect to host inbox.li: did not receive HSTS header incendiary-arts.com: could not connect to host @@ -2483,6 +2473,7 @@ interhosts.co.za: could not connect to host interim-cto.de: could not connect to host interleucina.org: did not receive HSTS header interlun.com: could not connect to host +internect.co.za: did not receive HSTS header internetcasinos.de: could not connect to host internetcensus.org: could not connect to host interserved.com: did not receive HSTS header @@ -2503,7 +2494,6 @@ iotsms.io: could not connect to host ip6.im: did not receive HSTS header iphoneunlock.nu: did not receive HSTS header ipmimagazine.com: did not receive HSTS header -ipomue.com: could not connect to host iprice.co.id: did not receive HSTS header iprice.hk: did not receive HSTS header iprice.my: did not receive HSTS header @@ -2522,8 +2512,6 @@ 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: could not connect to host -iready.ro: could not connect to host irelandesign.com: did not receive HSTS header irmtrudjurke.de: did not receive HSTS header irukandjilabs.com: could not connect to host @@ -2550,6 +2538,7 @@ itos.asia: did not receive HSTS header itos.pl: did not receive HSTS header itpros.ru: did not receive HSTS header itriskltd.com: could not connect to host +its4living.com: could not connect to host itsadog.co.uk: did not receive HSTS header itsagadget.com: did not receive HSTS header itsamurai.ru: max-age too low: 2592000 @@ -2609,6 +2598,8 @@ jasmineconseil.com: could not connect to host jasonroe.me: did not receive HSTS header jasonsansone.com: max-age too low: 0 jastoria.pl: could not connect to host +jav-collective.com: could not connect to host +javelinsms.com: could not connect to host jayblock.com: did not receive HSTS header jayharris.ca: max-age too low: 86400 jaylen.com.ar: did not receive HSTS header @@ -2718,6 +2709,7 @@ k-dev.de: could not connect to host ka-clan.com: could not connect to host kabinapp.com: could not connect to host kabuabc.com: did not receive HSTS header +kabus.org: could not connect to host kadioglumakina.com.tr: did not receive HSTS header kaela.design: could not connect to host kahopoon.net: could not connect to host @@ -2941,7 +2933,6 @@ leitner.com.au: did not receive HSTS header leiyun.me: did not receive HSTS header lellyboi.ml: could not connect to host lelongbank.com: did not receive HSTS header -lemondrops.xyz: could not connect to host lemp.io: did not receive HSTS header lenovogaming.com: did not receive HSTS header lentri.com: did not receive HSTS header @@ -3044,6 +3035,7 @@ loadingdeck.com: did not receive HSTS header loadso.me: could not connect to host loafbox.com: could not connect to host loansonline.today: could not connect to host +localchum.com: could not connect to host localdrive.me: did not receive HSTS header locktheirphone.com: could not connect to host locomotive.ca: did not receive HSTS header @@ -3052,11 +3044,11 @@ logario.com.br: could not connect to host logcat.info: could not connect to host logicaladvertising.com: could not connect to host login.corp.google.com: max-age too low: 7776000 (error ignored - included regardless) +login.persona.org: could not connect to host loginseite.com: could not connect to host lognot.net: could not connect to host lolicore.ch: could not connect to host lolidunno.com: could not connect to host -lolmegafroi.de: could not connect to host londonlanguageexchange.com: could not connect to host lonerwolf.com: did not receive HSTS header longboarding-ulm.de: could not connect to host @@ -3096,7 +3088,6 @@ lufthansaexperts.com: max-age too low: 2592000 luine.xyz: max-age too low: 0 luis-checa.com: could not connect to host lukas-schauer.de: could not connect to host -lukas.im: could not connect to host lukas2511.de: could not connect to host lukonet.com: did not receive HSTS header luludapomerania.com: could not connect to host @@ -3106,7 +3097,6 @@ lunarift.com: could not connect to host lunarlog.com: could not connect to host lunarrift.net: could not connect to host luneta.nearbuysystems.com: could not connect to host -lunix.io: could not connect to host luno.io: could not connect to host luody.info: could not connect to host luoe.ml: could not connect to host @@ -3176,10 +3166,10 @@ manifestbin.com: did not receive HSTS header manitasicily.com: did not receive HSTS header manningbrothers.com: did not receive HSTS header mansion-note.com: did not receive HSTS header +manuth.life: did not receive HSTS header maomaofuli.vip: could not connect to host maple5.com: did not receive HSTS header marchagen.nl: did not receive HSTS header -marcoececilia.it: could not connect to host marcofinke.de: could not connect to host marcontrol.com: did not receive HSTS header marcosteixeira.tk: could not connect to host @@ -3346,6 +3336,7 @@ mikonmaa.fi: could not connect to host mikrom.cz: did not receive HSTS header miku.be: did not receive HSTS header miku.hatsune.my: max-age too low: 5184000 +mikusinec.com: could not connect to host milatrans.pl: did not receive HSTS header milcoresonline.com: could not connect to host military-portal.cz: did not receive HSTS header @@ -3377,6 +3368,7 @@ miyoshi-kikaku.com: did not receive HSTS header mizd.at: could not connect to host mizi.name: could not connect to host mkasu.org: did not receive HSTS header +mkw.st: could not connect to host mlcdn.co: could not connect to host mlpepilepsy.org: could not connect to host mmgazhomeloans.com: did not receive HSTS header @@ -3395,7 +3387,6 @@ mobilpass.no: could not connect to host mobix5.com: did not receive HSTS header mocloud.eu: could not connect to host mocurio.com: could not connect to host -modafinil.com: could not connect to host moddedark.com: could not connect to host model9.io: did not receive HSTS header modemagazines.co.uk: could not connect to host @@ -3519,6 +3510,7 @@ myphonebox.de: could not connect to host mysecretrewards.com: did not receive HSTS header mystery-science-theater-3000.de: did not receive HSTS header mythlogic.com: did not receive HSTS header +mythslegendscollection.com: did not receive HSTS header myweb360.de: did not receive HSTS header myzone.com: did not receive HSTS header n0psled.nl: could not connect to host @@ -3531,7 +3523,7 @@ nagoya-kyuyo.com: could not connect to host naiharngym.com: did not receive HSTS header najedlo.sk: did not receive HSTS header nakamastreamingcommunity.com: could not connect to host -nakliyatsirketi.biz: could not connect to host +nakliyatsirketi.biz: did not receive HSTS header nakuro.de: could not connect to host nalifornia.com: did not receive HSTS header nallon.com.br: could not connect to host @@ -3552,7 +3544,7 @@ nashira.cz: did not receive HSTS header natalia-fadeeva.ru: could not connect to host natalia.io: could not connect to host natalieandjoshua.com: could not connect to host -natalt.org: could not connect to host +natalt.org: did not receive HSTS header nathanmfarrugia.com: did not receive HSTS header natural-progesterone.net: could not connect to host naturecoaster.com: did not receive HSTS header @@ -3592,10 +3584,11 @@ netbox.cc: could not connect to host netherwind.eu: could not connect to host netlilo.com: could not connect to host netloanusa.com: could not connect to host -netlocal.ru: could not connect to host netmagik.com: did not receive HSTS header netresourcedesign.com: did not receive HSTS header nettefoundation.com: could not connect to host +netwarc.eu: could not connect to host +netwarc.nl: could not connect to host networx-online.de: could not connect to host netzbit.de: could not connect to host netzpolitik.org: did not receive HSTS header @@ -3634,7 +3627,6 @@ ngt-service.ru: could not connect to host ni.search.yahoo.com: did not receive HSTS header nibiisclaim.com: could not connect to host nicestresser.fr: could not connect to host -nickstories.de: could not connect to host nicky.io: did not receive HSTS header nicoborghuis.nl: could not connect to host nicolasbettag.me: did not receive HSTS header @@ -3645,7 +3637,7 @@ niehage.name: could not connect to host nien.chat: could not connect to host nightwinds.tk: could not connect to host niho.jp: did not receive HSTS header -nikcub.com: could not connect to host +nikcub.com: did not receive HSTS header niklaslindblad.se: did not receive HSTS header nikomo.fi: did not receive HSTS header ninchisho-online.com: did not receive HSTS header @@ -3656,6 +3648,7 @@ nipponcareers.com: did not receive HSTS header nixien.fr: could not connect to host nixmag.net: could not connect to host nkinka.de: did not receive HSTS header +nkp-media.de: could not connect to host nll.fi: could not connect to host nmctest.net: could not connect to host nnya.cat: could not connect to host @@ -3666,7 +3659,7 @@ noclegi-online.pl: did not receive HSTS header noctinus.tk: could not connect to host nodebrewery.com: could not connect to host nodetemple.com: could not connect to host -nodi.at: did not receive HSTS header +nodi.at: could not connect to host noexpect.org: could not connect to host noima.com: did not receive HSTS header nolberg.net: did not receive HSTS header @@ -3739,6 +3732,7 @@ o0o.one: could not connect to host oasis.mobi: did not receive HSTS header obermeiers.eu: could not connect to host obfuscate.xyz: did not receive HSTS header +obscur.us: could not connect to host obsydian.org: could not connect to host occentus.net: did not receive HSTS header ochaken.cf: could not connect to host @@ -3810,7 +3804,7 @@ ookjesprookje.nl: could not connect to host oopsmycase.com: could not connect to host oost.io: could not connect to host open-mx.de: could not connect to host -open-to-repair.fr: did not receive HSTS header +open-to-repair.fr: could not connect to host openas.org: could not connect to host opendesk.cc: did not receive HSTS header openmind-shop.de: did not receive HSTS header @@ -3847,7 +3841,6 @@ orleika.ml: could not connect to host orthodoxy.lt: did not receive HSTS header osaiyuwu.com: could not connect to host osao.org: could not connect to host -oshell.me: could not connect to host oslfoundation.org: could not connect to host oslinux.net: did not receive HSTS header osp.cx: could not connect to host @@ -4054,7 +4047,6 @@ platform.lookout.com: could not connect to host play.google.com: did not receive HSTS header (error ignored - included regardless) playflick.com: did not receive HSTS header playmaker.io: could not connect to host -playmyplay.com: did not receive HSTS header playnation.io: could not connect to host please-deny.me: did not receive HSTS header pleasure.forsale: could not connect to host @@ -4071,7 +4063,6 @@ ploup.net: could not connect to host pluff.nl: did not receive HSTS header plur.com.au: did not receive HSTS header pmnts.io: could not connect to host -pmponline.de: did not receive HSTS header po.gl: did not receive HSTS header pocketsix.com: could not connect to host pocloud.homelinux.net: could not connect to host @@ -4079,6 +4070,7 @@ poed.net.au: could not connect to host poedgirl.com: could not connect to host poiema.com.sg: did not receive HSTS header pointeringles.com: could not connect to host +pointiswunderland.de: did not receive HSTS header pointpro.de: did not receive HSTS header pol.in.th: could not connect to host pole.net.nz: could not connect to host @@ -4101,7 +4093,6 @@ pornstars.me: did not receive HSTS header portalplatform.net: could not connect to host poshpak.com: max-age too low: 86400 postcodewise.co.uk: did not receive HSTS header -posterspy.com: did not receive HSTS header postscheduler.org: could not connect to host posylka.de: did not receive HSTS header potatoheads.net: could not connect to host @@ -4203,6 +4194,8 @@ pyplo.org: did not receive HSTS header pypt.lt: did not receive HSTS header q2.si: did not receive HSTS header qccqld.org.au: could not connect to host +qewc.com: could not connect to host +qiliang.wang: could not connect to host qingpat.com: could not connect to host qingxuan.info: max-age too low: 864000 qinxi1992.com: could not connect to host @@ -4388,7 +4381,7 @@ rix.ninja: could not connect to host rizon.me: could not connect to host rj.gg: could not connect to host rk6.cz: could not connect to host -rkkhok.hu: did not receive HSTS header +rkkhok.hu: could not connect to host rkmantpur.org: did not receive HSTS header rme.li: did not receive HSTS header rngmeme.com: could not connect to host @@ -4437,12 +4430,13 @@ rsajeey.info: could not connect to host rsampaio.info: could not connect to host rsf.io: could not connect to host rsmaps.org: could not connect to host +rtho.me: could not connect to host rubbereggs.ca: could not connect to host rubberfurs.org: did not receive HSTS header rubecodeberg.com: could not connect to host rubenschulz.nl: did not receive HSTS header -rubi-ka.net: could not connect to host ruborr.se: did not receive HSTS header +rubyquincunx.com: could not connect to host rubyshop.nl: max-age too low: 604800 rudeotter.com: did not receive HSTS header rugirlfriend.com: could not connect to host @@ -4463,7 +4457,6 @@ rww.name: could not connect to host rx-contact.com: did not receive HSTS header rxprep.com: did not receive HSTS header rxv.cc: could not connect to host -ryanhowell.io: did not receive HSTS header ryanteck.uk: did not receive HSTS header rylin.net: did not receive HSTS header rzegroup.com: did not receive HSTS header @@ -4483,7 +4476,6 @@ sakurabuff.com: did not receive HSTS header salserocafe.com: did not receive HSTS header salserototal.com: could not connect to host saltedskies.com: could not connect to host -saltra.online: could not connect to host salud.top: did not receive HSTS header salzamt.tk: could not connect to host sametovymesic.cz: could not connect to host @@ -4577,7 +4569,7 @@ secondarysurvivorportal.com: could not connect to host secondarysurvivorportal.help: could not connect to host secondbyte.nl: could not connect to host secondspace.ca: could not connect to host -sectia22.ro: could not connect to host +sectia22.ro: did not receive HSTS header sectun.com: did not receive HSTS header secure-games.us: could not connect to host secure.link: did not receive HSTS header @@ -4680,7 +4672,6 @@ sifls.com: could not connect to host sig6.org: could not connect to host signoracle.com: could not connect to host signslabelstapesandmore.com: did not receive HSTS header -sijimi.cn: did not receive HSTS header silaslova-ekb.ru: could not connect to host silentcircle.com: did not receive HSTS header silentcircle.org: could not connect to host @@ -4723,7 +4714,6 @@ skidstresser.com: did not receive HSTS header skile.ru: could not connect to host skk.io: could not connect to host skoda-clever-lead.de: could not connect to host -skolem.de: could not connect to host skotty.io: did not receive HSTS header skullhouse.nyc: did not receive HSTS header skyasker.cn: could not connect to host @@ -4760,6 +4750,7 @@ smkn1lengkong.sch.id: did not receive HSTS header smksi2.com: could not connect to host smove.sg: did not receive HSTS header smplix.com: could not connect to host +smurfrp.com: could not connect to host smusg.com: did not receive HSTS header snailing.org: could not connect to host snakehosting.dk: did not receive HSTS header @@ -4773,7 +4764,6 @@ snip.host: could not connect to host snippet.host: could not connect to host snoozedds.com: max-age too low: 600 snoqualmiefiber.org: did not receive HSTS header -snow-online.de: could not connect to host sobabox.ru: could not connect to host sobie.ch: could not connect to host sobinski.pl: did not receive HSTS header @@ -4787,9 +4777,9 @@ socialspirit.com.br: did not receive HSTS header sockeye.cc: could not connect to host socomponents.co.uk: did not receive HSTS header sodacore.com: could not connect to host -soe-server.com: could not connect to host software.rocks: could not connect to host sogeek.me: did not receive HSTS header +sokolka.tv: did not receive HSTS header sol-3.de: did not receive HSTS header solidfuelappliancespares.co.uk: did not receive HSTS header soll-i.ch: did not receive HSTS header @@ -4823,7 +4813,6 @@ sparelib.com: max-age too low: 3650 spark.team: could not connect to host sparklingsparklers.com: did not receive HSTS header sparsa.army: could not connect to host -sparta-trade.com: did not receive HSTS header spauted.com: could not connect to host spdysync.com: could not connect to host speculor.net: could not connect to host @@ -4843,7 +4832,6 @@ spillmaker.no: did not receive HSTS header spilsbury.io: could not connect to host spititout.it: could not connect to host spittersberger.recipes: did not receive HSTS header -spodelime.com: did not receive HSTS header sponsortobias.com: did not receive HSTS header sportchirp-internal.azurewebsites.net: did not receive HSTS header sporthit.ru: did not receive HSTS header @@ -4862,6 +4850,7 @@ sqzryang.com: did not receive HSTS header srevilak.net: did not receive HSTS header srmaximo.com: could not connect to host srna.sk: could not connect to host +srrdb.com: did not receive HSTS header srrr.ca: could not connect to host ss.wtf: could not connect to host ssl.panoramio.com: did not receive HSTS header @@ -4869,14 +4858,13 @@ ssl.rip: could not connect to host ssmato.me: could not connect to host ssnc.org: max-age too low: 300 sspanda.com: did not receive HSTS header -sss3s.com: could not connect to host ssworld.ga: could not connect to host staack.com: could not connect to host stabletoken.com: could not connect to host stadjerspasonline.nl: could not connect to host stadtbauwerk.at: did not receive HSTS header staffjoy.com: did not receive HSTS header -staffjoystaging.com: could not connect to host +staffjoystaging.com: did not receive HSTS header stage-props-blank-guns.com: did not receive HSTS header stahl.xyz: could not connect to host stalkerhispano.com: max-age too low: 0 @@ -4934,6 +4922,7 @@ stqry.com: did not receive HSTS header str0.at: did not receive HSTS header strasweb.fr: did not receive HSTS header strbt.de: could not connect to host +stream.pub: did not receive HSTS header streamingeverywhere.com: could not connect to host streamingmagazin.de: could not connect to host streampanel.net: did not receive HSTS header @@ -4967,9 +4956,11 @@ sudo.li: did not receive HSTS header suian.or.jp: max-age too low: 86400 suite73.org: could not connect to host suksit.com: could not connect to host +summitbankofkc.com: could not connect to host sumoatm.com: did not receive HSTS header sumoscout.de: did not receive HSTS header suncountrymarine.com: did not receive HSTS header +sunflyer.cn: did not receive HSTS header sunnyfruit.ru: did not receive HSTS header sunshinepress.org: could not connect to host sunyanzi.tk: could not connect to host @@ -4987,6 +4978,7 @@ superiorfloridavacation.com: did not receive HSTS header supersalescontest.nl: did not receive HSTS header superschnappchen.de: could not connect to host supersecurefancydomain.com: could not connect to host +supertramp-dafonseca.com: did not receive HSTS header superuser.fi: could not connect to host superwally.org: could not connect to host suprlink.net: could not connect to host @@ -5008,6 +5000,8 @@ sxbk.pw: could not connect to host syam.cc: could not connect to host sydgrabber.tk: could not connect to host sykl.us: could not connect to host +sylvan.me: could not connect to host +sylvangarden.net: could not connect to host sylvangarden.org: could not connect to host sylvanorder.com: could not connect to host symphonos.it: did not receive HSTS header @@ -5117,7 +5111,6 @@ tendertool.nl: could not connect to host tenni.xyz: could not connect to host tensei-slime.com: did not receive HSTS header tensionup.com: could not connect to host -tenta.com: did not receive HSTS header teos.online: could not connect to host teriiphotography.com: could not connect to host terra.by: did not receive HSTS header @@ -5159,6 +5152,7 @@ theescapistswiki.com: could not connect to host thefarbeyond.com: could not connect to host theflowerbasketonline.com: could not connect to host thefootballanalyst.com: did not receive HSTS header +thefox.com.fr: max-age too low: 0 thefrozenfire.com: did not receive HSTS header thefutureharrills.com: could not connect to host thegcccoin.com: did not receive HSTS header @@ -5217,6 +5211,7 @@ tickreport.com: did not receive HSTS header ticktock.today: did not receive HSTS header tictactux.de: could not connect to host tidmore.us: could not connect to host +tie-online.org: did not receive HSTS header tiendschuurstraat.nl: could not connect to host tiensnet.com: did not receive HSTS header tightlineproductions.com: did not receive HSTS header @@ -5247,6 +5242,7 @@ tittarpuls.se: could not connect to host titties.ml: could not connect to host tjc.wiki: could not connect to host tkappertjedemetamorfose.nl: 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: did not receive HSTS header @@ -5272,7 +5268,6 @@ tokenloan.com: could not connect to host tokoone.com: did not receive HSTS header tollmanz.com: did not receive HSTS header tolud.com: could not connect to host -tomatenaufdenaugen.de: could not connect to host tomeara.net: could not connect to host tomharris.tech: did not receive HSTS header tomlankhorst.nl: did not receive HSTS header @@ -5353,6 +5348,7 @@ tucker.wales: could not connect to host tuingereedschappen.net: could not connect to host tunai.id: could not connect to host tunebitfm.de: could not connect to host +turbobit.ch: could not connect to host turnik-67.ru: could not connect to host turniker.ru: could not connect to host turtlementors.com: could not connect to host @@ -5463,7 +5459,6 @@ uprotect.it: could not connect to host upstats.eu: could not connect to host ur-lauber.de: did not receive HSTS header urandom.eu.org: did not receive HSTS header -urbanstylestaging.com: did not receive HSTS header urown.net: could not connect to host urphp.com: could not connect to host us-immigration.com: did not receive HSTS header @@ -5610,6 +5605,7 @@ walnutgaming.co.uk: could not connect to host wan.pp.ua: could not connect to host wanban.io: could not connect to host wangjun.me: could not connect to host +wangqiliang.org: could not connect to host wangqiliang.xn--fiqs8s: could not connect to host wangzuan168.cc: did not receive HSTS header wapjt.cn: could not connect to host @@ -5747,7 +5743,7 @@ wodice.com: could not connect to host wohnungsbau-ludwigsburg.de: did not receive HSTS header woima.fi: max-age too low: 604800 wolfesden.com: could not connect to host -wolfeyesusa.com: could not connect to host +womb.city: could not connect to host womosale.de: could not connect to host wonderfall.xyz: could not connect to host wonderhost.info: could not connect to host @@ -5897,6 +5893,7 @@ yenniferallulli.de: could not connect to host yenniferallulli.es: did not receive HSTS header yenniferallulli.moda: could not connect to host yenniferallulli.nl: could not connect to host +yesiammaisey.me: could not connect to host yestees.com: did not receive HSTS header yetcore.io: could not connect to host yhrd.org: did not receive HSTS header @@ -5968,7 +5965,6 @@ zerolab.org: could not connect to host zerudi.com: did not receive HSTS header zett4.me: could not connect to host zeytin.pro: could not connect to host -zfo.gg: could not connect to host zh.search.yahoo.com: did not receive HSTS header zhangzifan.com: did not receive HSTS header zhaojin97.cn: did not receive HSTS header @@ -5987,7 +5983,6 @@ zjubtv.com: could not connect to host zjutv.com: could not connect to host zkillboard.com: did not receive HSTS header zking.ga: could not connect to host -zmk.fr: could not connect to host zmsastro.co.za: could not connect to host zmy.im: did not receive HSTS header zocken.com: did not receive HSTS header diff --git a/security/manager/ssl/nsSTSPreloadList.inc b/security/manager/ssl/nsSTSPreloadList.inc index 778d2a36946f..7c3c22bcb518 100644 --- a/security/manager/ssl/nsSTSPreloadList.inc +++ b/security/manager/ssl/nsSTSPreloadList.inc @@ -8,7 +8,7 @@ /*****************************************************************************/ #include -const PRTime gPreloadListExpirationTime = INT64_C(1505920095605000); +const PRTime gPreloadListExpirationTime = INT64_C(1506005978598000); static const char kSTSHostTable[] = { /* "0.me.uk", true */ '0', '.', 'm', 'e', '.', 'u', 'k', '\0', @@ -172,6 +172,7 @@ static const char kSTSHostTable[] = { /* "38sihu.com", false */ '3', '8', 's', 'i', 'h', 'u', '.', 'c', 'o', 'm', '\0', /* "398.info", true */ '3', '9', '8', '.', 'i', 'n', 'f', 'o', '\0', /* "39sihu.com", false */ '3', '9', 's', 'i', 'h', 'u', '.', 'c', 'o', 'm', '\0', + /* "3ags.de", true */ '3', 'a', 'g', 's', '.', 'd', 'e', '\0', /* "3bakayottu.com", true */ '3', 'b', 'a', 'k', 'a', 'y', 'o', 't', 't', 'u', '.', 'c', 'o', 'm', '\0', /* "3bigking.com", true */ '3', 'b', 'i', 'g', 'k', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "3c-d.de", true */ '3', 'c', '-', 'd', '.', 'd', 'e', '\0', @@ -233,6 +234,7 @@ static const char kSTSHostTable[] = { /* "7thheavenrestaurant.com", true */ '7', 't', 'h', 'h', 'e', 'a', 'v', 'e', 'n', 'r', 'e', 's', 't', 'a', 'u', 'r', 'a', 'n', 't', '.', 'c', 'o', 'm', '\0', /* "7x24servis.com", true */ '7', 'x', '2', '4', 's', 'e', 'r', 'v', 'i', 's', '.', 'c', 'o', 'm', '\0', /* "8560.be", true */ '8', '5', '6', '0', '.', 'b', 'e', '\0', + /* "86metro.ru", true */ '8', '6', 'm', 'e', 't', 'r', 'o', '.', 'r', 'u', '\0', /* "88.to", true */ '8', '8', '.', 't', 'o', '\0', /* "888azino.com", true */ '8', '8', '8', 'a', 'z', 'i', 'n', 'o', '.', 'c', 'o', 'm', '\0', /* "888sport.dk", true */ '8', '8', '8', 's', 'p', 'o', 'r', 't', '.', 'd', 'k', '\0', @@ -250,7 +252,6 @@ static const char kSTSHostTable[] = { /* "92url.com", true */ '9', '2', 'u', 'r', 'l', '.', 'c', 'o', 'm', '\0', /* "9449-27a1-22a1-e0d9-4237-dd99-e75e-ac85-2f47-9d34.de", true */ '9', '4', '4', '9', '-', '2', '7', 'a', '1', '-', '2', '2', 'a', '1', '-', 'e', '0', 'd', '9', '-', '4', '2', '3', '7', '-', 'd', 'd', '9', '9', '-', 'e', '7', '5', 'e', '-', 'a', 'c', '8', '5', '-', '2', 'f', '4', '7', '-', '9', 'd', '3', '4', '.', 'd', 'e', '\0', /* "9906753.net", true */ '9', '9', '0', '6', '7', '5', '3', '.', 'n', 'e', 't', '\0', - /* "99511.fi", true */ '9', '9', '5', '1', '1', '.', 'f', 'i', '\0', /* "99599.fi", true */ '9', '9', '5', '9', '9', '.', 'f', 'i', '\0', /* "99599.net", true */ '9', '9', '5', '9', '9', '.', 'n', 'e', 't', '\0', /* "99rst.org", true */ '9', '9', 'r', 's', 't', '.', 'o', 'r', 'g', '\0', @@ -315,7 +316,6 @@ static const char kSTSHostTable[] = { /* "abrilect.com", true */ 'a', 'b', 'r', 'i', 'l', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0', /* "abseits.org", true */ 'a', 'b', 's', 'e', 'i', 't', 's', '.', 'o', 'r', 'g', '\0', /* "absinthium.ch", true */ 'a', 'b', 's', 'i', 'n', 't', 'h', 'i', 'u', 'm', '.', 'c', 'h', '\0', - /* "absolem.cc", true */ 'a', 'b', 's', 'o', 'l', 'e', 'm', '.', 'c', 'c', '\0', /* "abstraction21.com", true */ 'a', 'b', 's', 't', 'r', 'a', 'c', 't', 'i', 'o', 'n', '2', '1', '.', 'c', 'o', 'm', '\0', /* "absynthe-inquisition.fr", true */ 'a', 'b', 's', 'y', 'n', 't', 'h', 'e', '-', 'i', 'n', 'q', 'u', 'i', 's', 'i', 't', 'i', 'o', 'n', '.', 'f', 'r', '\0', /* "abthorpe.org", true */ 'a', 'b', 't', 'h', 'o', 'r', 'p', 'e', '.', 'o', 'r', 'g', '\0', @@ -940,6 +940,7 @@ static const char kSTSHostTable[] = { /* "ansas.net", true */ 'a', 'n', 's', 'a', 's', '.', 'n', 'e', 't', '\0', /* "ansdell.info", true */ 'a', 'n', 's', 'd', 'e', 'l', 'l', '.', 'i', 'n', 'f', 'o', '\0', /* "ansdell.net", true */ 'a', 'n', 's', 'd', 'e', 'l', 'l', '.', 'n', 'e', 't', '\0', + /* "anshuman-chatterjee.com", false */ 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', '-', 'c', 'h', 'a', 't', 't', 'e', 'r', 'j', 'e', 'e', '.', 'c', 'o', 'm', '\0', /* "anshumanbiswas.com", true */ 'a', 'n', 's', 'h', 'u', 'm', 'a', 'n', 'b', 'i', 's', 'w', 'a', 's', '.', 'c', 'o', 'm', '\0', /* "ansibeast.net", true */ 'a', 'n', 's', 'i', 'b', 'e', 'a', 's', 't', '.', 'n', 'e', 't', '\0', /* "ansogning-sg.dk", true */ 'a', 'n', 's', 'o', 'g', 'n', 'i', 'n', 'g', '-', 's', 'g', '.', 'd', 'k', '\0', @@ -1221,6 +1222,7 @@ static const char kSTSHostTable[] = { /* "asphyxia.su", true */ 'a', 's', 'p', 'h', 'y', 'x', 'i', 'a', '.', 's', 'u', '\0', /* "aspiescentral.com", true */ 'a', 's', 'p', 'i', 'e', 's', 'c', 'e', 'n', 't', 'r', 'a', 'l', '.', 'c', 'o', 'm', '\0', /* "aspires.co.jp", true */ 'a', 's', 'p', 'i', 'r', 'e', 's', '.', 'c', 'o', '.', 'j', 'p', '\0', + /* "aspisdata.com", true */ 'a', 's', 'p', 'i', 's', 'd', 'a', 't', 'a', '.', 'c', 'o', 'm', '\0', /* "asr.cloud", true */ 'a', 's', 'r', '.', 'c', 'l', 'o', 'u', 'd', '\0', /* "asr.li", true */ 'a', 's', 'r', '.', 'l', 'i', '\0', /* "asr.rocks", true */ 'a', 's', 'r', '.', 'r', 'o', 'c', 'k', 's', '\0', @@ -1319,6 +1321,7 @@ static const char kSTSHostTable[] = { /* "augustiner-kantorei.de", true */ 'a', 'u', 'g', 'u', 's', 't', 'i', 'n', 'e', 'r', '-', 'k', 'a', 'n', 't', 'o', 'r', 'e', 'i', '.', 'd', 'e', '\0', /* "aukaraoke.su", true */ 'a', 'u', 'k', 'a', 'r', 'a', 'o', 'k', 'e', '.', 's', 'u', '\0', /* "aulo.in", false */ 'a', 'u', 'l', 'o', '.', 'i', 'n', '\0', + /* "aunali1.com", true */ 'a', 'u', 'n', 'a', 'l', 'i', '1', '.', 'c', 'o', 'm', '\0', /* "auplidespages.fr", true */ 'a', 'u', 'p', 'l', 'i', 'd', 'e', 's', 'p', 'a', 'g', 'e', 's', '.', 'f', 'r', '\0', /* "aur.rocks", true */ 'a', 'u', 'r', '.', 'r', 'o', 'c', 'k', 's', '\0', /* "aureus.pw", true */ 'a', 'u', 'r', 'e', 'u', 's', '.', 'p', 'w', '\0', @@ -1426,6 +1429,7 @@ static const char kSTSHostTable[] = { /* "b1c1l1.com", true */ 'b', '1', 'c', '1', 'l', '1', '.', 'c', 'o', 'm', '\0', /* "b2and.com", false */ 'b', '2', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0', /* "b2bmuzikbank.com", true */ 'b', '2', 'b', 'm', 'u', 'z', 'i', 'k', 'b', 'a', 'n', 'k', '.', 'c', 'o', 'm', '\0', + /* "b422edu.com", true */ 'b', '4', '2', '2', 'e', 'd', 'u', '.', 'c', 'o', 'm', '\0', /* "b64.club", true */ 'b', '6', '4', '.', 'c', 'l', 'u', 'b', '\0', /* "baalsworld.de", true */ 'b', 'a', 'a', 'l', 's', 'w', 'o', 'r', 'l', 'd', '.', 'd', 'e', '\0', /* "baas-becking.biology.utah.edu", true */ 'b', 'a', 'a', 's', '-', 'b', 'e', 'c', 'k', 'i', 'n', 'g', '.', 'b', 'i', 'o', 'l', 'o', 'g', 'y', '.', 'u', 't', 'a', 'h', '.', 'e', 'd', 'u', '\0', @@ -1735,6 +1739,8 @@ static const char kSTSHostTable[] = { /* "berna.fr", true */ 'b', 'e', 'r', 'n', 'a', '.', 'f', 'r', '\0', /* "bernat.im", true */ 'b', 'e', 'r', 'n', 'a', 't', '.', 'i', 'm', '\0', /* "bernd-leitner-fotodesign.com", true */ 'b', 'e', 'r', 'n', 'd', '-', 'l', 'e', 'i', 't', 'n', 'e', 'r', '-', 'f', 'o', 't', 'o', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0', + /* "bernd-leitner-fotodesign.de", true */ 'b', 'e', 'r', 'n', 'd', '-', 'l', 'e', 'i', 't', 'n', 'e', 'r', '-', 'f', 'o', 't', 'o', 'd', 'e', 's', 'i', 'g', 'n', '.', 'd', 'e', '\0', + /* "bernd-leitner.de", true */ 'b', 'e', 'r', 'n', 'd', '-', 'l', 'e', 'i', 't', 'n', 'e', 'r', '.', 'd', 'e', '\0', /* "berr.yt", true */ 'b', 'e', 'r', 'r', '.', 'y', 't', '\0', /* "berra.se", true */ 'b', 'e', 'r', 'r', 'a', '.', 's', 'e', '\0', /* "berst.cz", true */ 'b', 'e', 'r', 's', 't', '.', 'c', 'z', '\0', @@ -1860,6 +1866,7 @@ static const char kSTSHostTable[] = { /* "bildermachr.de", true */ 'b', 'i', 'l', 'd', 'e', 'r', 'm', 'a', 'c', 'h', 'r', '.', 'd', 'e', '\0', /* "bilgo.com", true */ 'b', 'i', 'l', 'g', 'o', '.', 'c', 'o', 'm', '\0', /* "bilke.org", true */ 'b', 'i', 'l', 'k', 'e', '.', 'o', 'r', 'g', '\0', + /* "billaud.eu.org", true */ 'b', 'i', 'l', 'l', 'a', 'u', 'd', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0', /* "billiger-mietwagen.de", true */ 'b', 'i', 'l', 'l', 'i', 'g', 'e', 'r', '-', 'm', 'i', 'e', 't', 'w', 'a', 'g', 'e', 'n', '.', 'd', 'e', '\0', /* "billigpoker.dk", true */ 'b', 'i', 'l', 'l', 'i', 'g', 'p', 'o', 'k', 'e', 'r', '.', 'd', 'k', '\0', /* "billigssl.dk", true */ 'b', 'i', 'l', 'l', 'i', 'g', 's', 's', 'l', '.', 'd', 'k', '\0', @@ -2110,7 +2117,6 @@ static const char kSTSHostTable[] = { /* "blvdmb.com", true */ 'b', 'l', 'v', 'd', 'm', 'b', '.', 'c', 'o', 'm', '\0', /* "bmet.de", true */ 'b', 'm', 'e', 't', '.', 'd', 'e', '\0', /* "bmoattachments.org", true */ 'b', 'm', 'o', 'a', 't', 't', 'a', 'c', 'h', 'm', 'e', 'n', 't', 's', '.', 'o', 'r', 'g', '\0', - /* "bmone.net", true */ 'b', 'm', 'o', 'n', 'e', '.', 'n', 'e', 't', '\0', /* "bmros.com.ar", true */ 'b', 'm', 'r', 'o', 's', '.', 'c', 'o', 'm', '.', 'a', 'r', '\0', /* "bn1digital.co.uk", true */ 'b', 'n', '1', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "bnb-buddy.nl", true */ 'b', 'n', 'b', '-', 'b', 'u', 'd', 'd', 'y', '.', 'n', 'l', '\0', @@ -2121,7 +2127,6 @@ static const char kSTSHostTable[] = { /* "bobancoamigo.com", true */ 'b', 'o', 'b', 'a', 'n', 'c', 'o', 'a', 'm', 'i', 'g', 'o', '.', 'c', 'o', 'm', '\0', /* "bobcopeland.com", true */ 'b', 'o', 'b', 'c', 'o', 'p', 'e', 'l', 'a', 'n', 'd', '.', 'c', 'o', 'm', '\0', /* "bobiji.com", false */ 'b', 'o', 'b', 'i', 'j', 'i', '.', 'c', 'o', 'm', '\0', - /* "bobobox.net", true */ 'b', 'o', 'b', 'o', 'b', 'o', 'x', '.', 'n', 'e', 't', '\0', /* "boboolo.com", true */ 'b', 'o', 'b', 'o', 'o', 'l', 'o', '.', 'c', 'o', 'm', '\0', /* "bocamo.it", true */ 'b', 'o', 'c', 'a', 'm', 'o', '.', 'i', 't', '\0', /* "bochs.info", true */ 'b', 'o', 'c', 'h', 's', '.', 'i', 'n', 'f', 'o', '\0', @@ -2662,6 +2667,7 @@ static const char kSTSHostTable[] = { /* "careerstuds.com", true */ 'c', 'a', 'r', 'e', 'e', 'r', 's', 't', 'u', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "caremad.io", true */ 'c', 'a', 'r', 'e', 'm', 'a', 'd', '.', 'i', 'o', '\0', /* "caretta.co.uk", true */ 'c', 'a', 'r', 'e', 't', 't', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0', + /* "carey.bio", true */ 'c', 'a', 'r', 'e', 'y', '.', 'b', 'i', 'o', '\0', /* "carey.li", true */ 'c', 'a', 'r', 'e', 'y', '.', 'l', 'i', '\0', /* "carezone.com", false */ 'c', 'a', 'r', 'e', 'z', 'o', 'n', 'e', '.', 'c', 'o', 'm', '\0', /* "caribbean.dating", true */ 'c', 'a', 'r', 'i', 'b', 'b', 'e', 'a', 'n', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', @@ -2716,6 +2722,7 @@ static const char kSTSHostTable[] = { /* "catenacondos.com", true */ 'c', 'a', 't', 'e', 'n', 'a', 'c', 'o', 'n', 'd', 'o', 's', '.', 'c', 'o', 'm', '\0', /* "catgirl.pics", true */ 'c', 'a', 't', 'g', 'i', 'r', 'l', '.', 'p', 'i', 'c', 's', '\0', /* "catholics.dating", true */ 'c', 'a', 't', 'h', 'o', 'l', 'i', 'c', 's', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', + /* "cathosa.nl", true */ 'c', 'a', 't', 'h', 'o', 's', 'a', '.', 'n', 'l', '\0', /* "cativa.net", true */ 'c', 'a', 't', 'i', 'v', 'a', '.', 'n', 'e', 't', '\0', /* "catmoose.ca", true */ 'c', 'a', 't', 'm', 'o', 'o', 's', 'e', '.', 'c', 'a', '\0', /* "catsmagic.pp.ua", true */ 'c', 'a', 't', 's', 'm', 'a', 'g', 'i', 'c', '.', 'p', 'p', '.', 'u', 'a', '\0', @@ -2878,13 +2885,11 @@ static const char kSTSHostTable[] = { /* "chat-porc.eu", true */ 'c', 'h', 'a', 't', '-', 'p', 'o', 'r', 'c', '.', 'e', 'u', '\0', /* "chat-senza-registrazione.net", true */ 'c', 'h', 'a', 't', '-', 's', 'e', 'n', 'z', 'a', '-', 'r', 'e', 'g', 'i', 's', 't', 'r', 'a', 'z', 'i', 'o', 'n', 'e', '.', 'n', 'e', 't', '\0', /* "chat40.net", true */ 'c', 'h', 'a', 't', '4', '0', '.', 'n', 'e', 't', '\0', - /* "chatbelgie.eu", true */ 'c', 'h', 'a', 't', 'b', 'e', 'l', 'g', 'i', 'e', '.', 'e', 'u', '\0', /* "chatear.social", true */ 'c', 'h', 'a', 't', 'e', 'a', 'r', '.', 's', 'o', 'c', 'i', 'a', 'l', '\0', /* "chateau-belvoir.com", true */ 'c', 'h', 'a', 't', 'e', 'a', 'u', '-', 'b', 'e', 'l', 'v', 'o', 'i', 'r', '.', 'c', 'o', 'm', '\0', /* "chatfacile.org", true */ 'c', 'h', 'a', 't', 'f', 'a', 'c', 'i', 'l', 'e', '.', 'o', 'r', 'g', '\0', /* "chatitaly.org", true */ 'c', 'h', 'a', 't', 'i', 't', 'a', 'l', 'y', '.', 'o', 'r', 'g', '\0', /* "chatnbook.com", true */ 'c', 'h', 'a', 't', 'n', 'b', 'o', 'o', 'k', '.', 'c', 'o', 'm', '\0', - /* "chatnederland.eu", true */ 'c', 'h', 'a', 't', 'n', 'e', 'd', 'e', 'r', 'l', 'a', 'n', 'd', '.', 'e', 'u', '\0', /* "chatt-gratis.net", true */ 'c', 'h', 'a', 't', 't', '-', 'g', 'r', 'a', 't', 'i', 's', '.', 'n', 'e', 't', '\0', /* "chatt-gratis.org", true */ 'c', 'h', 'a', 't', 't', '-', 'g', 'r', 'a', 't', 'i', 's', '.', 'o', 'r', 'g', '\0', /* "chatxp.com", true */ 'c', 'h', 'a', 't', 'x', 'p', '.', 'c', 'o', 'm', '\0', @@ -2963,7 +2968,6 @@ static const char kSTSHostTable[] = { /* "chocolatesandhealth.com", true */ 'c', 'h', 'o', 'c', 'o', 'l', 'a', 't', 'e', 's', 'a', 'n', 'd', 'h', 'e', 'a', 'l', 't', 'h', '.', 'c', 'o', 'm', '\0', /* "chocotough.nl", false */ 'c', 'h', 'o', 'c', 'o', 't', 'o', 'u', 'g', 'h', '.', 'n', 'l', '\0', /* "choiralberta.ca", true */ 'c', 'h', 'o', 'i', 'r', 'a', 'l', 'b', 'e', 'r', 't', 'a', '.', 'c', 'a', '\0', - /* "chokladfantasi.net", true */ 'c', 'h', 'o', 'k', 'l', 'a', 'd', 'f', 'a', 'n', 't', 'a', 's', 'i', '.', 'n', 'e', 't', '\0', /* "chonghe.org", true */ 'c', 'h', 'o', 'n', 'g', 'h', 'e', '.', 'o', 'r', 'g', '\0', /* "choosemypc.net", true */ 'c', 'h', 'o', 'o', 's', 'e', 'm', 'y', 'p', 'c', '.', 'n', 'e', 't', '\0', /* "chopperforums.com", true */ 'c', 'h', 'o', 'p', 'p', 'e', 'r', 'f', 'o', 'r', 'u', 'm', 's', '.', 'c', 'o', 'm', '\0', @@ -2983,6 +2987,7 @@ static const char kSTSHostTable[] = { /* "chrisfinazzo.com", true */ 'c', 'h', 'r', 'i', 's', 'f', 'i', 'n', 'a', 'z', 'z', 'o', '.', 'c', 'o', 'm', '\0', /* "chrisirwin.ca", true */ 'c', 'h', 'r', 'i', 's', 'i', 'r', 'w', 'i', 'n', '.', 'c', 'a', '\0', /* "chrisjean.com", true */ 'c', 'h', 'r', 'i', 's', 'j', 'e', 'a', 'n', '.', 'c', 'o', 'm', '\0', + /* "chriskirchner.de", true */ 'c', 'h', 'r', 'i', 's', 'k', 'i', 'r', 'c', 'h', 'n', 'e', 'r', '.', 'd', 'e', '\0', /* "chrismcclendon.com", true */ 'c', 'h', 'r', 'i', 's', 'm', 'c', 'c', 'l', 'e', 'n', 'd', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "chrismckee.co.uk", true */ 'c', 'h', 'r', 'i', 's', 'm', 'c', 'k', 'e', 'e', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "chrisnekarda.com", true */ 'c', 'h', 'r', 'i', 's', 'n', 'e', 'k', 'a', 'r', 'd', 'a', '.', 'c', 'o', 'm', '\0', @@ -3207,7 +3212,6 @@ static const char kSTSHostTable[] = { /* "cnwarn.com", true */ 'c', 'n', 'w', 'a', 'r', 'n', '.', 'c', 'o', 'm', '\0', /* "co-yutaka.com", true */ 'c', 'o', '-', 'y', 'u', 't', 'a', 'k', 'a', '.', 'c', 'o', 'm', '\0', /* "co.search.yahoo.com", false */ 'c', 'o', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', - /* "coach-sportif.paris", true */ 'c', 'o', 'a', 'c', 'h', '-', 's', 'p', 'o', 'r', 't', 'i', 'f', '.', 'p', 'a', 'r', 'i', 's', '\0', /* "coachingconsultancy.com", true */ 'c', 'o', 'a', 'c', 'h', 'i', 'n', 'g', 'c', 'o', 'n', 's', 'u', 'l', 't', 'a', 'n', 'c', 'y', '.', 'c', 'o', 'm', '\0', /* "coalpointcottage.com", true */ 'c', 'o', 'a', 'l', 'p', 'o', 'i', 'n', 't', 'c', 'o', 't', 't', 'a', 'g', 'e', '.', 'c', 'o', 'm', '\0', /* "coam.co", true */ 'c', 'o', 'a', 'm', '.', 'c', 'o', '\0', @@ -3320,7 +3324,6 @@ static const char kSTSHostTable[] = { /* "comalia.com", true */ 'c', 'o', 'm', 'a', 'l', 'i', 'a', '.', 'c', 'o', 'm', '\0', /* "comarkinstruments.net", true */ 'c', 'o', 'm', 'a', 'r', 'k', 'i', 'n', 's', 't', 'r', 'u', 'm', 'e', 'n', 't', 's', '.', 'n', 'e', 't', '\0', /* "combatshield.cz", true */ 'c', 'o', 'm', 'b', 'a', 't', 's', 'h', 'i', 'e', 'l', 'd', '.', 'c', 'z', '\0', - /* "combron.nl", true */ 'c', 'o', 'm', 'b', 'r', 'o', 'n', '.', 'n', 'l', '\0', /* "comchezmeme.com", true */ 'c', 'o', 'm', 'c', 'h', 'e', 'z', 'm', 'e', 'm', 'e', '.', 'c', 'o', 'm', '\0', /* "comdotgame.com", true */ 'c', 'o', 'm', 'd', 'o', 't', 'g', 'a', 'm', 'e', '.', 'c', 'o', 'm', '\0', /* "comdurav.com", true */ 'c', 'o', 'm', 'd', 'u', 'r', 'a', 'v', '.', 'c', 'o', 'm', '\0', @@ -3431,7 +3434,7 @@ static const char kSTSHostTable[] = { /* "cool110.tk", true */ 'c', 'o', 'o', 'l', '1', '1', '0', '.', 't', 'k', '\0', /* "coolaj86.com", true */ 'c', 'o', 'o', 'l', 'a', 'j', '8', '6', '.', 'c', 'o', 'm', '\0', /* "cooldan.com", true */ 'c', 'o', 'o', 'l', 'd', 'a', 'n', '.', 'c', 'o', 'm', '\0', - /* "coolrc.me", true */ 'c', 'o', 'o', 'l', 'r', 'c', '.', 'm', 'e', '\0', + /* "coolgifs.de", true */ 'c', 'o', 'o', 'l', 'g', 'i', 'f', 's', '.', 'd', 'e', '\0', /* "coolviewthermostat.com", true */ 'c', 'o', 'o', 'l', 'v', 'i', 'e', 'w', 't', 'h', 'e', 'r', 'm', 'o', 's', 't', 'a', 't', '.', 'c', 'o', 'm', '\0', /* "coopens.com", true */ 'c', 'o', 'o', 'p', 'e', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "coore.jp", true */ 'c', 'o', 'o', 'r', 'e', '.', 'j', 'p', '\0', @@ -3613,6 +3616,7 @@ static const char kSTSHostTable[] = { /* "cryptography.io", true */ 'c', 'r', 'y', 'p', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'i', 'o', '\0', /* "cryptoisnotacrime.org", true */ 'c', 'r', 'y', 'p', 't', 'o', 'i', 's', 'n', 'o', 't', 'a', 'c', 'r', 'i', 'm', 'e', '.', 'o', 'r', 'g', '\0', /* "cryptojourney.com", true */ 'c', 'r', 'y', 'p', 't', 'o', 'j', 'o', 'u', 'r', 'n', 'e', 'y', '.', 'c', 'o', 'm', '\0', + /* "cryptoki.fr", true */ 'c', 'r', 'y', 'p', 't', 'o', 'k', 'i', '.', 'f', 'r', '\0', /* "cryptonym.com", true */ 'c', 'r', 'y', 'p', 't', 'o', 'n', 'y', 'm', '.', 'c', 'o', 'm', '\0', /* "cryptoparty.at", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', '.', 'a', 't', '\0', /* "cryptoparty.dk", true */ 'c', 'r', 'y', 'p', 't', 'o', 'p', 'a', 'r', 't', 'y', '.', 'd', 'k', '\0', @@ -3675,6 +3679,7 @@ static const char kSTSHostTable[] = { /* "culturedcode.com", true */ 'c', 'u', 'l', 't', 'u', 'r', 'e', 'd', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0', /* "cultureroll.com", true */ 'c', 'u', 'l', 't', 'u', 'r', 'e', 'r', 'o', 'l', 'l', '.', 'c', 'o', 'm', '\0', /* "cun.lu", true */ 'c', 'u', 'n', '.', 'l', 'u', '\0', + /* "cunha.be", true */ 'c', 'u', 'n', 'h', 'a', '.', 'b', 'e', '\0', /* "cuni-cuni-club.com", true */ 'c', 'u', 'n', 'i', '-', 'c', 'u', 'n', 'i', '-', 'c', 'l', 'u', 'b', '.', 'c', 'o', 'm', '\0', /* "cuni-rec.com", true */ 'c', 'u', 'n', 'i', '-', 'r', 'e', 'c', '.', 'c', 'o', 'm', '\0', /* "cuonic.com", true */ 'c', 'u', 'o', 'n', 'i', 'c', '.', 'c', 'o', 'm', '\0', @@ -4006,6 +4011,7 @@ static const char kSTSHostTable[] = { /* "dds.mil", true */ 'd', 'd', 's', '.', 'm', 'i', 'l', '\0', /* "de-medici.nl", true */ 'd', 'e', '-', 'm', 'e', 'd', 'i', 'c', 'i', '.', 'n', 'l', '\0', /* "de-rwa.de", true */ 'd', 'e', '-', 'r', 'w', 'a', '.', 'd', 'e', '\0', + /* "de-servers.de", true */ 'd', 'e', '-', 's', 'e', 'r', 'v', 'e', 'r', 's', '.', 'd', 'e', '\0', /* "de-spil.be", true */ 'd', 'e', '-', 's', 'p', 'i', 'l', '.', 'b', 'e', '\0', /* "de.search.yahoo.com", false */ 'd', 'e', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "deadbeef.ninja", true */ 'd', 'e', 'a', 'd', 'b', 'e', 'e', 'f', '.', 'n', 'i', 'n', 'j', 'a', '\0', @@ -4083,6 +4089,7 @@ static const char kSTSHostTable[] = { /* "degeberg.dk", true */ 'd', 'e', 'g', 'e', 'b', 'e', 'r', 'g', '.', 'd', 'k', '\0', /* "degraafschapdierenartsen.nl", true */ 'd', 'e', 'g', 'r', 'a', 'a', 'f', 's', 'c', 'h', 'a', 'p', 'd', 'i', 'e', 'r', 'e', 'n', 'a', 'r', 't', 's', 'e', 'n', '.', 'n', 'l', '\0', /* "dehopre.com", true */ 'd', 'e', 'h', 'o', 'p', 'r', 'e', '.', 'c', 'o', 'm', '\0', + /* "dehydrated.de", true */ 'd', 'e', 'h', 'y', 'd', 'r', 'a', 't', 'e', 'd', '.', 'd', 'e', '\0', /* "deidee.nl", true */ 'd', 'e', 'i', 'd', 'e', 'e', '.', 'n', 'l', '\0', /* "deinballon.de", true */ 'd', 'e', 'i', 'n', 'b', 'a', 'l', 'l', 'o', 'n', '.', 'd', 'e', '\0', /* "deitti.net", true */ 'd', 'e', 'i', 't', 't', 'i', '.', 'n', 'e', 't', '\0', @@ -4102,6 +4109,7 @@ static const char kSTSHostTable[] = { /* "dementiapraecox.de", true */ 'd', 'e', 'm', 'e', 'n', 't', 'i', 'a', 'p', 'r', 'a', 'e', 'c', 'o', 'x', '.', 'd', 'e', '\0', /* "demfloro.ru", true */ 'd', 'e', 'm', 'f', 'l', 'o', 'r', 'o', '.', 'r', 'u', '\0', /* "democracy.io", true */ 'd', 'e', 'm', 'o', 'c', 'r', 'a', 'c', 'y', '.', 'i', 'o', '\0', + /* "democracychronicles.com", true */ 'd', 'e', 'm', 'o', 'c', 'r', 'a', 'c', 'y', 'c', 'h', 'r', 'o', 'n', 'i', 'c', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "demomanca.com", true */ 'd', 'e', 'm', 'o', 'm', 'a', 'n', 'c', 'a', '.', 'c', 'o', 'm', '\0', /* "demonwav.com", true */ 'd', 'e', 'm', 'o', 'n', 'w', 'a', 'v', '.', 'c', 'o', 'm', '\0', /* "demonwolfdev.com", true */ 'd', 'e', 'm', 'o', 'n', 'w', 'o', 'l', 'f', 'd', 'e', 'v', '.', 'c', 'o', 'm', '\0', @@ -4140,7 +4148,6 @@ static const char kSTSHostTable[] = { /* "dereferenced.net", true */ 'd', 'e', 'r', 'e', 'f', 'e', 'r', 'e', 'n', 'c', 'e', 'd', '.', 'n', 'e', 't', '\0', /* "deregowski.net", true */ 'd', 'e', 'r', 'e', 'g', 'o', 'w', 's', 'k', 'i', '.', 'n', 'e', 't', '\0', /* "derekkent.com", true */ 'd', 'e', 'r', 'e', 'k', 'k', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0', - /* "dergeilstestammderwelt.de", true */ 'd', 'e', 'r', 'g', 'e', 'i', 'l', 's', 't', 'e', 's', 't', 'a', 'm', 'm', 'd', 'e', 'r', 'w', 'e', 'l', 't', '.', 'd', 'e', '\0', /* "derhil.de", true */ 'd', 'e', 'r', 'h', 'i', 'l', '.', 'd', 'e', '\0', /* "derivativeshub.pro", true */ 'd', 'e', 'r', 'i', 'v', 'a', 't', 'i', 'v', 'e', 's', 'h', 'u', 'b', '.', 'p', 'r', 'o', '\0', /* "dermapuur.nl", true */ 'd', 'e', 'r', 'm', 'a', 'p', 'u', 'u', 'r', '.', 'n', 'l', '\0', @@ -4413,7 +4420,6 @@ static const char kSTSHostTable[] = { /* "dldl.fr", true */ 'd', 'l', 'd', 'l', '.', 'f', 'r', '\0', /* "dlg.im", true */ 'd', 'l', 'g', '.', 'i', 'm', '\0', /* "dlld.com", true */ 'd', 'l', 'l', 'd', '.', 'c', 'o', 'm', '\0', - /* "dlouwrink.nl", true */ 'd', 'l', 'o', 'u', 'w', 'r', 'i', 'n', 'k', '.', 'n', 'l', '\0', /* "dlzz.net", true */ 'd', 'l', 'z', 'z', '.', 'n', 'e', 't', '\0', /* "dm.lookout.com", false */ 'd', 'm', '.', 'l', 'o', 'o', 'k', 'o', 'u', 't', '.', 'c', 'o', 'm', '\0', /* "dm7ds.de", true */ 'd', 'm', '7', 'd', 's', '.', 'd', 'e', '\0', @@ -4607,7 +4613,6 @@ static const char kSTSHostTable[] = { /* "dreamlinehost.com", false */ 'd', 'r', 'e', 'a', 'm', 'l', 'i', 'n', 'e', 'h', 'o', 's', 't', '.', 'c', 'o', 'm', '\0', /* "dreamtechie.com", true */ 'd', 'r', 'e', 'a', 'm', 't', 'e', 'c', 'h', 'i', 'e', '.', 'c', 'o', 'm', '\0', /* "dreiweiden.de", true */ 'd', 'r', 'e', 'i', 'w', 'e', 'i', 'd', 'e', 'n', '.', 'd', 'e', '\0', - /* "dreizwosechs.de", true */ 'd', 'r', 'e', 'i', 'z', 'w', 'o', 's', 'e', 'c', 'h', 's', '.', 'd', 'e', '\0', /* "dress-cons.com", true */ 'd', 'r', 'e', 's', 's', '-', 'c', 'o', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "drevo-door.cz", true */ 'd', 'r', 'e', 'v', 'o', '-', 'd', 'o', 'o', 'r', '.', 'c', 'z', '\0', /* "drew.red", true */ 'd', 'r', 'e', 'w', '.', 'r', 'e', 'd', '\0', @@ -4773,7 +4778,6 @@ static const char kSTSHostTable[] = { /* "eagleyecs.com", true */ 'e', 'a', 'g', 'l', 'e', 'y', 'e', 'c', 's', '.', 'c', 'o', 'm', '\0', /* "ealev.de", true */ 'e', 'a', 'l', 'e', 'v', '.', 'd', 'e', '\0', /* "eam-gmbh.com", true */ 'e', 'a', 'm', '-', 'g', 'm', 'b', 'h', '.', 'c', 'o', 'm', '\0', - /* "eames-clayton.us", true */ 'e', 'a', 'm', 'e', 's', '-', 'c', 'l', 'a', 'y', 't', 'o', 'n', '.', 'u', 's', '\0', /* "earlyyearshub.com", true */ 'e', 'a', 'r', 'l', 'y', 'y', 'e', 'a', 'r', 's', 'h', 'u', 'b', '.', 'c', 'o', 'm', '\0', /* "earmarks.gov", true */ 'e', 'a', 'r', 'm', 'a', 'r', 'k', 's', '.', 'g', 'o', 'v', '\0', /* "earth-people.org", true */ 'e', 'a', 'r', 't', 'h', '-', 'p', 'e', 'o', 'p', 'l', 'e', '.', 'o', 'r', 'g', '\0', @@ -5122,7 +5126,6 @@ static const char kSTSHostTable[] = { /* "enfoqueseguro.com", true */ 'e', 'n', 'f', 'o', 'q', 'u', 'e', 's', 'e', 'g', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0', /* "engaugetools.com", true */ 'e', 'n', 'g', 'a', 'u', 'g', 'e', 't', 'o', 'o', 'l', 's', '.', 'c', 'o', 'm', '\0', /* "engelundlicht.ch", true */ 'e', 'n', 'g', 'e', 'l', 'u', 'n', 'd', 'l', 'i', 'c', 'h', 't', '.', 'c', 'h', '\0', - /* "engineeryourmarketing.com", false */ 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 'y', 'o', 'u', 'r', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "engineowning.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'o', 'w', 'n', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "enginepit.com", true */ 'e', 'n', 'g', 'i', 'n', 'e', 'p', 'i', 't', '.', 'c', 'o', 'm', '\0', /* "enginx.net", true */ 'e', 'n', 'g', 'i', 'n', 'x', '.', 'n', 'e', 't', '\0', @@ -5177,7 +5180,7 @@ static const char kSTSHostTable[] = { /* "epicwalnutcreek.com", true */ 'e', 'p', 'i', 'c', 'w', 'a', 'l', 'n', 'u', 't', 'c', 'r', 'e', 'e', 'k', '.', 'c', 'o', 'm', '\0', /* "epizentrum.work", true */ 'e', 'p', 'i', 'z', 'e', 'n', 't', 'r', 'u', 'm', '.', 'w', 'o', 'r', 'k', '\0', /* "epizentrum.works", true */ 'e', 'p', 'i', 'z', 'e', 'n', 't', 'r', 'u', 'm', '.', 'w', 'o', 'r', 'k', 's', '\0', - /* "epoch.com", false */ 'e', 'p', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', + /* "epoch.com", true */ 'e', 'p', 'o', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "epostplus.li", true */ 'e', 'p', 'o', 's', 't', 'p', 'l', 'u', 's', '.', 'l', 'i', '\0', /* "eprofitacademy.com", true */ 'e', 'p', 'r', 'o', 'f', 'i', 't', 'a', 'c', 'a', 'd', 'e', 'm', 'y', '.', 'c', 'o', 'm', '\0', /* "epsilon.dk", true */ 'e', 'p', 's', 'i', 'l', 'o', 'n', '.', 'd', 'k', '\0', @@ -5227,6 +5230,14 @@ static const char kSTSHostTable[] = { /* "errlytics.com", true */ 'e', 'r', 'r', 'l', 'y', 't', 'i', 'c', 's', '.', 'c', 'o', 'm', '\0', /* "error418.nl", true */ 'e', 'r', 'r', 'o', 'r', '4', '1', '8', '.', 'n', 'l', '\0', /* "erstehilfeprodukte.at", true */ 'e', 'r', 's', 't', 'e', 'h', 'i', 'l', 'f', 'e', 'p', 'r', 'o', 'd', 'u', 'k', 't', 'e', '.', 'a', 't', '\0', + /* "erudicia.com", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'c', 'o', 'm', '\0', + /* "erudicia.de", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'd', 'e', '\0', + /* "erudicia.es", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'e', 's', '\0', + /* "erudicia.fr", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'f', 'r', '\0', + /* "erudicia.it", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'i', 't', '\0', + /* "erudicia.nl", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'n', 'l', '\0', + /* "erudicia.se", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 's', 'e', '\0', + /* "erudicia.uk", true */ 'e', 'r', 'u', 'd', 'i', 'c', 'i', 'a', '.', 'u', 'k', '\0', /* "erudikum.cz", true */ 'e', 'r', 'u', 'd', 'i', 'k', 'u', 'm', '.', 'c', 'z', '\0', /* "erwanlepape.com", true */ 'e', 'r', 'w', 'a', 'n', 'l', 'e', 'p', 'a', 'p', 'e', '.', 'c', 'o', 'm', '\0', /* "erwin.saarland", true */ 'e', 'r', 'w', 'i', 'n', '.', 's', 'a', 'a', 'r', 'l', 'a', 'n', 'd', '\0', @@ -5352,7 +5363,6 @@ static const char kSTSHostTable[] = { /* "eva.cz", true */ 'e', 'v', 'a', '.', 'c', 'z', '\0', /* "evades.io", true */ 'e', 'v', 'a', 'd', 'e', 's', '.', 'i', 'o', '\0', /* "evalesc.com", true */ 'e', 'v', 'a', 'l', 'e', 's', 'c', '.', 'c', 'o', 'm', '\0', - /* "evangelosm.com", true */ 'e', 'v', 'a', 'n', 'g', 'e', 'l', 'o', 's', 'm', '.', 'c', 'o', 'm', '\0', /* "evanhandgraaf.nl", true */ 'e', 'v', 'a', 'n', 'h', 'a', 'n', 'd', 'g', 'r', 'a', 'a', 'f', '.', 'n', 'l', '\0', /* "evankurniawan.com", true */ 'e', 'v', 'a', 'n', 'k', 'u', 'r', 'n', 'i', 'a', 'w', 'a', 'n', '.', 'c', 'o', 'm', '\0', /* "evantage.org", true */ 'e', 'v', 'a', 'n', 't', 'a', 'g', 'e', '.', 'o', 'r', 'g', '\0', @@ -5915,7 +5925,6 @@ static const char kSTSHostTable[] = { /* "foodplantengineering.com", true */ 'f', 'o', 'o', 'd', 'p', 'l', 'a', 'n', 't', 'e', 'n', 'g', 'i', 'n', 'e', 'e', 'r', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "foodsafety.gov", true */ 'f', 'o', 'o', 'd', 's', 'a', 'f', 'e', 't', 'y', '.', 'g', 'o', 'v', '\0', /* "foodsafetyjobs.gov", true */ 'f', 'o', 'o', 'd', 's', 'a', 'f', 'e', 't', 'y', 'j', 'o', 'b', 's', '.', 'g', 'o', 'v', '\0', - /* "foodsafetyworkinggroup.gov", true */ 'f', 'o', 'o', 'd', 's', 'a', 'f', 'e', 't', 'y', 'w', 'o', 'r', 'k', 'i', 'n', 'g', 'g', 'r', 'o', 'u', 'p', '.', 'g', 'o', 'v', '\0', /* "foodwise.marketing", true */ 'f', 'o', 'o', 'd', 'w', 'i', 's', 'e', '.', 'm', 'a', 'r', 'k', 'e', 't', 'i', 'n', 'g', '\0', /* "fooishbar.org", false */ 'f', 'o', 'o', 'i', 's', 'h', 'b', 'a', 'r', '.', 'o', 'r', 'g', '\0', /* "foolip.org", true */ 'f', 'o', 'o', 'l', 'i', 'p', '.', 'o', 'r', 'g', '\0', @@ -6059,6 +6068,7 @@ static const char kSTSHostTable[] = { /* "freesounding.com", true */ 'f', 'r', 'e', 'e', 's', 'o', 'u', 'n', 'd', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "freesounding.ru", true */ 'f', 'r', 'e', 'e', 's', 'o', 'u', 'n', 'd', 'i', 'n', 'g', '.', 'r', 'u', '\0', /* "freethetv.ie", true */ 'f', 'r', 'e', 'e', 't', 'h', 'e', 't', 'v', '.', 'i', 'e', '\0', + /* "freetsa.org", true */ 'f', 'r', 'e', 'e', 't', 's', 'a', '.', 'o', 'r', 'g', '\0', /* "freevps.us", true */ 'f', 'r', 'e', 'e', 'v', 'p', 's', '.', 'u', 's', '\0', /* "freeweibo.com", true */ 'f', 'r', 'e', 'e', 'w', 'e', 'i', 'b', 'o', '.', 'c', 'o', 'm', '\0', /* "freezion.com", true */ 'f', 'r', 'e', 'e', 'z', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', @@ -6282,6 +6292,7 @@ static const char kSTSHostTable[] = { /* "gar-nich.net", true */ 'g', 'a', 'r', '-', 'n', 'i', 'c', 'h', '.', 'n', 'e', 't', '\0', /* "garageenginuity.com", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'e', 'n', 'g', 'i', 'n', 'u', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0', /* "garagegoossens.be", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'g', 'o', 'o', 's', 's', 'e', 'n', 's', '.', 'b', 'e', '\0', + /* "garagemhermetica.org", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'm', 'h', 'e', 'r', 'm', 'e', 't', 'i', 'c', 'a', '.', 'o', 'r', 'g', '\0', /* "garageon.net", true */ 'g', 'a', 'r', 'a', 'g', 'e', 'o', 'n', '.', 'n', 'e', 't', '\0', /* "garantieabschluss.de", false */ 'g', 'a', 'r', 'a', 'n', 't', 'i', 'e', 'a', 'b', 's', 'c', 'h', 'l', 'u', 's', 's', '.', 'd', 'e', '\0', /* "garbage-juice.com", true */ 'g', 'a', 'r', 'b', 'a', 'g', 'e', '-', 'j', 'u', 'i', 'c', 'e', '.', 'c', 'o', 'm', '\0', @@ -6327,7 +6338,6 @@ static const char kSTSHostTable[] = { /* "gdutnic.com", true */ 'g', 'd', 'u', 't', 'n', 'i', 'c', '.', 'c', 'o', 'm', '\0', /* "gdv.me", true */ 'g', 'd', 'v', '.', 'm', 'e', '\0', /* "gdz-otvety.com", true */ 'g', 'd', 'z', '-', 'o', 't', 'v', 'e', 't', 'y', '.', 'c', 'o', 'm', '\0', - /* "gdz.tv", true */ 'g', 'd', 'z', '.', 't', 'v', '\0', /* "ge1.me", false */ 'g', 'e', '1', '.', 'm', 'e', '\0', /* "ge3k.net", false */ 'g', 'e', '3', 'k', '.', 'n', 'e', 't', '\0', /* "gear-acquisition-syndrome.community", true */ 'g', 'e', 'a', 'r', '-', 'a', 'c', 'q', 'u', 'i', 's', 'i', 't', 'i', 'o', 'n', '-', 's', 'y', 'n', 'd', 'r', 'o', 'm', 'e', '.', 'c', 'o', 'm', 'm', 'u', 'n', 'i', 't', 'y', '\0', @@ -6581,6 +6591,7 @@ static const char kSTSHostTable[] = { /* "gnom.me", true */ 'g', 'n', 'o', 'm', '.', 'm', 'e', '\0', /* "gnunet.org", true */ 'g', 'n', 'u', 'n', 'e', 't', '.', 'o', 'r', 'g', '\0', /* "gnwp.eu", true */ 'g', 'n', 'w', 'p', '.', 'e', 'u', '\0', + /* "gnylf.com", true */ 'g', 'n', 'y', 'l', 'f', '.', 'c', 'o', 'm', '\0', /* "go-zh.org", true */ 'g', 'o', '-', 'z', 'h', '.', 'o', 'r', 'g', '\0', /* "go.xero.com", false */ 'g', 'o', '.', 'x', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0', /* "go4it.solutions", true */ 'g', 'o', '4', 'i', 't', '.', 's', 'o', 'l', 'u', 't', 'i', 'o', 'n', 's', '\0', @@ -6815,7 +6826,6 @@ static const char kSTSHostTable[] = { /* "gsmkungen.com", true */ 'g', 's', 'm', 'k', 'u', 'n', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "gsoc.se", true */ 'g', 's', 'o', 'c', '.', 's', 'e', '\0', /* "gsrc.io", true */ 'g', 's', 'r', 'c', '.', 'i', 'o', '\0', - /* "gswtech.eu", true */ 'g', 's', 'w', 't', 'e', 'c', 'h', '.', 'e', 'u', '\0', /* "gta-arabs.com", true */ 'g', 't', 'a', '-', 'a', 'r', 'a', 'b', 's', '.', 'c', 'o', 'm', '\0', /* "gtaforum.nl", true */ 'g', 't', 'a', 'f', 'o', 'r', 'u', 'm', '.', 'n', 'l', '\0', /* "gtalife.net", true */ 'g', 't', 'a', 'l', 'i', 'f', 'e', '.', 'n', 'e', 't', '\0', @@ -6976,7 +6986,6 @@ static const char kSTSHostTable[] = { /* "happist.com", true */ 'h', 'a', 'p', 'p', 'i', 's', 't', '.', 'c', 'o', 'm', '\0', /* "happyagain.de", true */ 'h', 'a', 'p', 'p', 'y', 'a', 'g', 'a', 'i', 'n', '.', 'd', 'e', '\0', /* "happyandrelaxeddogs.eu", true */ 'h', 'a', 'p', 'p', 'y', 'a', 'n', 'd', 'r', 'e', 'l', 'a', 'x', 'e', 'd', 'd', 'o', 'g', 's', '.', 'e', 'u', '\0', - /* "happycoder.net", false */ 'h', 'a', 'p', 'p', 'y', 'c', 'o', 'd', 'e', 'r', '.', 'n', 'e', 't', '\0', /* "happygadget.me", true */ 'h', 'a', 'p', 'p', 'y', 'g', 'a', 'd', 'g', 'e', 't', '.', 'm', 'e', '\0', /* "happylifestyle.com", true */ 'h', 'a', 'p', 'p', 'y', 'l', 'i', 'f', 'e', 's', 't', 'y', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "happyteamlabs.com", true */ 'h', 'a', 'p', 'p', 'y', 't', 'e', 'a', 'm', 'l', 'a', 'b', 's', '.', 'c', 'o', 'm', '\0', @@ -7249,6 +7258,7 @@ static const char kSTSHostTable[] = { /* "historia-arte.com", true */ 'h', 'i', 's', 't', 'o', 'r', 'i', 'a', '-', 'a', 'r', 't', 'e', '.', 'c', 'o', 'm', '\0', /* "history.google.com", true */ 'h', 'i', 's', 't', 'o', 'r', 'y', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "hitchunion.org", true */ 'h', 'i', 't', 'c', 'h', 'u', 'n', 'i', 'o', 'n', '.', 'o', 'r', 'g', '\0', + /* "hititgunesi-tr.com", true */ 'h', 'i', 't', 'i', 't', 'g', 'u', 'n', 'e', 's', 'i', '-', 't', 'r', '.', 'c', 'o', 'm', '\0', /* "hitoapi.cc", true */ 'h', 'i', 't', 'o', 'a', 'p', 'i', '.', 'c', 'c', '\0', /* "hitter-lauzon.com", true */ 'h', 'i', 't', 't', 'e', 'r', '-', 'l', 'a', 'u', 'z', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "hitter.family", true */ 'h', 'i', 't', 't', 'e', 'r', '.', 'f', 'a', 'm', 'i', 'l', 'y', '\0', @@ -7305,6 +7315,7 @@ static const char kSTSHostTable[] = { /* "holzvergaser-forum.de", true */ 'h', 'o', 'l', 'z', 'v', 'e', 'r', 'g', 'a', 's', 'e', 'r', '-', 'f', 'o', 'r', 'u', 'm', '.', 'd', 'e', '\0', /* "homads.com", false */ 'h', 'o', 'm', 'a', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "home-coaching.be", true */ 'h', 'o', 'm', 'e', '-', 'c', 'o', 'a', 'c', 'h', 'i', 'n', 'g', '.', 'b', 'e', '\0', + /* "home-v.ind.in", true */ 'h', 'o', 'm', 'e', '-', 'v', '.', 'i', 'n', 'd', '.', 'i', 'n', '\0', /* "homebodyalberta.com", true */ 'h', 'o', 'm', 'e', 'b', 'o', 'd', 'y', 'a', 'l', 'b', 'e', 'r', 't', 'a', '.', 'c', 'o', 'm', '\0', /* "homecareassociatespa.com", true */ 'h', 'o', 'm', 'e', 'c', 'a', 'r', 'e', 'a', 's', 's', 'o', 'c', 'i', 'a', 't', 'e', 's', 'p', 'a', '.', 'c', 'o', 'm', '\0', /* "homecoming.city", true */ 'h', 'o', 'm', 'e', 'c', 'o', 'm', 'i', 'n', 'g', '.', 'c', 'i', 't', 'y', '\0', @@ -7758,7 +7769,6 @@ static const char kSTSHostTable[] = { /* "imrunner.com", true */ 'i', 'm', 'r', 'u', 'n', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "imrunner.ru", true */ 'i', 'm', 'r', 'u', 'n', 'n', 'e', 'r', '.', 'r', 'u', '\0', /* "in-depthoutdoors.com", true */ 'i', 'n', '-', 'd', 'e', 'p', 't', 'h', 'o', 'u', 't', 'd', 'o', 'o', 'r', 's', '.', 'c', 'o', 'm', '\0', - /* "in-flames.com", true */ 'i', 'n', '-', 'f', 'l', 'a', 'm', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "in.search.yahoo.com", false */ 'i', 'n', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "in.xero.com", false */ 'i', 'n', '.', 'x', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0', /* "in10tion.com", false */ 'i', 'n', '1', '0', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', @@ -7909,7 +7919,6 @@ static const char kSTSHostTable[] = { /* "intermedinet.nl", true */ 'i', 'n', 't', 'e', 'r', 'm', 'e', 'd', 'i', 'n', 'e', 't', '.', 'n', 'l', '\0', /* "internaldh.com", true */ 'i', 'n', 't', 'e', 'r', 'n', 'a', 'l', 'd', 'h', '.', 'c', 'o', 'm', '\0', /* "internaut.co.za", true */ 'i', 'n', 't', 'e', 'r', 'n', 'a', 'u', 't', '.', 'c', 'o', '.', 'z', 'a', '\0', - /* "internect.co.za", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 'c', 't', '.', 'c', 'o', '.', 'z', 'a', '\0', /* "internet-pornografie.de", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', '-', 'p', 'o', 'r', 'n', 'o', 'g', 'r', 'a', 'f', 'i', 'e', '.', 'd', 'e', '\0', /* "internetaanbieders.eu", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'a', 'a', 'n', 'b', 'i', 'e', 'd', 'e', 'r', 's', '.', 'e', 'u', '\0', /* "internetbank.swedbank.se", true */ 'i', 'n', 't', 'e', 'r', 'n', 'e', 't', 'b', 'a', 'n', 'k', '.', 's', 'w', 'e', 'd', 'b', 'a', 'n', 'k', '.', 's', 'e', '\0', @@ -7997,6 +8006,7 @@ static const char kSTSHostTable[] = { /* "iplog.info", true */ 'i', 'p', 'l', 'o', 'g', '.', 'i', 'n', 'f', 'o', '\0', /* "ipmotion.ca", true */ 'i', 'p', 'm', 'o', 't', 'i', 'o', 'n', '.', 'c', 'a', '\0', /* "ipokabu.net", true */ 'i', 'p', 'o', 'k', 'a', 'b', 'u', '.', 'n', 'e', 't', '\0', + /* "ipomue.com", false */ 'i', 'p', 'o', 'm', 'u', 'e', '.', 'c', 'o', 'm', '\0', /* "iprim.ru", true */ 'i', 'p', 'r', 'i', 'm', '.', 'r', 'u', '\0', /* "ipsec.pl", true */ 'i', 'p', 's', 'e', 'c', '.', 'p', 'l', '\0', /* "ipsilon-project.org", true */ 'i', 'p', 's', 'i', 'l', 'o', 'n', '-', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'o', 'r', 'g', '\0', @@ -8013,6 +8023,8 @@ static const char kSTSHostTable[] = { /* "iqboxy.com", true */ 'i', 'q', 'b', 'o', 'x', 'y', '.', 'c', 'o', 'm', '\0', /* "iqsmn.org", true */ 'i', 'q', 's', 'm', 'n', '.', 'o', 'r', 'g', '\0', /* "ir-saitama.com", true */ 'i', 'r', '-', 's', 'a', 'i', 't', 'a', 'm', 'a', '.', 'c', 'o', 'm', '\0', + /* "ircmett.de", true */ 'i', 'r', 'c', 'm', 'e', 't', 't', '.', 'd', 'e', '\0', + /* "iready.ro", true */ 'i', 'r', 'e', 'a', 'd', 'y', '.', 'r', 'o', '\0', /* "ireef.tv", true */ 'i', 'r', 'e', 'e', 'f', '.', 't', 'v', '\0', /* "irenekauer.com", true */ 'i', 'r', 'e', 'n', 'e', 'k', 'a', 'u', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "irgit.pl", true */ 'i', 'r', 'g', 'i', 't', '.', 'p', 'l', '\0', @@ -8131,7 +8143,6 @@ static const char kSTSHostTable[] = { /* "its-gutachten.de", true */ 'i', 't', 's', '-', 'g', 'u', 't', 'a', 'c', 'h', 't', 'e', 'n', '.', 'd', 'e', '\0', /* "its-schindler.de", true */ 'i', 't', 's', '-', 's', 'c', 'h', 'i', 'n', 'd', 'l', 'e', 'r', '.', 'd', 'e', '\0', /* "its-v.de", true */ 'i', 't', 's', '-', 'v', '.', 'd', 'e', '\0', - /* "its4living.com", true */ 'i', 't', 's', '4', 'l', 'i', 'v', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "itsanicedoor.co.uk", true */ 'i', 't', 's', 'a', 'n', 'i', 'c', 'e', 'd', 'o', 'o', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "itsatrap.nl", false */ 'i', 't', 's', 'a', 't', 'r', 'a', 'p', '.', 'n', 'l', '\0', /* "itsecguy.com", true */ 'i', 't', 's', 'e', 'c', 'g', 'u', 'y', '.', 'c', 'o', 'm', '\0', @@ -8289,12 +8300,10 @@ static const char kSTSHostTable[] = { /* "jasperespejo.com", true */ 'j', 'a', 's', 'p', 'e', 'r', 'e', 's', 'p', 'e', 'j', 'o', '.', 'c', 'o', 'm', '\0', /* "jasperhammink.com", true */ 'j', 'a', 's', 'p', 'e', 'r', 'h', 'a', 'm', 'm', 'i', 'n', 'k', '.', 'c', 'o', 'm', '\0', /* "jasperhuttenmedia.com", true */ 'j', 'a', 's', 'p', 'e', 'r', 'h', 'u', 't', 't', 'e', 'n', 'm', 'e', 'd', 'i', 'a', '.', 'c', 'o', 'm', '\0', - /* "jav-collective.com", true */ 'j', 'a', 'v', '-', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0', /* "javachip.win", true */ 'j', 'a', 'v', 'a', 'c', 'h', 'i', 'p', '.', 'w', 'i', 'n', '\0', /* "javalestari.com", true */ 'j', 'a', 'v', 'a', 'l', 'e', 's', 't', 'a', 'r', 'i', '.', 'c', 'o', 'm', '\0', /* "javamilk.com", true */ 'j', 'a', 'v', 'a', 'm', 'i', 'l', 'k', '.', 'c', 'o', 'm', '\0', /* "javascriptlab.fr", true */ 'j', 'a', 'v', 'a', 's', 'c', 'r', 'i', 'p', 't', 'l', 'a', 'b', '.', 'f', 'r', '\0', - /* "javelinsms.com", true */ 'j', 'a', 'v', 'e', 'l', 'i', 'n', 's', 'm', 's', '.', 'c', 'o', 'm', '\0', /* "jayf.de", true */ 'j', 'a', 'y', 'f', '.', 'd', 'e', '\0', /* "jaymecd.rocks", true */ 'j', 'a', 'y', 'm', 'e', 'c', 'd', '.', 'r', 'o', 'c', 'k', 's', '\0', /* "jayxon.com", true */ 'j', 'a', 'y', 'x', 'o', 'n', '.', 'c', 'o', 'm', '\0', @@ -8632,7 +8641,6 @@ static const char kSTSHostTable[] = { /* "kab-s.de", true */ 'k', 'a', 'b', '-', 's', '.', 'd', 'e', '\0', /* "kabat-fans.cz", true */ 'k', 'a', 'b', 'a', 't', '-', 'f', 'a', 'n', 's', '.', 'c', 'z', '\0', /* "kabeuchi.com", true */ 'k', 'a', 'b', 'e', 'u', 'c', 'h', 'i', '.', 'c', 'o', 'm', '\0', - /* "kabus.org", true */ 'k', 'a', 'b', 'u', 's', '.', 'o', 'r', 'g', '\0', /* "kachlikova2.cz", true */ 'k', 'a', 'c', 'h', 'l', 'i', 'k', 'o', 'v', 'a', '2', '.', 'c', 'z', '\0', /* "kackscharf.de", true */ 'k', 'a', 'c', 'k', 's', 'c', 'h', 'a', 'r', 'f', '.', 'd', 'e', '\0', /* "kadmec.com", true */ 'k', 'a', 'd', 'm', 'e', 'c', '.', 'c', 'o', 'm', '\0', @@ -9488,6 +9496,7 @@ static const char kSTSHostTable[] = { /* "lemarcheelagrandeguerra.it", true */ 'l', 'e', 'm', 'a', 'r', 'c', 'h', 'e', 'e', 'l', 'a', 'g', 'r', 'a', 'n', 'd', 'e', 'g', 'u', 'e', 'r', 'r', 'a', '.', 'i', 't', '\0', /* "lemoine.at", true */ 'l', 'e', 'm', 'o', 'i', 'n', 'e', '.', 'a', 't', '\0', /* "lemon.co", true */ 'l', 'e', 'm', 'o', 'n', '.', 'c', 'o', '\0', + /* "lemondrops.xyz", true */ 'l', 'e', 'm', 'o', 'n', 'd', 'r', 'o', 'p', 's', '.', 'x', 'y', 'z', '\0', /* "lemuslimpost.com", true */ 'l', 'e', 'm', 'u', 's', 'l', 'i', 'm', 'p', 'o', 's', 't', '.', 'c', 'o', 'm', '\0', /* "lence.net", true */ 'l', 'e', 'n', 'c', 'e', '.', 'n', 'e', 't', '\0', /* "lenders.direct", true */ 'l', 'e', 'n', 'd', 'e', 'r', 's', '.', 'd', 'i', 'r', 'e', 'c', 't', '\0', @@ -9763,7 +9772,6 @@ static const char kSTSHostTable[] = { /* "localbandz.com", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'a', 'n', 'd', 'z', '.', 'c', 'o', 'm', '\0', /* "localbitcoins.com", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'i', 't', 'c', 'o', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0', /* "localblock.co.za", true */ 'l', 'o', 'c', 'a', 'l', 'b', 'l', 'o', 'c', 'k', '.', 'c', 'o', '.', 'z', 'a', '\0', - /* "localchum.com", true */ 'l', 'o', 'c', 'a', 'l', 'c', 'h', 'u', 'm', '.', 'c', 'o', 'm', '\0', /* "localhorst.xyz", true */ 'l', 'o', 'c', 'a', 'l', 'h', 'o', 'r', 's', 't', '.', 'x', 'y', 'z', '\0', /* "localnetwork.nz", true */ 'l', 'o', 'c', 'a', 'l', 'n', 'e', 't', 'w', 'o', 'r', 'k', '.', 'n', 'z', '\0', /* "localspot.pl", true */ 'l', 'o', 'c', 'a', 'l', 's', 'p', 'o', 't', '.', 'p', 'l', '\0', @@ -9798,7 +9806,6 @@ static const char kSTSHostTable[] = { /* "login.corp.google.com", true */ 'l', 'o', 'g', 'i', 'n', '.', 'c', 'o', 'r', 'p', '.', 'g', 'o', 'o', 'g', 'l', 'e', '.', 'c', 'o', 'm', '\0', /* "login.gov", false */ 'l', 'o', 'g', 'i', 'n', '.', 'g', 'o', 'v', '\0', /* "login.launchpad.net", true */ 'l', 'o', 'g', 'i', 'n', '.', 'l', 'a', 'u', 'n', 'c', 'h', 'p', 'a', 'd', '.', 'n', 'e', 't', '\0', - /* "login.persona.org", true */ 'l', 'o', 'g', 'i', 'n', '.', 'p', 'e', 'r', 's', 'o', 'n', 'a', '.', 'o', 'r', 'g', '\0', /* "login.sapo.pt", true */ 'l', 'o', 'g', 'i', 'n', '.', 's', 'a', 'p', 'o', '.', 'p', 't', '\0', /* "login.ubuntu.com", true */ 'l', 'o', 'g', 'i', 'n', '.', 'u', 'b', 'u', 'n', 't', 'u', '.', 'c', 'o', 'm', '\0', /* "login.xero.com", false */ 'l', 'o', 'g', 'i', 'n', '.', 'x', 'e', 'r', 'o', '.', 'c', 'o', 'm', '\0', @@ -9816,6 +9823,7 @@ static const char kSTSHostTable[] = { /* "loli.pet", true */ 'l', 'o', 'l', 'i', '.', 'p', 'e', 't', '\0', /* "lolicon.eu", true */ 'l', 'o', 'l', 'i', 'c', 'o', 'n', '.', 'e', 'u', '\0', /* "lolkot.ru", true */ 'l', 'o', 'l', 'k', 'o', 't', '.', 'r', 'u', '\0', + /* "lolmegafroi.de", true */ 'l', 'o', 'l', 'm', 'e', 'g', 'a', 'f', 'r', 'o', 'i', '.', 'd', 'e', '\0', /* "lolpatrol.de", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'd', 'e', '\0', /* "lolpatrol.wtf", true */ 'l', 'o', 'l', 'p', 'a', 't', 'r', 'o', 'l', '.', 'w', 't', 'f', '\0', /* "lona.io", true */ 'l', 'o', 'n', 'a', '.', 'i', 'o', '\0', @@ -9919,6 +9927,7 @@ static const char kSTSHostTable[] = { /* "lugbb.org", true */ 'l', 'u', 'g', 'b', 'b', '.', 'o', 'r', 'g', '\0', /* "luisv.me", true */ 'l', 'u', 'i', 's', 'v', '.', 'm', 'e', '\0', /* "lukas-oppermann.de", true */ 'l', 'u', 'k', 'a', 's', '-', 'o', 'p', 'p', 'e', 'r', 'm', 'a', 'n', 'n', '.', 'd', 'e', '\0', + /* "lukas.im", true */ 'l', 'u', 'k', 'a', 's', '.', 'i', 'm', '\0', /* "lukasberan.com", true */ 'l', 'u', 'k', 'a', 's', 'b', 'e', 'r', 'a', 'n', '.', 'c', 'o', 'm', '\0', /* "lukasberan.cz", true */ 'l', 'u', 'k', 'a', 's', 'b', 'e', 'r', 'a', 'n', '.', 'c', 'z', '\0', /* "lukasoppermann.com", true */ 'l', 'u', 'k', 'a', 's', 'o', 'p', 'p', 'e', 'r', 'm', 'a', 'n', 'n', '.', 'c', 'o', 'm', '\0', @@ -9939,6 +9948,7 @@ static const char kSTSHostTable[] = { /* "lunarsoft.net", true */ 'l', 'u', 'n', 'a', 'r', 's', 'o', 'f', 't', '.', 'n', 'e', 't', '\0', /* "lunchbunch.me", true */ 'l', 'u', 'n', 'c', 'h', 'b', 'u', 'n', 'c', 'h', '.', 'm', 'e', '\0', /* "lungdoc.us", false */ 'l', 'u', 'n', 'g', 'd', 'o', 'c', '.', 'u', 's', '\0', + /* "lunix.io", true */ 'l', 'u', 'n', 'i', 'x', '.', 'i', 'o', '\0', /* "luoe.me", true */ 'l', 'u', 'o', 'e', '.', 'm', 'e', '\0', /* "luoh.cc", true */ 'l', 'u', 'o', 'h', '.', 'c', 'c', '\0', /* "luoh.me", true */ 'l', 'u', 'o', 'h', '.', 'm', 'e', '\0', @@ -10150,7 +10160,6 @@ static const char kSTSHostTable[] = { /* "manueldopheide.com", true */ 'm', 'a', 'n', 'u', 'e', 'l', 'd', 'o', 'p', 'h', 'e', 'i', 'd', 'e', '.', 'c', 'o', 'm', '\0', /* "manueli.de", true */ 'm', 'a', 'n', 'u', 'e', 'l', 'i', '.', 'd', 'e', '\0', /* "manufacturing.gov", true */ 'm', 'a', 'n', 'u', 'f', 'a', 'c', 't', 'u', 'r', 'i', 'n', 'g', '.', 'g', 'o', 'v', '\0', - /* "manuth.life", true */ 'm', 'a', 'n', 'u', 't', 'h', '.', 'l', 'i', 'f', 'e', '\0', /* "manyue.org", true */ 'm', 'a', 'n', 'y', 'u', 'e', '.', 'o', 'r', 'g', '\0', /* "maosensanguentadasdejesus.net", true */ 'm', 'a', 'o', 's', 'e', 'n', 's', 'a', 'n', 'g', 'u', 'e', 'n', 't', 'a', 'd', 'a', 's', 'd', 'e', 'j', 'e', 's', 'u', 's', '.', 'n', 'e', 't', '\0', /* "maowtm.org", true */ 'm', 'a', 'o', 'w', 't', 'm', '.', 'o', 'r', 'g', '\0', @@ -10173,6 +10182,7 @@ static const char kSTSHostTable[] = { /* "marcelsiegert.com", true */ 'm', 'a', 'r', 'c', 'e', 'l', 's', 'i', 'e', 'g', 'e', 'r', 't', '.', 'c', 'o', 'm', '\0', /* "marcgoertz.de", true */ 'm', 'a', 'r', 'c', 'g', 'o', 'e', 'r', 't', 'z', '.', 'd', 'e', '\0', /* "marco-polo-reisen.com", true */ 'm', 'a', 'r', 'c', 'o', '-', 'p', 'o', 'l', 'o', '-', 'r', 'e', 'i', 's', 'e', 'n', '.', 'c', 'o', 'm', '\0', + /* "marcoececilia.it", true */ 'm', 'a', 'r', 'c', 'o', 'e', 'c', 'e', 'c', 'i', 'l', 'i', 'a', '.', 'i', 't', '\0', /* "marcohager.de", true */ 'm', 'a', 'r', 'c', 'o', 'h', 'a', 'g', 'e', 'r', '.', 'd', 'e', '\0', /* "marcoherten.com", true */ 'm', 'a', 'r', 'c', 'o', 'h', 'e', 'r', 't', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "marcoslater.com", true */ 'm', 'a', 'r', 'c', 'o', 's', 'l', 'a', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0', @@ -10663,7 +10673,6 @@ static const char kSTSHostTable[] = { /* "miknight.com", true */ 'm', 'i', 'k', 'n', 'i', 'g', 'h', 't', '.', 'c', 'o', 'm', '\0', /* "mikori.sk", true */ 'm', 'i', 'k', 'o', 'r', 'i', '.', 's', 'k', '\0', /* "mikroskeem.eu", true */ 'm', 'i', 'k', 'r', 'o', 's', 'k', 'e', 'e', 'm', '.', 'e', 'u', '\0', - /* "mikusinec.com", true */ 'm', 'i', 'k', 'u', 's', 'i', 'n', 'e', 'c', '.', 'c', 'o', 'm', '\0', /* "mil0.com", true */ 'm', 'i', 'l', '0', '.', 'c', 'o', 'm', '\0', /* "milahendri.com", true */ 'm', 'i', 'l', 'a', 'h', 'e', 'n', 'd', 'r', 'i', '.', 'c', 'o', 'm', '\0', /* "milang.xyz", true */ 'm', 'i', 'l', 'a', 'n', 'g', '.', 'x', 'y', 'z', '\0', @@ -10805,7 +10814,6 @@ static const char kSTSHostTable[] = { /* "mktdigital.info", true */ 'm', 'k', 't', 'd', 'i', 'g', 'i', 't', 'a', 'l', '.', 'i', 'n', 'f', 'o', '\0', /* "mktemp.org", true */ 'm', 'k', 't', 'e', 'm', 'p', '.', 'o', 'r', 'g', '\0', /* "mkuznets.com", true */ 'm', 'k', 'u', 'z', 'n', 'e', 't', 's', '.', 'c', 'o', 'm', '\0', - /* "mkw.st", true */ 'm', 'k', 'w', '.', 's', 't', '\0', /* "mlcnfriends.com", true */ 'm', 'l', 'c', 'n', 'f', 'r', 'i', 'e', 'n', 'd', 's', '.', 'c', 'o', 'm', '\0', /* "mlemay.com", true */ 'm', 'l', 'e', 'm', 'a', 'y', '.', 'c', 'o', 'm', '\0', /* "mlp.ee", true */ 'm', 'l', 'p', '.', 'e', 'e', '\0', @@ -10853,6 +10861,7 @@ static const char kSTSHostTable[] = { /* "mobobe.com", true */ 'm', 'o', 'b', 'o', 'b', 'e', '.', 'c', 'o', 'm', '\0', /* "mobsender.com", true */ 'm', 'o', 'b', 's', 'e', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "mockmyapp.com", true */ 'm', 'o', 'c', 'k', 'm', 'y', 'a', 'p', 'p', '.', 'c', 'o', 'm', '\0', + /* "modafinil.com", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'c', 'o', 'm', '\0', /* "modafinil.wiki", true */ 'm', 'o', 'd', 'a', 'f', 'i', 'n', 'i', 'l', '.', 'w', 'i', 'k', 'i', '\0', /* "modded-minecraft-server-list.com", true */ 'm', 'o', 'd', 'd', 'e', 'd', '-', 'm', 'i', 'n', 'e', 'c', 'r', 'a', 'f', 't', '-', 's', 'e', 'r', 'v', 'e', 'r', '-', 'l', 'i', 's', 't', '.', 'c', 'o', 'm', '\0', /* "mode-individuell.de", true */ 'm', 'o', 'd', 'e', '-', 'i', 'n', 'd', 'i', 'v', 'i', 'd', 'u', 'e', 'l', 'l', '.', 'd', 'e', '\0', @@ -11235,7 +11244,6 @@ static const char kSTSHostTable[] = { /* "mytc.fr", true */ 'm', 'y', 't', 'c', '.', 'f', 'r', '\0', /* "mythengay.ch", true */ 'm', 'y', 't', 'h', 'e', 'n', 'g', 'a', 'y', '.', 'c', 'h', '\0', /* "mythicdelirium.com", true */ 'm', 'y', 't', 'h', 'i', 'c', 'd', 'e', 'l', 'i', 'r', 'i', 'u', 'm', '.', 'c', 'o', 'm', '\0', - /* "mythslegendscollection.com", true */ 'm', 'y', 't', 'h', 's', 'l', 'e', 'g', 'e', 'n', 'd', 's', 'c', 'o', 'l', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "mytraiteurs.com", true */ 'm', 'y', 't', 'r', 'a', 'i', 't', 'e', 'u', 'r', 's', '.', 'c', 'o', 'm', '\0', /* "mytripcar.co.uk", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "mytripcar.com", true */ 'm', 'y', 't', 'r', 'i', 'p', 'c', 'a', 'r', '.', 'c', 'o', 'm', '\0', @@ -11472,6 +11480,7 @@ static const char kSTSHostTable[] = { /* "nethackwiki.com", true */ 'n', 'e', 't', 'h', 'a', 'c', 'k', 'w', 'i', 'k', 'i', '.', 'c', 'o', 'm', '\0', /* "nethruster.com", true */ 'n', 'e', 't', 'h', 'r', 'u', 's', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "netica.fr", false */ 'n', 'e', 't', 'i', 'c', 'a', '.', 'f', 'r', '\0', + /* "netlocal.ru", true */ 'n', 'e', 't', 'l', 'o', 'c', 'a', 'l', '.', 'r', 'u', '\0', /* "netmazk.net", false */ 'n', 'e', 't', 'm', 'a', 'z', 'k', '.', 'n', 'e', 't', '\0', /* "netnodes.net", true */ 'n', 'e', 't', 'n', 'o', 'd', 'e', 's', '.', 'n', 'e', 't', '\0', /* "netprofile.com.au", true */ 'n', 'e', 't', 'p', 'r', 'o', 'f', 'i', 'l', 'e', '.', 'c', 'o', 'm', '.', 'a', 'u', '\0', @@ -11494,8 +11503,6 @@ static const char kSTSHostTable[] = { /* "nettx.co.uk", true */ 'n', 'e', 't', 't', 'x', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "netulo.com", true */ 'n', 'e', 't', 'u', 'l', 'o', '.', 'c', 'o', 'm', '\0', /* "netvizura.co.uk", true */ 'n', 'e', 't', 'v', 'i', 'z', 'u', 'r', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0', - /* "netwarc.eu", true */ 'n', 'e', 't', 'w', 'a', 'r', 'c', '.', 'e', 'u', '\0', - /* "netwarc.nl", true */ 'n', 'e', 't', 'w', 'a', 'r', 'c', '.', 'n', 'l', '\0', /* "netwerkmanager.nl", true */ 'n', 'e', 't', 'w', 'e', 'r', 'k', 'm', 'a', 'n', 'a', 'g', 'e', 'r', '.', 'n', 'l', '\0', /* "network-notes.com", true */ 'n', 'e', 't', 'w', 'o', 'r', 'k', '-', 'n', 'o', 't', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "network23.nl", true */ 'n', 'e', 't', 'w', 'o', 'r', 'k', '2', '3', '.', 'n', 'l', '\0', @@ -11588,6 +11595,7 @@ static const char kSTSHostTable[] = { /* "nickdekruijk.nl", true */ 'n', 'i', 'c', 'k', 'd', 'e', 'k', 'r', 'u', 'i', 'j', 'k', '.', 'n', 'l', '\0', /* "nickloose.de", true */ 'n', 'i', 'c', 'k', 'l', 'o', 'o', 's', 'e', '.', 'd', 'e', '\0', /* "nickrickard.co.uk", true */ 'n', 'i', 'c', 'k', 'r', 'i', 'c', 'k', 'a', 'r', 'd', '.', 'c', 'o', '.', 'u', 'k', '\0', + /* "nickstories.de", true */ 'n', 'i', 'c', 'k', 's', 't', 'o', 'r', 'i', 'e', 's', '.', 'd', 'e', '\0', /* "nico.one", true */ 'n', 'i', 'c', 'o', '.', 'o', 'n', 'e', '\0', /* "nicocourts.com", true */ 'n', 'i', 'c', 'o', 'c', 'o', 'u', 'r', 't', 's', '.', 'c', 'o', 'm', '\0', /* "nicoknibbe.nl", true */ 'n', 'i', 'c', 'o', 'k', 'n', 'i', 'b', 'b', 'e', '.', 'n', 'l', '\0', @@ -11666,7 +11674,6 @@ static const char kSTSHostTable[] = { /* "nja.id.au", true */ 'n', 'j', 'a', '.', 'i', 'd', '.', 'a', 'u', '\0', /* "njpjanssen.nl", true */ 'n', 'j', 'p', 'j', 'a', 'n', 's', 's', 'e', 'n', '.', 'n', 'l', '\0', /* "nkadvertising.online", true */ 'n', 'k', 'a', 'd', 'v', 'e', 'r', 't', 'i', 's', 'i', 'n', 'g', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0', - /* "nkp-media.de", true */ 'n', 'k', 'p', '-', 'm', 'e', 'd', 'i', 'a', '.', 'd', 'e', '\0', /* "nl-ix.net", true */ 'n', 'l', '-', 'i', 'x', '.', 'n', 'e', 't', '\0', /* "nl.search.yahoo.com", false */ 'n', 'l', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "nlap.ca", true */ 'n', 'l', 'a', 'p', '.', 'c', 'a', '\0', @@ -11889,7 +11896,6 @@ static const char kSTSHostTable[] = { /* "oblast45.ru", true */ 'o', 'b', 'l', 'a', 's', 't', '4', '5', '.', 'r', 'u', '\0', /* "oblikdom.pro", true */ 'o', 'b', 'l', 'i', 'k', 'd', 'o', 'm', '.', 'p', 'r', 'o', '\0', /* "oblikdom.ru", true */ 'o', 'b', 'l', 'i', 'k', 'd', 'o', 'm', '.', 'r', 'u', '\0', - /* "obscur.us", true */ 'o', 'b', 's', 'c', 'u', 'r', '.', 'u', 's', '\0', /* "obscuredfiles.com", false */ 'o', 'b', 's', 'c', 'u', 'r', 'e', 'd', 'f', 'i', 'l', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "obsidianirc.net", true */ 'o', 'b', 's', 'i', 'd', 'i', 'a', 'n', 'i', 'r', 'c', '.', 'n', 'e', 't', '\0', /* "obsproject.com", true */ 'o', 'b', 's', 'p', 'r', 'o', 'j', 'e', 'c', 't', '.', 'c', 'o', 'm', '\0', @@ -12172,6 +12178,7 @@ static const char kSTSHostTable[] = { /* "osereso.tn", true */ 'o', 's', 'e', 'r', 'e', 's', 'o', '.', 't', 'n', '\0', /* "oses.mobi", true */ 'o', 's', 'e', 's', '.', 'm', 'o', 'b', 'i', '\0', /* "oshayr.com", true */ 'o', 's', 'h', 'a', 'y', 'r', '.', 'c', 'o', 'm', '\0', + /* "oshell.me", true */ 'o', 's', 'h', 'e', 'l', 'l', '.', 'm', 'e', '\0', /* "oskuro.net", true */ 'o', 's', 'k', 'u', 'r', 'o', '.', 'n', 'e', 't', '\0', /* "osm.is", true */ 'o', 's', 'm', '.', 'i', 's', '\0', /* "osmanlitorunu.com", true */ 'o', 's', 'm', 'a', 'n', 'l', 'i', 't', 'o', 'r', 'u', 'n', 'u', '.', 'c', 'o', 'm', '\0', @@ -12803,6 +12810,7 @@ static const char kSTSHostTable[] = { /* "playerhunter.com", true */ 'p', 'l', 'a', 'y', 'e', 'r', 'h', 'u', 'n', 't', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "playhappywheelsunblocked.com", true */ 'p', 'l', 'a', 'y', 'h', 'a', 'p', 'p', 'y', 'w', 'h', 'e', 'e', 'l', 's', 'u', 'n', 'b', 'l', 'o', 'c', 'k', 'e', 'd', '.', 'c', 'o', 'm', '\0', /* "playkh.com", true */ 'p', 'l', 'a', 'y', 'k', 'h', '.', 'c', 'o', 'm', '\0', + /* "playmyplay.com", true */ 'p', 'l', 'a', 'y', 'm', 'y', 'p', 'l', 'a', 'y', '.', 'c', 'o', 'm', '\0', /* "playsharp.com", true */ 'p', 'l', 'a', 'y', 's', 'h', 'a', 'r', 'p', '.', 'c', 'o', 'm', '\0', /* "playsoundevents.be", true */ 'p', 'l', 'a', 'y', 's', 'o', 'u', 'n', 'd', 'e', 'v', 'e', 'n', 't', 's', '.', 'b', 'e', '\0', /* "playsprout.industries", false */ 'p', 'l', 'a', 'y', 's', 'p', 'r', 'o', 'u', 't', '.', 'i', 'n', 'd', 'u', 's', 't', 'r', 'i', 'e', 's', '\0', @@ -12847,6 +12855,7 @@ static const char kSTSHostTable[] = { /* "pmklaassen.com", true */ 'p', 'm', 'k', 'l', 'a', 'a', 's', 's', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "pmoreau.org", true */ 'p', 'm', 'o', 'r', 'e', 'a', 'u', '.', 'o', 'r', 'g', '\0', /* "pmp-art.com", true */ 'p', 'm', 'p', '-', 'a', 'r', 't', '.', 'c', 'o', 'm', '\0', + /* "pmponline.de", true */ 'p', 'm', 'p', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0', /* "pmsf.eu", true */ 'p', 'm', 's', 'f', '.', 'e', 'u', '\0', /* "pmt-documenten.nl", true */ 'p', 'm', 't', '-', 'd', 'o', 'c', 'u', 'm', 'e', 'n', 't', 'e', 'n', '.', 'n', 'l', '\0', /* "pnona.cz", true */ 'p', 'n', 'o', 'n', 'a', '.', 'c', 'z', '\0', @@ -12860,7 +12869,6 @@ static const char kSTSHostTable[] = { /* "poinsot.info", false */ 'p', 'o', 'i', 'n', 's', 'o', 't', '.', 'i', 'n', 'f', 'o', '\0', /* "pointaction.com", true */ 'p', 'o', 'i', 'n', 't', 'a', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "pointagri.com", true */ 'p', 'o', 'i', 'n', 't', 'a', 'g', 'r', 'i', '.', 'c', 'o', 'm', '\0', - /* "pointiswunderland.de", true */ 'p', 'o', 'i', 'n', 't', 'i', 's', 'w', 'u', 'n', 'd', 'e', 'r', 'l', 'a', 'n', 'd', '.', 'd', 'e', '\0', /* "points4unitedway.com", true */ 'p', 'o', 'i', 'n', 't', 's', '4', 'u', 'n', 'i', 't', 'e', 'd', 'w', 'a', 'y', '.', 'c', 'o', 'm', '\0', /* "pointsixtyfive.com", true */ 'p', 'o', 'i', 'n', 't', 's', 'i', 'x', 't', 'y', 'f', 'i', 'v', 'e', '.', 'c', 'o', 'm', '\0', /* "poitiers-ttacc-86.eu.org", true */ 'p', 'o', 'i', 't', 'i', 'e', 'r', 's', '-', 't', 't', 'a', 'c', 'c', '-', '8', '6', '.', 'e', 'u', '.', 'o', 'r', 'g', '\0', @@ -12931,6 +12939,7 @@ static const char kSTSHostTable[] = { /* "postbox.life", true */ 'p', 'o', 's', 't', 'b', 'o', 'x', '.', 'l', 'i', 'f', 'e', '\0', /* "postcodegarant.nl", true */ 'p', 'o', 's', 't', 'c', 'o', 'd', 'e', 'g', 'a', 'r', 'a', 'n', 't', '.', 'n', 'l', '\0', /* "posteo.de", false */ 'p', 'o', 's', 't', 'e', 'o', '.', 'd', 'e', '\0', + /* "posterspy.com", true */ 'p', 'o', 's', 't', 'e', 'r', 's', 'p', 'y', '.', 'c', 'o', 'm', '\0', /* "postfinance.ch", true */ 'p', 'o', 's', 't', 'f', 'i', 'n', 'a', 'n', 'c', 'e', '.', 'c', 'h', '\0', /* "postmatescode.com", true */ 'p', 'o', 's', 't', 'm', 'a', 't', 'e', 's', 'c', 'o', 'd', 'e', '.', 'c', 'o', 'm', '\0', /* "postn.eu", true */ 'p', 'o', 's', 't', 'n', '.', 'e', 'u', '\0', @@ -13265,11 +13274,9 @@ static const char kSTSHostTable[] = { /* "qedcon.org", true */ 'q', 'e', 'd', 'c', 'o', 'n', '.', 'o', 'r', 'g', '\0', /* "qetesh.de", true */ 'q', 'e', 't', 'e', 's', 'h', '.', 'd', 'e', '\0', /* "qetic.co.jp", true */ 'q', 'e', 't', 'i', 'c', '.', 'c', 'o', '.', 'j', 'p', '\0', - /* "qewc.com", true */ 'q', 'e', 'w', 'c', '.', 'c', 'o', 'm', '\0', /* "qgustavor.tk", true */ 'q', 'g', 'u', 's', 't', 'a', 'v', 'o', 'r', '.', 't', 'k', '\0', /* "qianalysis.com", true */ 'q', 'i', 'a', 'n', 'a', 'l', 'y', 's', 'i', 's', '.', 'c', 'o', 'm', '\0', /* "qikan.net", true */ 'q', 'i', 'k', 'a', 'n', '.', 'n', 'e', 't', '\0', - /* "qiliang.wang", true */ 'q', 'i', 'l', 'i', 'a', 'n', 'g', '.', 'w', 'a', 'n', 'g', '\0', /* "qingpei.me", false */ 'q', 'i', 'n', 'g', 'p', 'e', 'i', '.', 'm', 'e', '\0', /* "qipp.com", true */ 'q', 'i', 'p', 'p', '.', 'c', 'o', 'm', '\0', /* "qits.de", true */ 'q', 'i', 't', 's', '.', 'd', 'e', '\0', @@ -13938,16 +13945,15 @@ static const char kSTSHostTable[] = { /* "rtejr.ie", true */ 'r', 't', 'e', 'j', 'r', '.', 'i', 'e', '\0', /* "rtek.se", true */ 'r', 't', 'e', 'k', '.', 's', 'e', '\0', /* "rtfpessoa.xyz", true */ 'r', 't', 'f', 'p', 'e', 's', 's', 'o', 'a', '.', 'x', 'y', 'z', '\0', - /* "rtho.me", true */ 'r', 't', 'h', 'o', '.', 'm', 'e', '\0', /* "ru-sprachstudio.ch", true */ 'r', 'u', '-', 's', 'p', 'r', 'a', 'c', 'h', 's', 't', 'u', 'd', 'i', 'o', '.', 'c', 'h', '\0', /* "ru.search.yahoo.com", false */ 'r', 'u', '.', 's', 'e', 'a', 'r', 'c', 'h', '.', 'y', 'a', 'h', 'o', 'o', '.', 'c', 'o', 'm', '\0', /* "ruanmi.de", true */ 'r', 'u', 'a', 'n', 'm', 'i', '.', 'd', 'e', '\0', /* "rubbermaidoutlet.com", true */ 'r', 'u', 'b', 'b', 'e', 'r', 'm', 'a', 'i', 'd', 'o', 'u', 't', 'l', 'e', 't', '.', 'c', 'o', 'm', '\0', /* "ruben.am", true */ 'r', 'u', 'b', 'e', 'n', '.', 'a', 'm', '\0', /* "rubendv.be", true */ 'r', 'u', 'b', 'e', 'n', 'd', 'v', '.', 'b', 'e', '\0', + /* "rubi-ka.net", false */ 'r', 'u', 'b', 'i', '-', 'k', 'a', '.', 'n', 'e', 't', '\0', /* "rublacklist.net", true */ 'r', 'u', 'b', 'l', 'a', 'c', 'k', 'l', 'i', 's', 't', '.', 'n', 'e', 't', '\0', /* "rubyist.today", true */ 'r', 'u', 'b', 'y', 'i', 's', 't', '.', 't', 'o', 'd', 'a', 'y', '\0', - /* "rubyquincunx.com", true */ 'r', 'u', 'b', 'y', 'q', 'u', 'i', 'n', 'c', 'u', 'n', 'x', '.', 'c', 'o', 'm', '\0', /* "rubysecurity.org", true */ 'r', 'u', 'b', 'y', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'o', 'r', 'g', '\0', /* "rudd-o.com", true */ 'r', 'u', 'd', 'd', '-', 'o', '.', 'c', 'o', 'm', '\0', /* "ruderverein-gelsenkirchen.de", true */ 'r', 'u', 'd', 'e', 'r', 'v', 'e', 'r', 'e', 'i', 'n', '-', 'g', 'e', 'l', 's', 'e', 'n', 'k', 'i', 'r', 'c', 'h', 'e', 'n', '.', 'd', 'e', '\0', @@ -14002,6 +14008,7 @@ static const char kSTSHostTable[] = { /* "rxbusiness.com", true */ 'r', 'x', 'b', 'u', 's', 'i', 'n', 'e', 's', 's', '.', 'c', 'o', 'm', '\0', /* "ryan-goldstein.com", true */ 'r', 'y', 'a', 'n', '-', 'g', 'o', 'l', 'd', 's', 't', 'e', 'i', 'n', '.', 'c', 'o', 'm', '\0', /* "ryanbritton.com", true */ 'r', 'y', 'a', 'n', 'b', 'r', 'i', 't', 't', 'o', 'n', '.', 'c', 'o', 'm', '\0', + /* "ryanhowell.io", true */ 'r', 'y', 'a', 'n', 'h', 'o', 'w', 'e', 'l', 'l', '.', 'i', 'o', '\0', /* "ryankearney.com", true */ 'r', 'y', 'a', 'n', 'k', 'e', 'a', 'r', 'n', 'e', 'y', '.', 'c', 'o', 'm', '\0', /* "ryanmcdonough.co.uk", true */ 'r', 'y', 'a', 'n', 'm', 'c', 'd', 'o', 'n', 'o', 'u', 'g', 'h', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "ryansmithphotography.com", false */ 'r', 'y', 'a', 'n', 's', 'm', 'i', 't', 'h', 'p', 'h', 'o', 't', 'o', 'g', 'r', 'a', 'p', 'h', 'y', '.', 'c', 'o', 'm', '\0', @@ -14078,6 +14085,7 @@ static const char kSTSHostTable[] = { /* "salsa-straubing.de", true */ 's', 'a', 'l', 's', 'a', '-', 's', 't', 'r', 'a', 'u', 'b', 'i', 'n', 'g', '.', 'd', 'e', '\0', /* "saltbythesea.com", true */ 's', 'a', 'l', 't', 'b', 'y', 't', 'h', 'e', 's', 'e', 'a', '.', 'c', 'o', 'm', '\0', /* "saltercane.com", false */ 's', 'a', 'l', 't', 'e', 'r', 'c', 'a', 'n', 'e', '.', 'c', 'o', 'm', '\0', + /* "saltra.online", true */ 's', 'a', 'l', 't', 'r', 'a', '.', 'o', 'n', 'l', 'i', 'n', 'e', '\0', /* "saltro.nl", true */ 's', 'a', 'l', 't', 'r', 'o', '.', 'n', 'l', '\0', /* "saltstack.cz", true */ 's', 'a', 'l', 't', 's', 't', 'a', 'c', 'k', '.', 'c', 'z', '\0', /* "saludsis.mil.co", true */ 's', 'a', 'l', 'u', 'd', 's', 'i', 's', '.', 'm', 'i', 'l', '.', 'c', 'o', '\0', @@ -14164,7 +14172,7 @@ static const char kSTSHostTable[] = { /* "sat4all.com", true */ 's', 'a', 't', '4', 'a', 'l', 'l', '.', 'c', 'o', 'm', '\0', /* "satai.dk", true */ 's', 'a', 't', 'a', 'i', '.', 'd', 'k', '\0', /* "satal.in", true */ 's', 'a', 't', 'a', 'l', '.', 'i', 'n', '\0', - /* "satmd.de", true */ 's', 'a', 't', 'm', 'd', '.', 'd', 'e', '\0', + /* "satmd.de", false */ 's', 'a', 't', 'm', 'd', '.', 'd', 'e', '\0', /* "satrent.com", true */ 's', 'a', 't', 'r', 'e', 'n', 't', '.', 'c', 'o', 'm', '\0', /* "satrent.se", true */ 's', 'a', 't', 'r', 'e', 'n', 't', '.', 's', 'e', '\0', /* "saturn.pl", true */ 's', 'a', 't', 'u', 'r', 'n', '.', 'p', 'l', '\0', @@ -14752,6 +14760,7 @@ static const char kSTSHostTable[] = { /* "signtul.com", false */ 's', 'i', 'g', 'n', 't', 'u', 'l', '.', 'c', 'o', 'm', '\0', /* "sigterm.no", true */ 's', 'i', 'g', 't', 'e', 'r', 'm', '.', 'n', 'o', '\0', /* "sigterm.sh", true */ 's', 'i', 'g', 't', 'e', 'r', 'm', '.', 's', 'h', '\0', + /* "sijimi.cn", false */ 's', 'i', 'j', 'i', 'm', 'i', '.', 'c', 'n', '\0', /* "sijmenschoon.nl", true */ 's', 'i', 'j', 'm', 'e', 'n', 's', 'c', 'h', 'o', 'o', 'n', '.', 'n', 'l', '\0', /* "sikatehtaat.fi", true */ 's', 'i', 'k', 'a', 't', 'e', 'h', 't', 'a', 'a', 't', '.', 'f', 'i', '\0', /* "sikayetvar.com", true */ 's', 'i', 'k', 'a', 'y', 'e', 't', 'v', 'a', 'r', '.', 'c', 'o', 'm', '\0', @@ -14902,6 +14911,7 @@ static const char kSTSHostTable[] = { /* "skoda-service-team-cup.de", true */ 's', 'k', 'o', 'd', 'a', '-', 's', 'e', 'r', 'v', 'i', 'c', 'e', '-', 't', 'e', 'a', 'm', '-', 'c', 'u', 'p', '.', 'd', 'e', '\0', /* "skogsbruket.fi", true */ 's', 'k', 'o', 'g', 's', 'b', 'r', 'u', 'k', 'e', 't', '.', 'f', 'i', '\0', /* "skogskultur.fi", true */ 's', 'k', 'o', 'g', 's', 'k', 'u', 'l', 't', 'u', 'r', '.', 'f', 'i', '\0', + /* "skolem.de", true */ 's', 'k', 'o', 'l', 'e', 'm', '.', 'd', 'e', '\0', /* "skoleniphp.cz", true */ 's', 'k', 'o', 'l', 'e', 'n', 'i', 'p', 'h', 'p', '.', 'c', 'z', '\0', /* "skommettiamo.it", true */ 's', 'k', 'o', 'm', 'm', 'e', 't', 't', 'i', 'a', 'm', 'o', '.', 'i', 't', '\0', /* "skontakt.cz", true */ 's', 'k', 'o', 'n', 't', 'a', 'k', 't', '.', 'c', 'z', '\0', @@ -15028,7 +15038,6 @@ static const char kSTSHostTable[] = { /* "smpetrey.com", true */ 's', 'm', 'p', 'e', 't', 'r', 'e', 'y', '.', 'c', 'o', 'm', '\0', /* "sms1.ro", true */ 's', 'm', 's', '1', '.', 'r', 'o', '\0', /* "smskeywords.co.uk", true */ 's', 'm', 's', 'k', 'e', 'y', 'w', 'o', 'r', 'd', 's', '.', 'c', 'o', '.', 'u', 'k', '\0', - /* "smurfrp.com", true */ 's', 'm', 'u', 'r', 'f', 'r', 'p', '.', 'c', 'o', 'm', '\0', /* "smvfd.info", true */ 's', 'm', 'v', 'f', 'd', '.', 'i', 'n', 'f', 'o', '\0', /* "snafu.cz", true */ 's', 'n', 'a', 'f', 'u', '.', 'c', 'z', '\0', /* "snapappointments.com", true */ 's', 'n', 'a', 'p', 'a', 'p', 'p', 'o', 'i', 'n', 't', 'm', 'e', 'n', 't', 's', '.', 'c', 'o', 'm', '\0', @@ -15054,6 +15063,7 @@ static const char kSTSHostTable[] = { /* "snod.land", true */ 's', 'n', 'o', 'd', '.', 'l', 'a', 'n', 'd', '\0', /* "snoupon.com", true */ 's', 'n', 'o', 'u', 'p', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "snow-online.com", true */ 's', 'n', 'o', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'c', 'o', 'm', '\0', + /* "snow-online.de", true */ 's', 'n', 'o', 'w', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'd', 'e', '\0', /* "snow.dog", true */ 's', 'n', 'o', 'w', '.', 'd', 'o', 'g', '\0', /* "snowalerts.eu", true */ 's', 'n', 'o', 'w', 'a', 'l', 'e', 'r', 't', 's', '.', 'e', 'u', '\0', /* "snowcrestdesign.com", true */ 's', 'n', 'o', 'w', 'c', 'r', 'e', 's', 't', 'd', 'e', 's', 'i', 'g', 'n', '.', 'c', 'o', 'm', '\0', @@ -15089,6 +15099,7 @@ static const char kSTSHostTable[] = { /* "sockeye.io", true */ 's', 'o', 'c', 'k', 'e', 'y', 'e', '.', 'i', 'o', '\0', /* "sodi.nl", true */ 's', 'o', 'd', 'i', '.', 'n', 'l', '\0', /* "sodiao.cc", true */ 's', 'o', 'd', 'i', 'a', 'o', '.', 'c', 'c', '\0', + /* "soe-server.com", true */ 's', 'o', 'e', '-', 's', 'e', 'r', 'v', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "sofa-rockers.org", true */ 's', 'o', 'f', 'a', '-', 'r', 'o', 'c', 'k', 'e', 'r', 's', '.', 'o', 'r', 'g', '\0', /* "sofabedshop.de", true */ 's', 'o', 'f', 'a', 'b', 'e', 'd', 's', 'h', 'o', 'p', '.', 'd', 'e', '\0', /* "sofort.com", true */ 's', 'o', 'f', 'o', 'r', 't', '.', 'c', 'o', 'm', '\0', @@ -15107,7 +15118,6 @@ static const char kSTSHostTable[] = { /* "sokche.com", true */ 's', 'o', 'k', 'c', 'h', 'e', '.', 'c', 'o', 'm', '\0', /* "sokietech.com", true */ 's', 'o', 'k', 'i', 'e', 't', 'e', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "sokkenhoek.nl", true */ 's', 'o', 'k', 'k', 'e', 'n', 'h', 'o', 'e', 'k', '.', 'n', 'l', '\0', - /* "sokolka.tv", true */ 's', 'o', 'k', 'o', 'l', 'k', 'a', '.', 't', 'v', '\0', /* "sokolkarvina.cz", true */ 's', 'o', 'k', 'o', 'l', 'k', 'a', 'r', 'v', 'i', 'n', 'a', '.', 'c', 'z', '\0', /* "sol-computers.es", true */ 's', 'o', 'l', '-', 'c', 'o', 'm', 'p', 'u', 't', 'e', 'r', 's', '.', 'e', 's', '\0', /* "sol.works", true */ 's', 'o', 'l', '.', 'w', 'o', 'r', 'k', 's', '\0', @@ -15233,6 +15243,7 @@ static const char kSTSHostTable[] = { /* "sparkbase.cn", true */ 's', 'p', 'a', 'r', 'k', 'b', 'a', 's', 'e', '.', 'c', 'n', '\0', /* "sparkforautism.org", true */ 's', 'p', 'a', 'r', 'k', 'f', 'o', 'r', 'a', 'u', 't', 'i', 's', 'm', '.', 'o', 'r', 'g', '\0', /* "sparklebastard.com", true */ 's', 'p', 'a', 'r', 'k', 'l', 'e', 'b', 'a', 's', 't', 'a', 'r', 'd', '.', 'c', 'o', 'm', '\0', + /* "sparta-trade.com", true */ 's', 'p', 'a', 'r', 't', 'a', '-', 't', 'r', 'a', 'd', 'e', '.', 'c', 'o', 'm', '\0', /* "spartaconsulting.fi", true */ 's', 'p', 'a', 'r', 't', 'a', 'c', 'o', 'n', 's', 'u', 'l', 't', 'i', 'n', 'g', '.', 'f', 'i', '\0', /* "spartantheatre.org", true */ 's', 'p', 'a', 'r', 't', 'a', 'n', 't', 'h', 'e', 'a', 't', 'r', 'e', '.', 'o', 'r', 'g', '\0', /* "spassstempel.de", true */ 's', 'p', 'a', 's', 's', 's', 't', 'e', 'm', 'p', 'e', 'l', '.', 'd', 'e', '\0', @@ -15276,6 +15287,7 @@ static const char kSTSHostTable[] = { /* "splitdna.com", true */ 's', 'p', 'l', 'i', 't', 'd', 'n', 'a', '.', 'c', 'o', 'm', '\0', /* "splitreflection.com", true */ 's', 'p', 'l', 'i', 't', 'r', 'e', 'f', 'l', 'e', 'c', 't', 'i', 'o', 'n', '.', 'c', 'o', 'm', '\0', /* "splunk.net", true */ 's', 'p', 'l', 'u', 'n', 'k', '.', 'n', 'e', 't', '\0', + /* "spodelime.com", true */ 's', 'p', 'o', 'd', 'e', 'l', 'i', 'm', 'e', '.', 'c', 'o', 'm', '\0', /* "spom.net", true */ 's', 'p', 'o', 'm', '.', 'n', 'e', 't', '\0', /* "sponc.de", true */ 's', 'p', 'o', 'n', 'c', '.', 'd', 'e', '\0', /* "spongepowered.org", true */ 's', 'p', 'o', 'n', 'g', 'e', 'p', 'o', 'w', 'e', 'r', 'e', 'd', '.', 'o', 'r', 'g', '\0', @@ -15341,7 +15353,6 @@ static const char kSTSHostTable[] = { /* "sritest.io", true */ 's', 'r', 'i', 't', 'e', 's', 't', '.', 'i', 'o', '\0', /* "sro.center", true */ 's', 'r', 'o', '.', 'c', 'e', 'n', 't', 'e', 'r', '\0', /* "srpdb.com", true */ 's', 'r', 'p', 'd', 'b', '.', 'c', 'o', 'm', '\0', - /* "srrdb.com", true */ 's', 'r', 'r', 'd', 'b', '.', 'c', 'o', 'm', '\0', /* "srroddy.com", true */ 's', 'r', 'r', 'o', 'd', 'd', 'y', '.', 'c', 'o', 'm', '\0', /* "srv47.de", true */ 's', 'r', 'v', '4', '7', '.', 'd', 'e', '\0', /* "ss-free.net", true */ 's', 's', '-', 'f', 'r', 'e', 'e', '.', 'n', 'e', 't', '\0', @@ -15372,6 +15383,7 @@ static const char kSTSHostTable[] = { /* "ssls.cz", true */ 's', 's', 'l', 's', '.', 'c', 'z', '\0', /* "sslsurvey.de", true */ 's', 's', 'l', 's', 'u', 'r', 'v', 'e', 'y', '.', 'd', 'e', '\0', /* "sslzilla.de", true */ 's', 's', 'l', 'z', 'i', 'l', 'l', 'a', '.', 'd', 'e', '\0', + /* "sss3s.com", true */ 's', 's', 's', '3', 's', '.', 'c', 'o', 'm', '\0', /* "sstewartgallus.com", true */ 's', 's', 't', 'e', 'w', 'a', 'r', 't', 'g', 'a', 'l', 'l', 'u', 's', '.', 'c', 'o', 'm', '\0', /* "st-kilian-markt-erlbach.de", true */ 's', 't', '-', 'k', 'i', 'l', 'i', 'a', 'n', '-', 'm', 'a', 'r', 'k', 't', '-', 'e', 'r', 'l', 'b', 'a', 'c', 'h', '.', 'd', 'e', '\0', /* "st-news.de", true */ 's', 't', '-', 'n', 'e', 'w', 's', '.', 'd', 'e', '\0', @@ -15563,7 +15575,6 @@ static const char kSTSHostTable[] = { /* "strauser.com", true */ 's', 't', 'r', 'a', 'u', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "stravers.shoes", true */ 's', 't', 'r', 'a', 'v', 'e', 'r', 's', '.', 's', 'h', 'o', 'e', 's', '\0', /* "strchr.com", true */ 's', 't', 'r', 'c', 'h', 'r', '.', 'c', 'o', 'm', '\0', - /* "stream.pub", true */ 's', 't', 'r', 'e', 'a', 'm', '.', 'p', 'u', 'b', '\0', /* "streamchan.org", true */ 's', 't', 'r', 'e', 'a', 'm', 'c', 'h', 'a', 'n', '.', 'o', 'r', 'g', '\0', /* "streamlineautogroup.com", true */ 's', 't', 'r', 'e', 'a', 'm', 'l', 'i', 'n', 'e', 'a', 'u', 't', 'o', 'g', 'r', 'o', 'u', 'p', '.', 'c', 'o', 'm', '\0', /* "streamzilla.com", true */ 's', 't', 'r', 'e', 'a', 'm', 'z', 'i', 'l', 'l', 'a', '.', 'c', 'o', 'm', '\0', @@ -15656,12 +15667,10 @@ static const char kSTSHostTable[] = { /* "suki.moe", true */ 's', 'u', 'k', 'i', '.', 'm', 'o', 'e', '\0', /* "sulek.eu", true */ 's', 'u', 'l', 'e', 'k', '.', 'e', 'u', '\0', /* "summa.eu", false */ 's', 'u', 'm', 'm', 'a', '.', 'e', 'u', '\0', - /* "summitbankofkc.com", true */ 's', 'u', 'm', 'm', 'i', 't', 'b', 'a', 'n', 'k', 'o', 'f', 'k', 'c', '.', 'c', 'o', 'm', '\0', /* "sumthing.com", true */ 's', 'u', 'm', 't', 'h', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "sunbritetv.com", true */ 's', 'u', 'n', 'b', 'r', 'i', 't', 'e', 't', 'v', '.', 'c', 'o', 'm', '\0', /* "sundayfundayjapan.com", true */ 's', 'u', 'n', 'd', 'a', 'y', 'f', 'u', 'n', 'd', 'a', 'y', 'j', 'a', 'p', 'a', 'n', '.', 'c', 'o', 'm', '\0', /* "suneilpatel.com", true */ 's', 'u', 'n', 'e', 'i', 'l', 'p', 'a', 't', 'e', 'l', '.', 'c', 'o', 'm', '\0', - /* "sunflyer.cn", false */ 's', 'u', 'n', 'f', 'l', 'y', 'e', 'r', '.', 'c', 'n', '\0', /* "sunfox.cz", true */ 's', 'u', 'n', 'f', 'o', 'x', '.', 'c', 'z', '\0', /* "sunfulong.me", true */ 's', 'u', 'n', 'f', 'u', 'l', 'o', 'n', 'g', '.', 'm', 'e', '\0', /* "sunjaydhama.com", true */ 's', 'u', 'n', 'j', 'a', 'y', 'd', 'h', 'a', 'm', 'a', '.', 'c', 'o', 'm', '\0', @@ -15684,7 +15693,6 @@ static const char kSTSHostTable[] = { /* "supersonnigfestival.de", true */ 's', 'u', 'p', 'e', 'r', 's', 'o', 'n', 'n', 'i', 'g', 'f', 'e', 's', 't', 'i', 'v', 'a', 'l', '.', 'd', 'e', '\0', /* "supersu.kr", true */ 's', 'u', 'p', 'e', 'r', 's', 'u', '.', 'k', 'r', '\0', /* "superswingtrainer.com", true */ 's', 'u', 'p', 'e', 'r', 's', 'w', 'i', 'n', 'g', 't', 'r', 'a', 'i', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0', - /* "supertramp-dafonseca.com", true */ 's', 'u', 'p', 'e', 'r', 't', 'r', 'a', 'm', 'p', '-', 'd', 'a', 'f', 'o', 'n', 's', 'e', 'c', 'a', '.', 'c', 'o', 'm', '\0', /* "supeuro.com", true */ 's', 'u', 'p', 'e', 'u', 'r', 'o', '.', 'c', 'o', 'm', '\0', /* "supinbot.ovh", false */ 's', 'u', 'p', 'i', 'n', 'b', 'o', 't', '.', 'o', 'v', 'h', '\0', /* "supplementler.com", true */ 's', 'u', 'p', 'p', 'l', 'e', 'm', 'e', 'n', 't', 'l', 'e', 'r', '.', 'c', 'o', 'm', '\0', @@ -15772,8 +15780,6 @@ static const char kSTSHostTable[] = { /* "sylaps.com", true */ 's', 'y', 'l', 'a', 'p', 's', '.', 'c', 'o', 'm', '\0', /* "syleam.in", true */ 's', 'y', 'l', 'e', 'a', 'm', '.', 'i', 'n', '\0', /* "sylvaindurand.org", true */ 's', 'y', 'l', 'v', 'a', 'i', 'n', 'd', 'u', 'r', 'a', 'n', 'd', '.', 'o', 'r', 'g', '\0', - /* "sylvan.me", true */ 's', 'y', 'l', 'v', 'a', 'n', '.', 'm', 'e', '\0', - /* "sylvangarden.net", true */ 's', 'y', 'l', 'v', 'a', 'n', 'g', 'a', 'r', 'd', 'e', 'n', '.', 'n', 'e', 't', '\0', /* "symbiose.com", true */ 's', 'y', 'm', 'b', 'i', 'o', 's', 'e', '.', 'c', 'o', 'm', '\0', /* "symeda.de", true */ 's', 'y', 'm', 'e', 'd', 'a', '.', 'd', 'e', '\0', /* "synabi.com", true */ 's', 'y', 'n', 'a', 'b', 'i', '.', 'c', 'o', 'm', '\0', @@ -16062,6 +16068,7 @@ static const char kSTSHostTable[] = { /* "tenpolab.com", true */ 't', 'e', 'n', 'p', 'o', 'l', 'a', 'b', '.', 'c', 'o', 'm', '\0', /* "tenshoku-hanashi.com", true */ 't', 'e', 'n', 's', 'h', 'o', 'k', 'u', '-', 'h', 'a', 'n', 'a', 's', 'h', 'i', '.', 'c', 'o', 'm', '\0', /* "tent.io", true */ 't', 'e', 'n', 't', '.', 'i', 'o', '\0', + /* "tenta.com", true */ 't', 'e', 'n', 't', 'a', '.', 'c', 'o', 'm', '\0', /* "tentabrowser.com", true */ 't', 'e', 'n', 't', 'a', 'b', 'r', 'o', 'w', 's', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "tentations-voyages.com", true */ 't', 'e', 'n', 't', 'a', 't', 'i', 'o', 'n', 's', '-', 'v', 'o', 'y', 'a', 'g', 'e', 's', '.', 'c', 'o', 'm', '\0', /* "tentins.com", true */ 't', 'e', 'n', 't', 'i', 'n', 's', '.', 'c', 'o', 'm', '\0', @@ -16174,7 +16181,6 @@ static const char kSTSHostTable[] = { /* "theeyeopener.com", true */ 't', 'h', 'e', 'e', 'y', 'e', 'o', 'p', 'e', 'n', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "theflyingbear.net", true */ 't', 'h', 'e', 'f', 'l', 'y', 'i', 'n', 'g', 'b', 'e', 'a', 'r', '.', 'n', 'e', 't', '\0', /* "thefox.co", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', '\0', - /* "thefox.com.fr", true */ 't', 'h', 'e', 'f', 'o', 'x', '.', 'c', 'o', 'm', '.', 'f', 'r', '\0', /* "thefreebirds.in", true */ 't', 'h', 'e', 'f', 'r', 'e', 'e', 'b', 'i', 'r', 'd', 's', '.', 'i', 'n', '\0', /* "thegamerscamp.com", true */ 't', 'h', 'e', 'g', 'a', 'm', 'e', 'r', 's', 'c', 'a', 'm', 'p', '.', 'c', 'o', 'm', '\0', /* "thegasshop.co.uk", true */ 't', 'h', 'e', 'g', 'a', 's', 's', 'h', 'o', 'p', '.', 'c', 'o', '.', 'u', 'k', '\0', @@ -16358,7 +16364,6 @@ static const char kSTSHostTable[] = { /* "ticketsourcebeta.co.uk", true */ 't', 'i', 'c', 'k', 'e', 't', 's', 'o', 'u', 'r', 'c', 'e', 'b', 'e', 't', 'a', '.', 'c', 'o', '.', 'u', 'k', '\0', /* "tid.jp", true */ 't', 'i', 'd', '.', 'j', 'p', '\0', /* "tidycustoms.net", true */ 't', 'i', 'd', 'y', 'c', 'u', 's', 't', 'o', 'm', 's', '.', 'n', 'e', 't', '\0', - /* "tie-online.org", true */ 't', 'i', 'e', '-', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'o', 'r', 'g', '\0', /* "tiendavertigo.com", true */ 't', 'i', 'e', 'n', 'd', 'a', 'v', 'e', 'r', 't', 'i', 'g', 'o', '.', 'c', 'o', 'm', '\0', /* "tiens-ib.cz", true */ 't', 'i', 'e', 'n', 's', '-', 'i', 'b', '.', 'c', 'z', '\0', /* "tierarztpraxis-bogenhausen.de", true */ 't', 'i', 'e', 'r', 'a', 'r', 'z', 't', 'p', 'r', 'a', 'x', 'i', 's', '-', 'b', 'o', 'g', 'e', 'n', 'h', 'a', 'u', 's', 'e', 'n', '.', 'd', 'e', '\0', @@ -16438,7 +16443,6 @@ static const char kSTSHostTable[] = { /* "tkat.ch", true */ 't', 'k', 'a', 't', '.', 'c', 'h', '\0', /* "tkn.tokyo", true */ 't', 'k', 'n', '.', 't', 'o', 'k', 'y', 'o', '\0', /* "tkonstantopoulos.tk", true */ 't', 'k', 'o', 'n', 's', 't', 'a', 'n', 't', 'o', 'p', 'o', 'u', 'l', 'o', 's', '.', 't', 'k', '\0', - /* "tlach.cz", true */ 't', 'l', 'a', 'c', 'h', '.', 'c', 'z', '\0', /* "tlo.xyz", true */ 't', 'l', 'o', '.', 'x', 'y', 'z', '\0', /* "tloxygen.com", true */ 't', 'l', 'o', 'x', 'y', 'g', 'e', 'n', '.', 'c', 'o', 'm', '\0', /* "tls.builders", true */ 't', 'l', 's', '.', 'b', 'u', 'i', 'l', 'd', 'e', 'r', 's', '\0', @@ -16524,6 +16528,7 @@ static const char kSTSHostTable[] = { /* "tomasjacik.cz", true */ 't', 'o', 'm', 'a', 's', 'j', 'a', 'c', 'i', 'k', '.', 'c', 'z', '\0', /* "tomaskavalek.cz", true */ 't', 'o', 'm', 'a', 's', 'k', 'a', 'v', 'a', 'l', 'e', 'k', '.', 'c', 'z', '\0', /* "tomaspialek.cz", true */ 't', 'o', 'm', 'a', 's', 'p', 'i', 'a', 'l', 'e', 'k', '.', 'c', 'z', '\0', + /* "tomatenaufdenaugen.de", true */ 't', 'o', 'm', 'a', 't', 'e', 'n', 'a', 'u', 'f', 'd', 'e', 'n', 'a', 'u', 'g', 'e', 'n', '.', 'd', 'e', '\0', /* "tomaw.net", true */ 't', 'o', 'm', 'a', 'w', '.', 'n', 'e', 't', '\0', /* "tombaker.me", true */ 't', 'o', 'm', 'b', 'a', 'k', 'e', 'r', '.', 'm', 'e', '\0', /* "tomberek.info", true */ 't', 'o', 'm', 'b', 'e', 'r', 'e', 'k', '.', 'i', 'n', 'f', 'o', '\0', @@ -16864,7 +16869,6 @@ static const char kSTSHostTable[] = { /* "tunnelwatch.com", true */ 't', 'u', 'n', 'n', 'e', 'l', 'w', 'a', 't', 'c', 'h', '.', 'c', 'o', 'm', '\0', /* "tuntitili.fi", true */ 't', 'u', 'n', 't', 'i', 't', 'i', 'l', 'i', '.', 'f', 'i', '\0', /* "tupizm.com", true */ 't', 'u', 'p', 'i', 'z', 'm', '.', 'c', 'o', 'm', '\0', - /* "turbobit.ch", true */ 't', 'u', 'r', 'b', 'o', 'b', 'i', 't', '.', 'c', 'h', '\0', /* "turkish.dating", true */ 't', 'u', 'r', 'k', 'i', 's', 'h', '.', 'd', 'a', 't', 'i', 'n', 'g', '\0', /* "turkrock.com", true */ 't', 'u', 'r', 'k', 'r', 'o', 'c', 'k', '.', 'c', 'o', 'm', '\0', /* "turn-sticks.com", true */ 't', 'u', 'r', 'n', '-', 's', 't', 'i', 'c', 'k', 's', '.', 'c', 'o', 'm', '\0', @@ -17132,6 +17136,7 @@ static const char kSTSHostTable[] = { /* "urbanesecurity.com", true */ 'u', 'r', 'b', 'a', 'n', 'e', 's', 'e', 'c', 'u', 'r', 'i', 't', 'y', '.', 'c', 'o', 'm', '\0', /* "urbanietz-immobilien.de", true */ 'u', 'r', 'b', 'a', 'n', 'i', 'e', 't', 'z', '-', 'i', 'm', 'm', 'o', 'b', 'i', 'l', 'i', 'e', 'n', '.', 'd', 'e', '\0', /* "urbanmelbourne.info", true */ 'u', 'r', 'b', 'a', 'n', 'm', 'e', 'l', 'b', 'o', 'u', 'r', 'n', 'e', '.', 'i', 'n', 'f', 'o', '\0', + /* "urbanstylestaging.com", true */ 'u', 'r', 'b', 'a', 'n', 's', 't', 'y', 'l', 'e', 's', 't', 'a', 'g', 'i', 'n', 'g', '.', 'c', 'o', 'm', '\0', /* "urbexdk.nl", true */ 'u', 'r', 'b', 'e', 'x', 'd', 'k', '.', 'n', 'l', '\0', /* "urbpic.com", true */ 'u', 'r', 'b', 'p', 'i', 'c', '.', 'c', 'o', 'm', '\0', /* "ureka.org", true */ 'u', 'r', 'e', 'k', 'a', '.', 'o', 'r', 'g', '\0', @@ -17608,7 +17613,6 @@ static const char kSTSHostTable[] = { /* "wane.co", true */ 'w', 'a', 'n', 'e', '.', 'c', 'o', '\0', /* "wangqiliang.cn", true */ 'w', 'a', 'n', 'g', 'q', 'i', 'l', 'i', 'a', 'n', 'g', '.', 'c', 'n', '\0', /* "wangqiliang.com", true */ 'w', 'a', 'n', 'g', 'q', 'i', 'l', 'i', 'a', 'n', 'g', '.', 'c', 'o', 'm', '\0', - /* "wangqiliang.org", true */ 'w', 'a', 'n', 'g', 'q', 'i', 'l', 'i', 'a', 'n', 'g', '.', 'o', 'r', 'g', '\0', /* "wangql.cn", true */ 'w', 'a', 'n', 'g', 'q', 'l', '.', 'c', 'n', '\0', /* "wangql.net", true */ 'w', 'a', 'n', 'g', 'q', 'l', '.', 'n', 'e', 't', '\0', /* "wangqr.tk", true */ 'w', 'a', 'n', 'g', 'q', 'r', '.', 't', 'k', '\0', @@ -18035,6 +18039,7 @@ static const char kSTSHostTable[] = { /* "wolf-squad.de", true */ 'w', 'o', 'l', 'f', '-', 's', 'q', 'u', 'a', 'd', '.', 'd', 'e', '\0', /* "wolfachtal-alpaka.de", true */ 'w', 'o', 'l', 'f', 'a', 'c', 'h', 't', 'a', 'l', '-', 'a', 'l', 'p', 'a', 'k', 'a', '.', 'd', 'e', '\0', /* "wolfemg.com", true */ 'w', 'o', 'l', 'f', 'e', 'm', 'g', '.', 'c', 'o', 'm', '\0', + /* "wolfeyesusa.com", true */ 'w', 'o', 'l', 'f', 'e', 'y', 'e', 's', 'u', 's', 'a', '.', 'c', 'o', 'm', '\0', /* "wolfgang-kerschbaumer.at", true */ 'w', 'o', 'l', 'f', 'g', 'a', 'n', 'g', '-', 'k', 'e', 'r', 's', 'c', 'h', 'b', 'a', 'u', 'm', 'e', 'r', '.', 'a', 't', '\0', /* "wolfgang-kerschbaumer.com", true */ 'w', 'o', 'l', 'f', 'g', 'a', 'n', 'g', '-', 'k', 'e', 'r', 's', 'c', 'h', 'b', 'a', 'u', 'm', 'e', 'r', '.', 'c', 'o', 'm', '\0', /* "wolfgang-kerschbaumer.net", true */ 'w', 'o', 'l', 'f', 'g', 'a', 'n', 'g', '-', 'k', 'e', 'r', 's', 'c', 'h', 'b', 'a', 'u', 'm', 'e', 'r', '.', 'n', 'e', 't', '\0', @@ -18045,7 +18050,6 @@ static const char kSTSHostTable[] = { /* "wolfwings.us", true */ 'w', 'o', 'l', 'f', 'w', 'i', 'n', 'g', 's', '.', 'u', 's', '\0', /* "wollekorb.de", true */ 'w', 'o', 'l', 'l', 'e', 'k', 'o', 'r', 'b', '.', 'd', 'e', '\0', /* "wollwerk.org", true */ 'w', 'o', 'l', 'l', 'w', 'e', 'r', 'k', '.', 'o', 'r', 'g', '\0', - /* "womb.city", true */ 'w', 'o', 'm', 'b', '.', 'c', 'i', 't', 'y', '\0', /* "women-only.net", true */ 'w', 'o', 'm', 'e', 'n', '-', 'o', 'n', 'l', 'y', '.', 'n', 'e', 't', '\0', /* "womf.org", true */ 'w', 'o', 'm', 'f', '.', 'o', 'r', 'g', '\0', /* "wonder.com.mx", true */ 'w', 'o', 'n', 'd', 'e', 'r', '.', 'c', 'o', 'm', '.', 'm', 'x', '\0', @@ -18439,7 +18443,6 @@ static const char kSTSHostTable[] = { /* "yecl.net", true */ 'y', 'e', 'c', 'l', '.', 'n', 'e', 't', '\0', /* "yellowcar.website", true */ 'y', 'e', 'l', 'l', 'o', 'w', 'c', 'a', 'r', '.', 'w', 'e', 'b', 's', 'i', 't', 'e', '\0', /* "yesdevnull.net", true */ 'y', 'e', 's', 'd', 'e', 'v', 'n', 'u', 'l', 'l', '.', 'n', 'e', 't', '\0', - /* "yesiammaisey.me", true */ 'y', 'e', 's', 'i', 'a', 'm', 'm', 'a', 'i', 's', 'e', 'y', '.', 'm', 'e', '\0', /* "yesonline.asia", false */ 'y', 'e', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'a', 's', 'i', 'a', '\0', /* "yesonline.me", false */ 'y', 'e', 's', 'o', 'n', 'l', 'i', 'n', 'e', '.', 'm', 'e', '\0', /* "yeswehack.com", true */ 'y', 'e', 's', 'w', 'e', 'h', 'a', 'c', 'k', '.', 'c', 'o', 'm', '\0', @@ -18647,6 +18650,7 @@ static const char kSTSHostTable[] = { /* "zetorzeszow.pl", true */ 'z', 'e', 't', 'o', 'r', 'z', 'e', 's', 'z', 'o', 'w', '.', 'p', 'l', '\0', /* "zettaplan.ru", true */ 'z', 'e', 't', 't', 'a', 'p', 'l', 'a', 'n', '.', 'r', 'u', '\0', /* "zewtie.com", true */ 'z', 'e', 'w', 't', 'i', 'e', '.', 'c', 'o', 'm', '\0', + /* "zfo.gg", true */ 'z', 'f', 'o', '.', 'g', 'g', '\0', /* "zgrep.org", true */ 'z', 'g', 'r', 'e', 'p', '.', 'o', 'r', 'g', '\0', /* "zh1.li", true */ 'z', 'h', '1', '.', 'l', 'i', '\0', /* "zhang-hao.com", true */ 'z', 'h', 'a', 'n', 'g', '-', 'h', 'a', 'o', '.', 'c', 'o', 'm', '\0', @@ -18694,6 +18698,7 @@ static const char kSTSHostTable[] = { /* "zlatosnadno.cz", true */ 'z', 'l', 'a', 't', 'o', 's', 'n', 'a', 'd', 'n', 'o', '.', 'c', 'z', '\0', /* "zlavomat.sk", true */ 'z', 'l', 'a', 'v', 'o', 'm', 'a', 't', '.', 's', 'k', '\0', /* "zlc1994.com", true */ 'z', 'l', 'c', '1', '9', '9', '4', '.', 'c', 'o', 'm', '\0', + /* "zmk.fr", false */ 'z', 'm', 'k', '.', 'f', 'r', '\0', /* "znation.nl", true */ 'z', 'n', 'a', 't', 'i', 'o', 'n', '.', 'n', 'l', '\0', /* "zning.net.cn", true */ 'z', 'n', 'i', 'n', 'g', '.', 'n', 'e', 't', '.', 'c', 'n', '\0', /* "zobraz.cz", true */ 'z', 'o', 'b', 'r', 'a', 'z', '.', 'c', 'z', '\0', @@ -18936,18595 +18941,18600 @@ static const nsSTSPreload kSTSPreloadList[] = { { 1893, true }, { 1902, false }, { 1913, true }, - { 1928, true }, - { 1941, true }, + { 1921, true }, + { 1936, true }, { 1949, true }, - { 1959, true }, - { 1973, true }, - { 1985, true }, - { 1998, true }, - { 2013, true }, - { 2022, true }, - { 2032, true }, - { 2046, true }, - { 2060, true }, - { 2069, true }, - { 2083, true }, + { 1957, true }, + { 1967, true }, + { 1981, true }, + { 1993, true }, + { 2006, true }, + { 2021, true }, + { 2030, true }, + { 2040, true }, + { 2054, true }, + { 2068, true }, + { 2077, true }, { 2091, true }, - { 2098, true }, - { 2109, true }, - { 2122, true }, - { 2131, true }, - { 2143, true }, - { 2154, true }, - { 2165, true }, - { 2175, true }, - { 2186, true }, - { 2197, true }, + { 2099, true }, + { 2106, true }, + { 2117, true }, + { 2130, true }, + { 2139, true }, + { 2151, true }, + { 2162, true }, + { 2173, true }, + { 2183, true }, + { 2194, true }, { 2205, true }, - { 2215, true }, - { 2226, false }, - { 2239, true }, + { 2213, true }, + { 2223, true }, + { 2234, false }, { 2247, true }, { 2255, true }, - { 2270, true }, - { 2289, true }, - { 2300, true }, - { 2307, true }, - { 2317, true }, - { 2323, true }, - { 2332, true }, - { 2345, true }, - { 2354, true }, - { 2368, true }, - { 2380, true }, - { 2389, true }, - { 2402, true }, - { 2412, true }, - { 2422, false }, - { 2429, true }, - { 2440, true }, - { 2452, true }, + { 2263, true }, + { 2278, true }, + { 2297, true }, + { 2308, true }, + { 2315, true }, + { 2325, true }, + { 2331, true }, + { 2340, true }, + { 2353, true }, + { 2362, true }, + { 2376, true }, + { 2388, true }, + { 2397, true }, + { 2410, true }, + { 2420, true }, + { 2430, false }, + { 2437, true }, + { 2448, true }, { 2460, true }, - { 2467, true }, - { 2476, true }, - { 2486, true }, - { 2505, true }, - { 2512, true }, - { 2524, true }, - { 2533, true }, - { 2554, true }, - { 2578, true }, - { 2593, true }, + { 2468, true }, + { 2475, true }, + { 2484, true }, + { 2494, true }, + { 2513, true }, + { 2520, true }, + { 2532, true }, + { 2541, true }, + { 2562, true }, + { 2586, true }, { 2601, true }, - { 2607, true }, + { 2609, true }, { 2620, true }, - { 2632, true }, - { 2644, true }, - { 2652, true }, - { 2668, true }, - { 2678, false }, - { 2685, true }, - { 2702, true }, - { 2709, true }, - { 2718, true }, - { 2739, true }, - { 2752, false }, - { 2765, true }, - { 2775, true }, - { 2828, true }, - { 2840, true }, - { 2849, true }, - { 2858, true }, + { 2626, true }, + { 2639, true }, + { 2651, true }, + { 2663, true }, + { 2671, true }, + { 2687, true }, + { 2697, false }, + { 2704, true }, + { 2721, true }, + { 2728, true }, + { 2737, true }, + { 2758, true }, + { 2771, false }, + { 2784, true }, + { 2794, true }, + { 2847, true }, + { 2859, true }, { 2868, true }, { 2878, true }, - { 2889, true }, - { 2897, true }, - { 2904, true }, - { 2916, true }, - { 2925, true }, - { 2947, true }, - { 2963, true }, - { 2968, true }, - { 2992, true }, + { 2888, true }, + { 2899, true }, + { 2907, true }, + { 2914, true }, + { 2926, true }, + { 2935, true }, + { 2957, true }, + { 2973, true }, + { 2978, true }, { 3002, true }, - { 3013, true }, - { 3032, true }, - { 3049, true }, - { 3060, true }, - { 3074, true }, - { 3088, true }, + { 3012, true }, + { 3023, true }, + { 3042, true }, + { 3059, true }, + { 3070, true }, + { 3084, true }, { 3098, true }, - { 3109, true }, - { 3122, true }, - { 3137, true }, - { 3145, true }, - { 3162, true }, - { 3177, true }, - { 3192, true }, - { 3207, true }, - { 3219, true }, - { 3235, true }, + { 3108, true }, + { 3119, true }, + { 3132, true }, + { 3147, true }, + { 3155, true }, + { 3172, true }, + { 3187, true }, + { 3202, true }, + { 3217, true }, + { 3229, true }, { 3245, true }, - { 3252, true }, - { 3263, true }, - { 3275, true }, - { 3290, false }, + { 3255, true }, + { 3262, true }, + { 3273, true }, + { 3285, true }, { 3300, false }, - { 3315, true }, - { 3343, true }, - { 3357, true }, - { 3376, true }, + { 3310, false }, + { 3325, true }, + { 3353, true }, + { 3367, true }, { 3386, true }, - { 3400, true }, - { 3411, true }, - { 3429, true }, - { 3440, true }, - { 3454, true }, - { 3467, true }, - { 3479, true }, - { 3501, true }, - { 3512, false }, - { 3528, false }, - { 3540, true }, - { 3553, true }, - { 3566, true }, - { 3583, true }, - { 3608, true }, - { 3625, true }, - { 3649, false }, - { 3657, true }, - { 3681, true }, - { 3700, true }, - { 3713, true }, - { 3725, true }, - { 3739, true }, - { 3750, true }, - { 3768, true }, - { 3792, true }, - { 3805, true }, - { 3818, true }, - { 3831, true }, - { 3840, true }, - { 3857, true }, - { 3876, true }, - { 3888, true }, - { 3907, true }, - { 3930, true }, - { 3950, true }, - { 3964, true }, - { 3972, true }, - { 3996, true }, - { 4009, true }, - { 4026, true }, - { 4039, true }, - { 4057, true }, - { 4078, true }, - { 4098, true }, - { 4123, true }, - { 4135, true }, - { 4154, true }, - { 4173, false }, - { 4180, true }, - { 4193, true }, - { 4214, true }, - { 4226, true }, - { 4243, true }, - { 4256, true }, - { 4272, true }, - { 4293, true }, - { 4305, true }, - { 4316, true }, - { 4329, false }, - { 4338, true }, - { 4354, false }, - { 4364, true }, - { 4379, true }, - { 4396, true }, - { 4407, false }, - { 4421, true }, - { 4434, true }, - { 4450, true }, - { 4461, true }, - { 4473, true }, - { 4485, true }, - { 4506, false }, - { 4516, true }, - { 4531, true }, - { 4545, true }, - { 4566, false }, - { 4579, true }, - { 4588, true }, - { 4603, true }, - { 4619, true }, - { 4633, true }, - { 4645, true }, - { 4660, true }, - { 4673, true }, - { 4685, true }, - { 4697, true }, - { 4709, true }, - { 4721, true }, - { 4733, true }, - { 4741, true }, - { 4752, true }, - { 4769, true }, - { 4783, true }, - { 4799, true }, - { 4813, true }, - { 4826, true }, - { 4843, true }, - { 4859, true }, - { 4874, true }, - { 4889, true }, - { 4907, true }, - { 4916, true }, - { 4929, true }, - { 4944, true }, - { 4965, true }, - { 4974, true }, - { 4984, true }, - { 5009, true }, - { 5020, true }, - { 5032, true }, - { 5051, true }, - { 5063, true }, - { 5082, true }, - { 5101, true }, - { 5120, true }, - { 5131, true }, - { 5143, true }, - { 5158, true }, - { 5169, true }, - { 5182, true }, - { 5194, true }, - { 5207, true }, - { 5221, true }, - { 5236, true }, - { 5258, true }, - { 5268, true }, - { 5279, true }, - { 5301, true }, - { 5310, true }, - { 5323, true }, - { 5337, true }, - { 5349, true }, - { 5376, true }, - { 5402, true }, - { 5413, true }, - { 5426, true }, - { 5437, true }, - { 5461, true }, - { 5478, true }, - { 5506, true }, - { 5518, true }, - { 5529, true }, - { 5538, true }, - { 5548, true }, - { 5557, true }, - { 5571, true }, - { 5590, true }, - { 5600, true }, - { 5617, true }, - { 5629, true }, - { 5643, true }, - { 5651, false }, - { 5672, true }, - { 5690, true }, - { 5708, true }, - { 5725, true }, - { 5736, true }, - { 5749, true }, - { 5760, true }, - { 5769, true }, - { 5785, true }, - { 5801, true }, - { 5820, true }, - { 5841, true }, - { 5855, true }, - { 5874, true }, - { 5887, true }, - { 5898, true }, - { 5918, true }, - { 5936, true }, - { 5954, false }, - { 5973, true }, - { 5987, true }, - { 6008, true }, - { 6028, true }, - { 6044, true }, - { 6054, true }, - { 6067, true }, - { 6080, true }, - { 6094, true }, - { 6108, true }, - { 6118, true }, - { 6128, true }, - { 6138, true }, - { 6148, true }, - { 6158, true }, - { 6168, true }, - { 6185, true }, - { 6195, true }, - { 6203, false }, - { 6214, true }, - { 6225, true }, - { 6235, true }, - { 6247, true }, - { 6258, true }, - { 6270, true }, - { 6279, true }, - { 6299, true }, - { 6316, true }, - { 6340, true }, - { 6354, true }, - { 6373, true }, - { 6395, true }, - { 6407, true }, - { 6423, true }, - { 6434, true }, - { 6442, true }, - { 6456, true }, - { 6472, true }, - { 6487, true }, - { 6496, true }, - { 6511, true }, - { 6519, true }, - { 6528, true }, - { 6545, false }, - { 6557, true }, - { 6574, true }, - { 6582, false }, - { 6598, true }, - { 6616, true }, - { 6629, true }, - { 6637, true }, - { 6651, false }, - { 6665, true }, - { 6677, true }, - { 6687, false }, - { 6700, true }, - { 6712, true }, - { 6721, true }, - { 6733, true }, - { 6747, true }, - { 6760, true }, - { 6772, true }, - { 6788, true }, - { 6798, false }, - { 6808, false }, - { 6816, true }, - { 6826, true }, - { 6840, true }, - { 6853, true }, - { 6861, true }, - { 6873, true }, - { 6885, true }, - { 6909, true }, - { 6928, true }, - { 6947, false }, - { 6956, false }, - { 6970, true }, - { 6980, true }, - { 7013, true }, - { 7023, true }, - { 7037, true }, - { 7044, true }, - { 7056, true }, - { 7069, true }, - { 7080, true }, - { 7097, true }, - { 7108, true }, - { 7124, true }, - { 7133, true }, - { 7140, true }, - { 7154, true }, - { 7162, true }, - { 7173, true }, - { 7191, true }, - { 7206, true }, - { 7221, true }, - { 7238, true }, - { 7251, true }, - { 7261, true }, - { 7272, true }, - { 7287, true }, - { 7310, true }, - { 7321, true }, - { 7333, true }, - { 7353, true }, - { 7364, true }, - { 7375, true }, - { 7386, true }, - { 7397, true }, - { 7408, true }, - { 7421, true }, - { 7439, true }, - { 7451, true }, - { 7468, true }, - { 7477, true }, - { 7491, true }, - { 7502, true }, - { 7513, true }, - { 7530, true }, - { 7546, true }, - { 7557, true }, - { 7565, false }, - { 7591, false }, - { 7602, true }, - { 7620, false }, - { 7637, true }, - { 7647, true }, - { 7658, true }, - { 7671, true }, - { 7683, true }, - { 7692, true }, - { 7709, true }, - { 7716, true }, - { 7740, true }, - { 7756, true }, - { 7776, true }, - { 7801, true }, - { 7826, true }, - { 7851, true }, - { 7863, true }, - { 7885, true }, - { 7895, true }, - { 7907, true }, - { 7916, true }, - { 7928, true }, - { 7955, true }, - { 7983, true }, - { 7996, false }, - { 8005, true }, - { 8021, true }, - { 8037, true }, - { 8049, true }, - { 8064, true }, - { 8078, true }, - { 8098, true }, - { 8113, true }, - { 8134, true }, - { 8146, true }, - { 8157, true }, - { 8167, true }, - { 8178, true }, - { 8190, true }, - { 8202, true }, - { 8211, true }, - { 8223, true }, - { 8242, true }, - { 8255, true }, - { 8266, true }, - { 8275, true }, - { 8293, true }, - { 8307, true }, - { 8321, true }, - { 8337, true }, - { 8353, true }, - { 8373, true }, - { 8394, true }, - { 8408, true }, - { 8421, true }, - { 8436, true }, - { 8446, true }, - { 8464, true }, - { 8479, true }, - { 8497, true }, - { 8507, true }, - { 8524, true }, - { 8539, true }, - { 8557, true }, - { 8571, true }, - { 8585, true }, - { 8599, true }, - { 8611, true }, - { 8626, true }, - { 8640, true }, - { 8655, true }, - { 8665, true }, - { 8679, true }, - { 8688, true }, - { 8705, true }, - { 8720, true }, - { 8734, true }, - { 8748, true }, - { 8764, true }, - { 8776, true }, - { 8789, false }, - { 8804, true }, - { 8831, true }, - { 8852, true }, - { 8864, true }, - { 8878, true }, - { 8888, true }, - { 8903, true }, - { 8917, true }, - { 8931, true }, - { 8953, true }, - { 8965, true }, - { 8988, true }, - { 9009, true }, - { 9021, true }, - { 9035, true }, - { 9048, true }, - { 9060, true }, - { 9073, true }, - { 9084, true }, - { 9099, true }, - { 9110, false }, - { 9126, true }, - { 9144, true }, - { 9155, true }, - { 9167, true }, - { 9187, true }, - { 9200, true }, - { 9212, true }, - { 9232, true }, - { 9245, true }, - { 9258, true }, - { 9282, true }, - { 9300, true }, - { 9317, true }, - { 9341, true }, - { 9365, true }, - { 9384, true }, - { 9400, true }, - { 9414, true }, - { 9423, true }, - { 9436, true }, - { 9452, true }, - { 9473, true }, - { 9489, true }, - { 9508, true }, - { 9521, true }, - { 9542, true }, - { 9562, true }, - { 9582, true }, - { 9598, true }, - { 9611, false }, - { 9624, true }, - { 9636, true }, - { 9646, true }, - { 9671, true }, - { 9684, true }, - { 9698, true }, - { 9718, true }, - { 9734, true }, - { 9748, true }, - { 9764, true }, - { 9778, true }, - { 9794, true }, - { 9808, true }, - { 9820, true }, - { 9834, true }, - { 9851, true }, - { 9862, true }, - { 9881, true }, - { 9894, true }, - { 9908, true }, - { 9916, true }, - { 9929, true }, - { 9941, true }, - { 9954, true }, - { 9969, true }, - { 9982, true }, - { 9996, true }, - { 10013, true }, - { 10032, true }, - { 10044, true }, - { 10058, true }, - { 10080, true }, - { 10094, true }, - { 10106, true }, - { 10118, true }, - { 10132, true }, - { 10160, true }, - { 10175, true }, - { 10187, true }, - { 10198, true }, - { 10209, true }, - { 10223, true }, - { 10235, true }, - { 10245, true }, - { 10258, true }, - { 10270, true }, - { 10283, true }, - { 10303, true }, - { 10315, true }, - { 10327, true }, - { 10353, true }, - { 10371, true }, - { 10386, true }, - { 10399, true }, - { 10408, true }, - { 10421, true }, - { 10433, true }, - { 10447, true }, - { 10460, true }, - { 10471, true }, - { 10481, true }, - { 10492, true }, - { 10502, true }, - { 10513, true }, - { 10522, true }, - { 10538, true }, - { 10554, true }, - { 10582, true }, - { 10601, true }, - { 10616, true }, - { 10636, true }, - { 10648, true }, - { 10668, true }, - { 10680, true }, - { 10693, true }, - { 10702, true }, - { 10711, true }, - { 10721, true }, - { 10740, true }, - { 10751, true }, - { 10766, true }, - { 10786, true }, - { 10804, true }, - { 10814, true }, - { 10841, true }, - { 10858, true }, - { 10869, true }, - { 10879, true }, - { 10893, true }, - { 10910, true }, - { 10921, true }, - { 10930, true }, - { 10941, true }, - { 10961, true }, - { 10980, true }, - { 10991, true }, - { 11002, true }, - { 11020, false }, - { 11031, true }, - { 11050, true }, - { 11068, true }, - { 11086, true }, - { 11108, true }, - { 11130, true }, - { 11144, true }, - { 11159, true }, - { 11173, true }, - { 11187, true }, - { 11202, true }, - { 11223, true }, - { 11233, true }, - { 11253, true }, - { 11268, true }, - { 11279, false }, - { 11303, true }, - { 11324, true }, - { 11342, true }, - { 11353, true }, - { 11371, true }, - { 11388, true }, - { 11401, true }, - { 11409, true }, - { 11426, true }, - { 11439, true }, - { 11454, true }, - { 11466, true }, - { 11480, true }, - { 11499, true }, - { 11515, true }, - { 11533, false }, - { 11555, true }, - { 11570, true }, - { 11587, true }, - { 11609, true }, - { 11624, true }, - { 11641, true }, - { 11662, true }, - { 11678, true }, - { 11694, true }, - { 11711, true }, - { 11728, true }, - { 11743, true }, - { 11758, true }, - { 11772, true }, - { 11786, true }, - { 11803, true }, - { 11820, true }, - { 11832, true }, - { 11846, true }, - { 11863, true }, - { 11881, true }, - { 11896, true }, - { 11908, true }, - { 11921, true }, - { 11937, true }, - { 11951, true }, - { 11964, true }, - { 11981, true }, - { 12001, true }, - { 12021, true }, - { 12036, true }, - { 12047, true }, - { 12058, true }, - { 12069, true }, - { 12085, true }, - { 12100, true }, - { 12111, true }, - { 12128, true }, - { 12144, true }, - { 12155, true }, - { 12166, true }, - { 12188, true }, - { 12200, true }, - { 12215, true }, - { 12228, true }, - { 12247, true }, - { 12258, true }, - { 12271, true }, - { 12285, true }, - { 12303, false }, - { 12316, false }, - { 12325, true }, - { 12347, true }, - { 12364, true }, - { 12381, true }, - { 12401, true }, - { 12412, true }, - { 12423, true }, - { 12441, true }, - { 12473, true }, - { 12500, true }, - { 12525, true }, - { 12549, true }, - { 12561, true }, - { 12571, true }, - { 12589, true }, - { 12604, true }, - { 12618, true }, - { 12630, true }, - { 12642, true }, - { 12662, true }, - { 12681, true }, - { 12701, true }, - { 12724, false }, - { 12748, true }, - { 12760, true }, - { 12771, true }, - { 12786, true }, - { 12798, true }, - { 12810, true }, - { 12826, true }, - { 12843, true }, - { 12862, true }, - { 12878, true }, - { 12897, true }, - { 12910, true }, - { 12920, true }, - { 12929, true }, - { 12939, true }, - { 12952, true }, - { 12964, true }, - { 12983, true }, - { 12997, true }, - { 13013, true }, - { 13025, true }, + { 3396, true }, + { 3410, true }, + { 3421, true }, + { 3439, true }, + { 3450, true }, + { 3464, true }, + { 3477, true }, + { 3489, true }, + { 3511, true }, + { 3522, false }, + { 3538, false }, + { 3550, true }, + { 3563, true }, + { 3576, true }, + { 3593, true }, + { 3618, true }, + { 3635, true }, + { 3659, false }, + { 3667, true }, + { 3691, true }, + { 3710, true }, + { 3723, true }, + { 3735, true }, + { 3749, true }, + { 3767, true }, + { 3791, true }, + { 3804, true }, + { 3817, true }, + { 3830, true }, + { 3839, true }, + { 3856, true }, + { 3875, true }, + { 3887, true }, + { 3906, true }, + { 3929, true }, + { 3949, true }, + { 3963, true }, + { 3971, true }, + { 3995, true }, + { 4008, true }, + { 4025, true }, + { 4038, true }, + { 4056, true }, + { 4077, true }, + { 4097, true }, + { 4122, true }, + { 4134, true }, + { 4153, true }, + { 4172, false }, + { 4179, true }, + { 4192, true }, + { 4213, true }, + { 4225, true }, + { 4242, true }, + { 4255, true }, + { 4271, true }, + { 4292, true }, + { 4304, true }, + { 4315, true }, + { 4328, false }, + { 4337, true }, + { 4353, false }, + { 4363, true }, + { 4378, true }, + { 4395, true }, + { 4406, false }, + { 4420, true }, + { 4433, true }, + { 4449, true }, + { 4460, true }, + { 4472, true }, + { 4484, true }, + { 4505, false }, + { 4515, true }, + { 4530, true }, + { 4544, true }, + { 4565, false }, + { 4578, true }, + { 4587, true }, + { 4602, true }, + { 4618, true }, + { 4632, true }, + { 4644, true }, + { 4659, true }, + { 4672, true }, + { 4684, true }, + { 4696, true }, + { 4708, true }, + { 4720, true }, + { 4732, true }, + { 4740, true }, + { 4751, true }, + { 4768, true }, + { 4782, true }, + { 4798, true }, + { 4812, true }, + { 4825, true }, + { 4842, true }, + { 4858, true }, + { 4873, true }, + { 4888, true }, + { 4906, true }, + { 4915, true }, + { 4928, true }, + { 4943, true }, + { 4964, true }, + { 4973, true }, + { 4983, true }, + { 5008, true }, + { 5019, true }, + { 5031, true }, + { 5050, true }, + { 5062, true }, + { 5081, true }, + { 5100, true }, + { 5119, true }, + { 5130, true }, + { 5142, true }, + { 5157, true }, + { 5168, true }, + { 5181, true }, + { 5193, true }, + { 5206, true }, + { 5220, true }, + { 5235, true }, + { 5257, true }, + { 5267, true }, + { 5278, true }, + { 5300, true }, + { 5309, true }, + { 5322, true }, + { 5336, true }, + { 5348, true }, + { 5375, true }, + { 5401, true }, + { 5412, true }, + { 5425, true }, + { 5436, true }, + { 5460, true }, + { 5477, true }, + { 5505, true }, + { 5517, true }, + { 5528, true }, + { 5537, true }, + { 5547, true }, + { 5556, true }, + { 5570, true }, + { 5589, true }, + { 5599, true }, + { 5616, true }, + { 5628, true }, + { 5642, true }, + { 5650, false }, + { 5671, true }, + { 5689, true }, + { 5707, true }, + { 5724, true }, + { 5735, true }, + { 5748, true }, + { 5759, true }, + { 5768, true }, + { 5784, true }, + { 5800, true }, + { 5819, true }, + { 5840, true }, + { 5854, true }, + { 5873, true }, + { 5886, true }, + { 5897, true }, + { 5917, true }, + { 5935, true }, + { 5953, false }, + { 5972, true }, + { 5986, true }, + { 6007, true }, + { 6027, true }, + { 6043, true }, + { 6053, true }, + { 6066, true }, + { 6079, true }, + { 6093, true }, + { 6107, true }, + { 6117, true }, + { 6127, true }, + { 6137, true }, + { 6147, true }, + { 6157, true }, + { 6167, true }, + { 6184, true }, + { 6194, true }, + { 6202, false }, + { 6213, true }, + { 6224, true }, + { 6234, true }, + { 6246, true }, + { 6257, true }, + { 6269, true }, + { 6278, true }, + { 6298, true }, + { 6315, true }, + { 6339, true }, + { 6353, true }, + { 6372, true }, + { 6394, true }, + { 6406, true }, + { 6422, true }, + { 6433, true }, + { 6441, true }, + { 6455, true }, + { 6471, true }, + { 6486, true }, + { 6495, true }, + { 6510, true }, + { 6518, true }, + { 6527, true }, + { 6544, false }, + { 6556, true }, + { 6573, true }, + { 6581, false }, + { 6597, true }, + { 6615, true }, + { 6628, true }, + { 6636, true }, + { 6650, false }, + { 6664, true }, + { 6676, true }, + { 6686, false }, + { 6699, true }, + { 6711, true }, + { 6720, true }, + { 6732, true }, + { 6746, true }, + { 6759, true }, + { 6771, true }, + { 6787, true }, + { 6797, false }, + { 6807, false }, + { 6815, true }, + { 6825, true }, + { 6839, true }, + { 6852, true }, + { 6860, true }, + { 6872, true }, + { 6884, true }, + { 6908, true }, + { 6927, true }, + { 6946, false }, + { 6955, false }, + { 6969, true }, + { 6979, true }, + { 7012, true }, + { 7022, true }, + { 7036, true }, + { 7043, true }, + { 7055, true }, + { 7068, true }, + { 7079, true }, + { 7096, true }, + { 7107, true }, + { 7123, true }, + { 7132, true }, + { 7139, true }, + { 7153, true }, + { 7161, true }, + { 7172, true }, + { 7190, true }, + { 7205, true }, + { 7220, true }, + { 7237, true }, + { 7250, true }, + { 7260, true }, + { 7271, true }, + { 7286, true }, + { 7309, true }, + { 7320, true }, + { 7332, true }, + { 7352, true }, + { 7363, true }, + { 7374, true }, + { 7385, true }, + { 7396, true }, + { 7407, true }, + { 7420, true }, + { 7438, true }, + { 7450, true }, + { 7467, true }, + { 7476, true }, + { 7490, true }, + { 7501, true }, + { 7512, true }, + { 7529, true }, + { 7545, true }, + { 7556, true }, + { 7564, false }, + { 7590, false }, + { 7601, true }, + { 7619, false }, + { 7636, true }, + { 7646, true }, + { 7657, true }, + { 7670, true }, + { 7682, true }, + { 7691, true }, + { 7708, true }, + { 7715, true }, + { 7739, true }, + { 7755, true }, + { 7775, true }, + { 7800, true }, + { 7825, true }, + { 7850, true }, + { 7862, true }, + { 7884, true }, + { 7894, true }, + { 7906, true }, + { 7915, true }, + { 7927, true }, + { 7954, true }, + { 7982, true }, + { 7995, false }, + { 8004, true }, + { 8020, true }, + { 8036, true }, + { 8048, true }, + { 8063, true }, + { 8077, true }, + { 8097, true }, + { 8112, true }, + { 8133, true }, + { 8145, true }, + { 8156, true }, + { 8166, true }, + { 8177, true }, + { 8189, true }, + { 8201, true }, + { 8210, true }, + { 8222, true }, + { 8241, true }, + { 8254, true }, + { 8265, true }, + { 8274, true }, + { 8292, true }, + { 8306, true }, + { 8320, true }, + { 8336, true }, + { 8352, true }, + { 8372, true }, + { 8393, true }, + { 8407, true }, + { 8420, true }, + { 8435, true }, + { 8445, true }, + { 8463, true }, + { 8478, true }, + { 8496, true }, + { 8506, true }, + { 8523, true }, + { 8538, true }, + { 8556, true }, + { 8570, true }, + { 8584, true }, + { 8598, true }, + { 8610, true }, + { 8625, true }, + { 8639, true }, + { 8654, true }, + { 8664, true }, + { 8678, true }, + { 8687, true }, + { 8704, true }, + { 8719, true }, + { 8733, true }, + { 8747, true }, + { 8763, true }, + { 8775, true }, + { 8788, false }, + { 8803, true }, + { 8830, true }, + { 8851, true }, + { 8863, true }, + { 8877, true }, + { 8887, true }, + { 8902, true }, + { 8916, true }, + { 8930, true }, + { 8952, true }, + { 8964, true }, + { 8987, true }, + { 9008, true }, + { 9020, true }, + { 9034, true }, + { 9047, true }, + { 9059, true }, + { 9072, true }, + { 9083, true }, + { 9098, true }, + { 9109, false }, + { 9125, true }, + { 9143, true }, + { 9154, true }, + { 9166, true }, + { 9186, true }, + { 9199, true }, + { 9211, true }, + { 9231, true }, + { 9244, true }, + { 9257, true }, + { 9281, true }, + { 9299, true }, + { 9316, true }, + { 9340, true }, + { 9364, true }, + { 9383, true }, + { 9399, true }, + { 9413, true }, + { 9422, true }, + { 9435, true }, + { 9451, true }, + { 9472, true }, + { 9488, true }, + { 9507, true }, + { 9520, true }, + { 9541, true }, + { 9561, true }, + { 9581, true }, + { 9597, true }, + { 9610, false }, + { 9623, true }, + { 9635, true }, + { 9645, true }, + { 9670, true }, + { 9683, true }, + { 9697, true }, + { 9717, true }, + { 9733, true }, + { 9747, true }, + { 9763, true }, + { 9777, true }, + { 9793, true }, + { 9807, true }, + { 9819, true }, + { 9833, true }, + { 9850, true }, + { 9861, true }, + { 9880, true }, + { 9893, true }, + { 9907, true }, + { 9915, true }, + { 9928, true }, + { 9940, true }, + { 9953, true }, + { 9968, true }, + { 9981, true }, + { 9995, true }, + { 10012, true }, + { 10031, true }, + { 10043, true }, + { 10057, true }, + { 10079, true }, + { 10093, true }, + { 10105, true }, + { 10117, true }, + { 10131, true }, + { 10159, true }, + { 10174, true }, + { 10186, true }, + { 10197, true }, + { 10208, true }, + { 10222, true }, + { 10234, true }, + { 10244, true }, + { 10257, true }, + { 10269, true }, + { 10282, true }, + { 10302, true }, + { 10314, true }, + { 10326, true }, + { 10352, true }, + { 10370, true }, + { 10385, true }, + { 10398, true }, + { 10407, true }, + { 10420, true }, + { 10432, true }, + { 10446, true }, + { 10459, true }, + { 10470, true }, + { 10480, true }, + { 10491, true }, + { 10501, true }, + { 10512, true }, + { 10521, true }, + { 10537, true }, + { 10553, true }, + { 10581, true }, + { 10600, true }, + { 10615, true }, + { 10635, true }, + { 10647, true }, + { 10667, true }, + { 10679, true }, + { 10692, true }, + { 10701, true }, + { 10710, true }, + { 10720, true }, + { 10739, true }, + { 10750, true }, + { 10765, true }, + { 10785, true }, + { 10803, true }, + { 10813, true }, + { 10840, true }, + { 10857, true }, + { 10868, true }, + { 10878, true }, + { 10892, true }, + { 10909, true }, + { 10920, true }, + { 10929, true }, + { 10940, true }, + { 10960, true }, + { 10979, true }, + { 10990, true }, + { 11001, true }, + { 11019, false }, + { 11030, true }, + { 11049, true }, + { 11067, true }, + { 11085, true }, + { 11107, true }, + { 11129, true }, + { 11143, true }, + { 11158, true }, + { 11172, true }, + { 11186, true }, + { 11201, true }, + { 11222, true }, + { 11232, true }, + { 11252, true }, + { 11267, true }, + { 11278, false }, + { 11302, true }, + { 11323, true }, + { 11341, true }, + { 11352, true }, + { 11370, true }, + { 11387, true }, + { 11400, true }, + { 11408, true }, + { 11425, true }, + { 11438, true }, + { 11453, true }, + { 11465, true }, + { 11479, true }, + { 11498, true }, + { 11514, true }, + { 11532, false }, + { 11554, true }, + { 11569, true }, + { 11586, true }, + { 11608, true }, + { 11623, true }, + { 11640, true }, + { 11661, true }, + { 11677, true }, + { 11693, true }, + { 11710, true }, + { 11727, true }, + { 11742, true }, + { 11757, true }, + { 11771, true }, + { 11785, true }, + { 11802, true }, + { 11819, true }, + { 11831, true }, + { 11845, true }, + { 11862, true }, + { 11880, true }, + { 11895, true }, + { 11907, true }, + { 11920, true }, + { 11936, true }, + { 11950, true }, + { 11963, true }, + { 11980, true }, + { 12000, true }, + { 12020, true }, + { 12035, true }, + { 12046, true }, + { 12057, true }, + { 12068, true }, + { 12084, true }, + { 12099, true }, + { 12110, true }, + { 12127, true }, + { 12143, true }, + { 12154, true }, + { 12165, true }, + { 12187, true }, + { 12199, true }, + { 12214, true }, + { 12227, true }, + { 12246, true }, + { 12257, true }, + { 12270, true }, + { 12284, true }, + { 12302, false }, + { 12315, false }, + { 12324, true }, + { 12346, true }, + { 12363, true }, + { 12380, true }, + { 12400, true }, + { 12411, true }, + { 12422, true }, + { 12440, true }, + { 12472, true }, + { 12499, true }, + { 12524, true }, + { 12548, true }, + { 12560, true }, + { 12570, true }, + { 12588, true }, + { 12603, true }, + { 12617, true }, + { 12629, true }, + { 12641, true }, + { 12661, true }, + { 12680, true }, + { 12700, true }, + { 12723, false }, + { 12747, true }, + { 12759, true }, + { 12770, true }, + { 12785, true }, + { 12797, true }, + { 12809, true }, + { 12825, true }, + { 12842, true }, + { 12861, true }, + { 12877, true }, + { 12896, true }, + { 12909, true }, + { 12919, true }, + { 12928, true }, + { 12938, true }, + { 12951, true }, + { 12963, false }, + { 12987, true }, + { 13006, true }, + { 13020, true }, { 13036, true }, - { 13056, true }, - { 13072, true }, - { 13089, true }, - { 13103, true }, - { 13118, true }, - { 13133, true }, - { 13144, true }, - { 13154, true }, - { 13172, true }, - { 13188, true }, - { 13200, true }, - { 13219, true }, - { 13233, true }, - { 13248, true }, - { 13258, true }, - { 13274, true }, - { 13287, true }, - { 13304, false }, - { 13311, true }, - { 13324, true }, - { 13337, true }, - { 13353, true }, - { 13364, true }, + { 13048, true }, + { 13059, true }, + { 13079, true }, + { 13095, true }, + { 13112, true }, + { 13126, true }, + { 13141, true }, + { 13156, true }, + { 13167, true }, + { 13177, true }, + { 13195, true }, + { 13211, true }, + { 13223, true }, + { 13242, true }, + { 13256, true }, + { 13271, true }, + { 13281, true }, + { 13297, true }, + { 13310, true }, + { 13327, false }, + { 13334, true }, + { 13347, true }, + { 13360, true }, { 13376, true }, { 13387, true }, - { 13394, false }, - { 13405, true }, - { 13416, true }, - { 13426, true }, - { 13439, false }, - { 13447, true }, - { 13457, true }, - { 13464, true }, - { 13478, false }, - { 13492, true }, - { 13508, true }, - { 13523, true }, - { 13542, true }, - { 13567, true }, - { 13576, true }, - { 13587, true }, - { 13595, true }, - { 13625, true }, + { 13399, true }, + { 13410, true }, + { 13417, false }, + { 13428, true }, + { 13439, true }, + { 13449, true }, + { 13462, false }, + { 13470, true }, + { 13480, true }, + { 13487, true }, + { 13501, false }, + { 13515, true }, + { 13531, true }, + { 13546, true }, + { 13565, true }, + { 13590, true }, + { 13599, true }, + { 13610, true }, + { 13618, true }, { 13648, true }, - { 13661, true }, - { 13680, true }, - { 13692, true }, - { 13705, false }, - { 13724, true }, - { 13740, false }, - { 13756, true }, - { 13772, false }, - { 13787, false }, - { 13800, true }, - { 13809, true }, - { 13825, true }, - { 13837, true }, - { 13856, true }, - { 13877, true }, - { 13890, true }, - { 13899, true }, - { 13912, true }, + { 13671, true }, + { 13684, true }, + { 13703, true }, + { 13715, true }, + { 13728, false }, + { 13747, true }, + { 13763, false }, + { 13779, true }, + { 13795, false }, + { 13810, false }, + { 13823, true }, + { 13832, true }, + { 13848, true }, + { 13860, true }, + { 13879, true }, + { 13900, true }, + { 13913, true }, { 13922, true }, - { 13933, true }, - { 13944, true }, - { 13955, true }, - { 13966, true }, + { 13935, true }, + { 13945, true }, + { 13956, true }, + { 13967, true }, { 13978, true }, - { 13994, true }, - { 14011, false }, - { 14028, true }, - { 14050, true }, - { 14076, true }, - { 14089, true }, - { 14098, true }, + { 13989, true }, + { 14001, true }, + { 14017, true }, + { 14034, false }, + { 14051, true }, + { 14073, true }, + { 14099, true }, { 14112, true }, - { 14131, true }, - { 14152, true }, - { 14164, true }, - { 14178, true }, + { 14121, true }, + { 14135, true }, + { 14154, true }, + { 14175, true }, { 14187, true }, - { 14200, true }, - { 14213, true }, - { 14227, true }, - { 14240, true }, - { 14256, true }, - { 14273, true }, - { 14284, true }, - { 14293, true }, - { 14306, true }, - { 14319, true }, - { 14331, true }, - { 14352, false }, - { 14370, true }, + { 14201, true }, + { 14210, true }, + { 14223, true }, + { 14236, true }, + { 14250, true }, + { 14263, true }, + { 14279, true }, + { 14296, true }, + { 14307, true }, + { 14316, true }, + { 14329, true }, + { 14342, true }, + { 14354, true }, + { 14375, false }, { 14393, true }, - { 14420, false }, - { 14433, true }, - { 14445, true }, - { 14465, true }, - { 14476, true }, - { 14493, true }, - { 14505, true }, - { 14519, true }, - { 14527, true }, - { 14544, true }, - { 14557, true }, - { 14570, true }, - { 14582, true }, - { 14595, true }, - { 14611, true }, - { 14623, true }, - { 14641, true }, - { 14653, true }, + { 14416, true }, + { 14443, false }, + { 14456, true }, + { 14468, true }, + { 14488, true }, + { 14499, true }, + { 14516, true }, + { 14528, true }, + { 14542, true }, + { 14550, true }, + { 14567, true }, + { 14580, true }, + { 14593, true }, + { 14605, true }, + { 14618, true }, + { 14634, true }, + { 14646, true }, + { 14664, true }, { 14676, true }, - { 14689, true }, - { 14705, true }, - { 14711, true }, - { 14723, true }, - { 14733, true }, - { 14749, true }, - { 14761, true }, + { 14699, true }, + { 14712, true }, + { 14728, true }, + { 14734, true }, + { 14746, true }, + { 14756, true }, { 14772, true }, - { 14782, true }, - { 14799, true }, - { 14818, true }, - { 14830, false }, - { 14842, true }, - { 14855, true }, - { 14884, true }, - { 14910, true }, - { 14926, true }, - { 14939, true }, - { 14953, true }, - { 14963, true }, - { 14979, true }, - { 14998, true }, - { 15022, true }, - { 15050, true }, - { 15063, true }, - { 15077, true }, - { 15089, true }, + { 14784, true }, + { 14795, true }, + { 14805, true }, + { 14822, true }, + { 14841, true }, + { 14853, false }, + { 14865, true }, + { 14878, true }, + { 14907, true }, + { 14933, true }, + { 14949, true }, + { 14962, true }, + { 14976, true }, + { 14986, true }, + { 15002, true }, + { 15021, true }, + { 15045, true }, + { 15073, true }, + { 15086, true }, { 15100, true }, - { 15113, true }, - { 15122, true }, - { 15135, true }, - { 15147, true }, - { 15163, true }, - { 15177, true }, - { 15193, true }, - { 15209, true }, - { 15229, true }, - { 15243, true }, - { 15251, true }, - { 15271, true }, - { 15293, true }, - { 15305, true }, - { 15321, true }, - { 15335, false }, - { 15348, true }, - { 15363, true }, - { 15376, true }, - { 15394, true }, - { 15408, true }, + { 15112, true }, + { 15123, true }, + { 15136, true }, + { 15145, true }, + { 15158, true }, + { 15170, true }, + { 15186, true }, + { 15200, true }, + { 15216, true }, + { 15232, true }, + { 15252, true }, + { 15266, true }, + { 15274, true }, + { 15294, true }, + { 15316, true }, + { 15328, true }, + { 15344, true }, + { 15358, false }, + { 15371, true }, + { 15386, true }, + { 15399, true }, { 15417, true }, - { 15429, true }, - { 15447, true }, - { 15467, false }, - { 15482, true }, - { 15495, true }, - { 15508, true }, + { 15431, true }, + { 15440, true }, + { 15452, true }, + { 15470, true }, + { 15490, false }, + { 15505, true }, { 15518, true }, - { 15532, true }, - { 15558, true }, - { 15568, true }, - { 15582, true }, - { 15594, true }, - { 15608, true }, - { 15626, true }, - { 15644, false }, - { 15660, true }, - { 15670, true }, - { 15678, true }, - { 15689, true }, - { 15702, true }, - { 15718, true }, - { 15731, true }, - { 15753, true }, - { 15768, true }, - { 15779, true }, - { 15789, true }, - { 15811, true }, - { 15826, true }, - { 15845, true }, - { 15858, false }, - { 15873, true }, - { 15893, true }, - { 15904, true }, + { 15531, true }, + { 15541, true }, + { 15555, true }, + { 15581, true }, + { 15591, true }, + { 15605, true }, + { 15617, true }, + { 15631, true }, + { 15649, true }, + { 15667, false }, + { 15683, true }, + { 15693, true }, + { 15701, true }, + { 15712, true }, + { 15725, true }, + { 15741, true }, + { 15754, true }, + { 15776, true }, + { 15791, true }, + { 15802, true }, + { 15812, true }, + { 15834, true }, + { 15849, true }, + { 15868, true }, + { 15881, false }, + { 15896, true }, { 15916, true }, - { 15929, true }, - { 15949, true }, - { 15961, false }, - { 15975, true }, - { 15987, true }, - { 15997, true }, + { 15927, true }, + { 15939, true }, + { 15952, true }, + { 15972, true }, + { 15984, false }, + { 15998, true }, { 16010, true }, - { 16025, true }, - { 16043, true }, - { 16057, true }, - { 16070, true }, - { 16083, true }, - { 16095, true }, - { 16109, true }, - { 16129, true }, - { 16146, true }, - { 16159, true }, - { 16173, true }, - { 16186, true }, - { 16198, true }, - { 16216, true }, - { 16228, true }, + { 16020, true }, + { 16033, true }, + { 16048, true }, + { 16066, true }, + { 16080, true }, + { 16093, true }, + { 16106, true }, + { 16118, true }, + { 16132, true }, + { 16152, true }, + { 16169, true }, + { 16182, true }, + { 16196, true }, + { 16209, true }, + { 16221, true }, { 16239, true }, - { 16250, true }, - { 16263, true }, - { 16276, true }, - { 16291, true }, - { 16302, true }, - { 16313, true }, - { 16328, true }, - { 16342, true }, - { 16353, true }, - { 16363, true }, - { 16375, true }, - { 16396, true }, - { 16407, true }, - { 16416, true }, - { 16436, true }, - { 16455, true }, - { 16462, true }, - { 16476, true }, - { 16486, true }, + { 16251, true }, + { 16262, true }, + { 16273, true }, + { 16286, true }, + { 16299, true }, + { 16314, true }, + { 16325, true }, + { 16336, true }, + { 16351, true }, + { 16365, true }, + { 16376, true }, + { 16386, true }, + { 16398, true }, + { 16419, true }, + { 16430, true }, + { 16439, true }, + { 16459, true }, + { 16478, true }, + { 16485, true }, { 16499, true }, - { 16512, true }, - { 16524, true }, - { 16541, true }, - { 16552, true }, - { 16566, true }, - { 16576, true }, - { 16594, true }, - { 16604, true }, - { 16618, true }, - { 16635, true }, - { 16649, true }, - { 16659, true }, - { 16675, true }, - { 16686, true }, - { 16697, true }, - { 16721, true }, - { 16738, true }, - { 16755, true }, - { 16767, true }, - { 16783, true }, - { 16805, true }, - { 16812, true }, - { 16838, true }, - { 16853, true }, - { 16866, true }, - { 16884, true }, - { 16895, true }, - { 16905, true }, - { 16915, true }, - { 16925, true }, - { 16944, true }, - { 16964, true }, - { 16976, true }, - { 16994, true }, - { 17008, true }, - { 17018, true }, - { 17025, true }, - { 17035, true }, + { 16509, true }, + { 16522, true }, + { 16535, true }, + { 16547, true }, + { 16564, true }, + { 16575, true }, + { 16589, true }, + { 16599, true }, + { 16617, true }, + { 16627, true }, + { 16641, true }, + { 16658, true }, + { 16672, true }, + { 16682, true }, + { 16698, true }, + { 16709, true }, + { 16720, true }, + { 16744, true }, + { 16761, true }, + { 16778, true }, + { 16790, true }, + { 16806, true }, + { 16828, true }, + { 16835, true }, + { 16861, true }, + { 16876, true }, + { 16889, true }, + { 16907, true }, + { 16918, true }, + { 16928, true }, + { 16938, true }, + { 16948, true }, + { 16967, true }, + { 16987, true }, + { 16999, true }, + { 17017, true }, + { 17031, true }, { 17045, true }, - { 17060, true }, - { 17085, true }, - { 17107, true }, - { 17119, true }, - { 17137, false }, - { 17149, true }, - { 17162, true }, - { 17182, true }, - { 17210, true }, - { 17223, true }, - { 17233, true }, - { 17241, true }, - { 17253, false }, - { 17262, false }, - { 17282, true }, - { 17289, true }, - { 17305, true }, - { 17321, true }, - { 17336, true }, - { 17346, true }, - { 17364, true }, - { 17379, true }, - { 17406, true }, - { 17423, true }, - { 17441, true }, - { 17449, true }, - { 17463, true }, - { 17474, true }, - { 17483, true }, - { 17499, true }, - { 17526, true }, - { 17534, true }, - { 17544, true }, - { 17560, true }, - { 17572, true }, - { 17587, true }, - { 17599, true }, - { 17614, true }, - { 17629, true }, - { 17641, true }, - { 17664, true }, - { 17685, true }, - { 17705, true }, + { 17055, true }, + { 17062, true }, + { 17072, true }, + { 17082, true }, + { 17097, true }, + { 17122, true }, + { 17144, true }, + { 17156, true }, + { 17174, false }, + { 17186, true }, + { 17199, true }, + { 17219, true }, + { 17247, true }, + { 17260, true }, + { 17270, true }, + { 17278, true }, + { 17290, false }, + { 17299, false }, + { 17319, true }, + { 17326, true }, + { 17342, true }, + { 17358, true }, + { 17373, true }, + { 17383, true }, + { 17401, true }, + { 17416, true }, + { 17443, true }, + { 17460, true }, + { 17478, true }, + { 17486, true }, + { 17500, true }, + { 17511, true }, + { 17520, true }, + { 17536, true }, + { 17563, true }, + { 17571, true }, + { 17581, true }, + { 17597, true }, + { 17609, true }, + { 17624, true }, + { 17636, true }, + { 17651, true }, + { 17666, true }, + { 17678, true }, + { 17701, true }, { 17722, true }, - { 17731, true }, - { 17749, true }, - { 17763, true }, - { 17775, true }, - { 17789, true }, - { 17799, true }, - { 17813, true }, - { 17823, true }, - { 17838, true }, - { 17853, true }, - { 17864, true }, - { 17877, true }, + { 17742, true }, + { 17759, true }, + { 17768, true }, + { 17786, true }, + { 17800, true }, + { 17812, true }, + { 17826, true }, + { 17836, true }, + { 17850, true }, + { 17860, true }, + { 17875, true }, { 17890, true }, - { 17902, true }, - { 17910, true }, - { 17928, true }, - { 17949, true }, - { 17970, true }, - { 17991, true }, - { 18005, true }, - { 18021, true }, - { 18033, true }, - { 18045, true }, - { 18057, true }, - { 18069, true }, + { 17901, true }, + { 17914, true }, + { 17927, true }, + { 17939, true }, + { 17947, true }, + { 17965, true }, + { 17986, true }, + { 18007, true }, + { 18028, true }, + { 18042, true }, + { 18058, true }, + { 18070, true }, { 18082, true }, - { 18092, true }, - { 18101, true }, - { 18111, true }, - { 18126, true }, - { 18137, true }, - { 18152, true }, - { 18165, true }, - { 18184, true }, - { 18196, true }, - { 18212, true }, - { 18224, true }, - { 18240, true }, - { 18259, true }, - { 18278, true }, - { 18304, true }, - { 18316, true }, - { 18329, true }, - { 18340, true }, - { 18351, true }, - { 18369, true }, - { 18399, true }, - { 18422, true }, - { 18435, false }, - { 18443, true }, - { 18460, true }, - { 18470, true }, + { 18094, true }, + { 18106, true }, + { 18119, true }, + { 18129, true }, + { 18138, true }, + { 18148, true }, + { 18163, true }, + { 18174, true }, + { 18189, true }, + { 18202, true }, + { 18221, true }, + { 18233, true }, + { 18249, true }, + { 18261, true }, + { 18277, true }, + { 18296, true }, + { 18315, true }, + { 18341, true }, + { 18353, true }, + { 18366, true }, + { 18377, true }, + { 18388, true }, + { 18406, true }, + { 18436, true }, + { 18459, true }, + { 18472, false }, { 18480, true }, - { 18494, true }, - { 18510, true }, - { 18521, true }, - { 18538, true }, - { 18567, true }, - { 18583, true }, - { 18601, true }, - { 18622, true }, - { 18634, true }, - { 18645, true }, - { 18657, true }, - { 18669, true }, - { 18687, true }, - { 18705, true }, - { 18726, true }, - { 18751, true }, - { 18766, true }, - { 18784, true }, - { 18809, true }, - { 18822, true }, - { 18837, true }, - { 18854, true }, - { 18882, true }, - { 18905, true }, - { 18920, true }, - { 18933, true }, - { 18946, true }, - { 18959, true }, - { 18975, true }, - { 18988, true }, - { 19001, true }, - { 19014, true }, - { 19043, true }, - { 19054, true }, - { 19070, true }, - { 19080, true }, + { 18492, true }, + { 18509, true }, + { 18519, true }, + { 18529, true }, + { 18543, true }, + { 18559, true }, + { 18570, true }, + { 18587, true }, + { 18616, true }, + { 18632, true }, + { 18650, true }, + { 18671, true }, + { 18683, true }, + { 18694, true }, + { 18706, true }, + { 18718, true }, + { 18736, true }, + { 18754, true }, + { 18775, true }, + { 18800, true }, + { 18815, true }, + { 18833, true }, + { 18858, true }, + { 18871, true }, + { 18886, true }, + { 18903, true }, + { 18931, true }, + { 18954, true }, + { 18969, true }, + { 18982, true }, + { 18995, true }, + { 19008, true }, + { 19024, true }, + { 19037, true }, + { 19050, true }, + { 19063, true }, { 19092, true }, - { 19108, true }, - { 19125, true }, - { 19137, true }, - { 19145, true }, - { 19156, true }, - { 19167, true }, - { 19185, true }, - { 19197, true }, - { 19212, true }, - { 19221, true }, - { 19239, true }, - { 19248, true }, - { 19262, true }, - { 19284, true }, - { 19298, true }, - { 19309, true }, - { 19317, true }, - { 19327, true }, - { 19339, true }, + { 19103, true }, + { 19119, true }, + { 19129, true }, + { 19141, true }, + { 19157, true }, + { 19174, true }, + { 19186, true }, + { 19194, true }, + { 19205, true }, + { 19216, true }, + { 19234, true }, + { 19246, true }, + { 19261, true }, + { 19270, true }, + { 19288, true }, + { 19297, true }, + { 19311, true }, + { 19333, true }, { 19347, true }, - { 19357, true }, - { 19369, true }, - { 19384, true }, - { 19392, true }, - { 19402, true }, + { 19358, true }, + { 19366, true }, + { 19376, true }, + { 19388, true }, + { 19396, true }, + { 19406, true }, { 19418, true }, - { 19428, true }, - { 19452, true }, - { 19459, true }, - { 19476, true }, - { 19484, true }, - { 19495, true }, - { 19502, true }, - { 19514, true }, + { 19433, true }, + { 19441, true }, + { 19451, true }, + { 19467, true }, + { 19477, true }, + { 19501, true }, + { 19508, true }, { 19525, true }, - { 19536, true }, - { 19548, true }, - { 19560, false }, - { 19569, true }, + { 19533, true }, + { 19544, true }, + { 19551, true }, + { 19563, true }, + { 19574, true }, { 19585, true }, - { 19598, true }, - { 19607, true }, - { 19628, true }, - { 19637, true }, - { 19652, true }, - { 19662, true }, - { 19674, true }, - { 19692, false }, - { 19708, true }, - { 19720, true }, - { 19731, true }, - { 19741, true }, - { 19751, true }, - { 19761, true }, - { 19774, true }, - { 19787, true }, - { 19801, true }, - { 19811, true }, - { 19819, true }, - { 19829, true }, - { 19841, true }, - { 19853, true }, - { 19869, true }, - { 19885, true }, - { 19896, false }, - { 19906, true }, - { 19923, true }, - { 19932, true }, - { 19946, true }, - { 19976, true }, - { 19991, false }, - { 20000, true }, - { 20014, true }, - { 20028, true }, - { 20049, true }, - { 20060, true }, - { 20072, false }, - { 20085, true }, - { 20109, true }, - { 20122, true }, - { 20134, true }, - { 20157, true }, - { 20168, true }, - { 20179, true }, - { 20203, true }, - { 20235, true }, - { 20255, true }, - { 20273, true }, - { 20291, true }, - { 20306, true }, - { 20321, true }, - { 20342, true }, - { 20366, true }, - { 20376, true }, - { 20386, true }, - { 20396, true }, - { 20407, true }, - { 20432, true }, - { 20461, true }, - { 20474, true }, - { 20484, true }, - { 20501, false }, - { 20509, false }, - { 20518, true }, - { 20532, false }, - { 20549, true }, - { 20561, true }, - { 20576, true }, - { 20591, true }, - { 20598, true }, - { 20611, true }, - { 20623, true }, - { 20647, true }, - { 20661, true }, - { 20669, true }, - { 20693, true }, + { 19597, true }, + { 19609, false }, + { 19618, true }, + { 19634, true }, + { 19647, true }, + { 19656, true }, + { 19677, true }, + { 19686, true }, + { 19701, true }, + { 19711, true }, + { 19723, true }, + { 19741, false }, + { 19757, true }, + { 19769, true }, + { 19780, true }, + { 19790, true }, + { 19800, true }, + { 19810, true }, + { 19823, true }, + { 19836, true }, + { 19850, true }, + { 19860, true }, + { 19868, true }, + { 19878, true }, + { 19890, true }, + { 19902, true }, + { 19918, true }, + { 19934, true }, + { 19945, false }, + { 19955, true }, + { 19972, true }, + { 19984, true }, + { 19993, true }, + { 20007, true }, + { 20037, true }, + { 20052, false }, + { 20061, true }, + { 20075, true }, + { 20089, true }, + { 20110, true }, + { 20121, true }, + { 20133, false }, + { 20146, true }, + { 20170, true }, + { 20183, true }, + { 20195, true }, + { 20218, true }, + { 20229, true }, + { 20240, true }, + { 20264, true }, + { 20296, true }, + { 20316, true }, + { 20334, true }, + { 20352, true }, + { 20367, true }, + { 20382, true }, + { 20403, true }, + { 20427, true }, + { 20437, true }, + { 20447, true }, + { 20457, true }, + { 20468, true }, + { 20493, true }, + { 20522, true }, + { 20535, true }, + { 20545, true }, + { 20562, false }, + { 20570, false }, + { 20579, true }, + { 20593, false }, + { 20610, true }, + { 20622, true }, + { 20637, true }, + { 20652, true }, + { 20659, true }, + { 20672, true }, + { 20684, true }, { 20708, true }, - { 20717, true }, + { 20722, true }, { 20730, true }, - { 20742, true }, - { 20753, true }, - { 20772, true }, - { 20782, true }, - { 20792, true }, - { 20809, true }, - { 20822, true }, - { 20838, true }, - { 20848, true }, - { 20861, true }, - { 20875, true }, - { 20889, true }, - { 20901, true }, - { 20921, true }, + { 20754, true }, + { 20769, true }, + { 20778, true }, + { 20791, true }, + { 20803, true }, + { 20814, true }, + { 20833, true }, + { 20843, true }, + { 20853, true }, + { 20870, true }, + { 20883, true }, + { 20899, true }, + { 20909, true }, + { 20922, true }, { 20936, true }, - { 20952, true }, - { 20966, true }, - { 20981, true }, - { 20993, true }, - { 21005, true }, - { 21017, true }, - { 21028, true }, - { 21039, true }, - { 21050, true }, - { 21073, true }, - { 21088, true }, - { 21103, false }, - { 21118, false }, + { 20950, true }, + { 20962, true }, + { 20982, true }, + { 20997, true }, + { 21013, true }, + { 21027, true }, + { 21042, true }, + { 21054, true }, + { 21066, true }, + { 21078, true }, + { 21089, true }, + { 21100, true }, + { 21111, true }, { 21134, true }, - { 21156, true }, - { 21174, true }, - { 21191, true }, - { 21209, true }, - { 21220, true }, - { 21233, true }, - { 21250, true }, - { 21277, true }, - { 21293, true }, - { 21313, true }, - { 21328, true }, - { 21343, true }, + { 21149, true }, + { 21164, false }, + { 21179, false }, + { 21195, true }, + { 21217, true }, + { 21235, true }, + { 21252, true }, + { 21270, true }, + { 21281, true }, + { 21294, true }, + { 21311, true }, + { 21338, true }, { 21354, true }, - { 21377, true }, + { 21374, true }, { 21389, true }, - { 21402, true }, + { 21404, true }, { 21415, true }, - { 21429, true }, - { 21442, true }, - { 21460, true }, - { 21478, true }, - { 21496, true }, - { 21513, true }, - { 21523, true }, - { 21536, true }, - { 21552, true }, - { 21561, true }, - { 21572, false }, - { 21582, true }, - { 21593, true }, - { 21607, true }, - { 21620, true }, - { 21630, true }, + { 21438, true }, + { 21450, true }, + { 21463, true }, + { 21476, true }, + { 21490, true }, + { 21503, true }, + { 21521, true }, + { 21539, true }, + { 21557, true }, + { 21574, true }, + { 21584, true }, + { 21597, true }, + { 21613, true }, + { 21622, true }, + { 21633, false }, { 21643, true }, - { 21657, true }, + { 21654, true }, { 21668, true }, - { 21678, true }, - { 21698, true }, - { 21711, true }, - { 21732, true }, - { 21749, true }, - { 21769, true }, - { 21788, true }, - { 21803, true }, - { 21816, true }, - { 21836, true }, - { 21854, true }, - { 21865, true }, - { 21878, true }, - { 21893, true }, - { 21903, true }, - { 21916, true }, - { 21927, true }, - { 21938, true }, - { 21952, true }, - { 21968, true }, - { 21994, true }, - { 22010, true }, - { 22020, true }, - { 22042, true }, - { 22053, true }, - { 22064, true }, - { 22080, true }, - { 22095, true }, - { 22107, true }, - { 22134, true }, - { 22146, false }, - { 22158, true }, - { 22167, true }, - { 22176, true }, - { 22185, true }, - { 22204, true }, + { 21681, true }, + { 21691, true }, + { 21704, true }, + { 21718, true }, + { 21729, true }, + { 21739, true }, + { 21759, true }, + { 21772, true }, + { 21793, true }, + { 21810, true }, + { 21830, true }, + { 21849, true }, + { 21864, true }, + { 21877, true }, + { 21897, true }, + { 21915, true }, + { 21926, true }, + { 21939, true }, + { 21954, true }, + { 21964, true }, + { 21977, true }, + { 21988, true }, + { 21999, true }, + { 22013, true }, + { 22029, true }, + { 22055, true }, + { 22071, true }, + { 22081, true }, + { 22103, true }, + { 22114, true }, + { 22125, true }, + { 22141, true }, + { 22156, true }, + { 22168, true }, + { 22195, true }, + { 22207, false }, { 22219, true }, { 22228, true }, { 22237, true }, - { 22247, true }, + { 22246, true }, { 22265, true }, - { 22276, true }, - { 22288, true }, - { 22299, true }, - { 22307, true }, - { 22325, true }, - { 22344, true }, - { 22357, true }, - { 22370, true }, - { 22380, true }, - { 22394, true }, - { 22404, true }, - { 22414, true }, - { 22421, true }, - { 22434, true }, - { 22444, false }, + { 22280, true }, + { 22289, true }, + { 22298, true }, + { 22308, true }, + { 22326, true }, + { 22337, true }, + { 22349, true }, + { 22360, true }, + { 22368, true }, + { 22386, true }, + { 22405, true }, + { 22418, true }, + { 22431, true }, + { 22441, true }, { 22455, true }, - { 22473, true }, - { 22480, true }, - { 22492, true }, - { 22513, true }, - { 22529, true }, - { 22538, true }, - { 22551, true }, - { 22564, true }, - { 22581, true }, - { 22593, true }, - { 22606, false }, - { 22620, true }, - { 22633, true }, - { 22644, true }, - { 22655, true }, - { 22667, true }, + { 22465, true }, + { 22475, true }, + { 22482, true }, + { 22495, true }, + { 22505, false }, + { 22516, true }, + { 22534, true }, + { 22541, true }, + { 22553, true }, + { 22574, true }, + { 22590, true }, + { 22599, true }, + { 22612, true }, + { 22625, true }, + { 22642, true }, + { 22654, true }, + { 22667, false }, { 22681, true }, - { 22699, true }, - { 22715, true }, - { 22727, true }, - { 22740, true }, - { 22751, true }, + { 22694, true }, + { 22705, true }, + { 22716, true }, + { 22728, true }, + { 22742, true }, { 22760, true }, - { 22778, true }, - { 22795, true }, - { 22816, true }, - { 22827, true }, - { 22838, true }, - { 22863, true }, + { 22776, true }, + { 22788, true }, + { 22801, true }, + { 22812, true }, + { 22821, true }, + { 22839, true }, + { 22856, true }, { 22877, true }, - { 22890, true }, - { 22904, true }, - { 22917, true }, - { 22931, true }, - { 22946, true }, - { 22958, true }, - { 22974, true }, - { 22984, false }, - { 22995, true }, - { 23010, true }, - { 23028, true }, - { 23041, true }, - { 23054, true }, - { 23070, true }, - { 23084, true }, - { 23098, true }, - { 23120, true }, - { 23132, true }, + { 22888, true }, + { 22899, true }, + { 22924, true }, + { 22938, true }, + { 22951, true }, + { 22965, true }, + { 22978, true }, + { 22992, true }, + { 23007, true }, + { 23019, true }, + { 23035, true }, + { 23045, false }, + { 23056, true }, + { 23071, true }, + { 23089, true }, + { 23102, true }, + { 23115, true }, + { 23131, true }, { 23145, true }, - { 23160, true }, - { 23172, true }, - { 23188, true }, - { 23201, true }, - { 23226, true }, - { 23238, true }, - { 23266, true }, - { 23281, true }, - { 23297, true }, - { 23308, true }, - { 23319, true }, - { 23329, true }, + { 23159, true }, + { 23181, true }, + { 23193, true }, + { 23206, true }, + { 23221, true }, + { 23233, true }, + { 23249, true }, + { 23262, true }, + { 23287, true }, + { 23299, true }, + { 23327, true }, { 23342, true }, - { 23352, true }, - { 23363, true }, - { 23374, true }, - { 23385, true }, - { 23396, true }, - { 23407, true }, - { 23418, true }, - { 23429, false }, - { 23443, true }, - { 23455, true }, - { 23464, true }, - { 23476, true }, + { 23358, true }, + { 23369, true }, + { 23380, true }, + { 23390, true }, + { 23403, true }, + { 23413, true }, + { 23424, true }, + { 23435, true }, + { 23446, true }, + { 23457, true }, + { 23468, true }, + { 23479, true }, { 23490, false }, - { 23509, true }, + { 23504, true }, + { 23516, true }, { 23525, true }, - { 23552, true }, - { 23573, true }, - { 23589, true }, - { 23600, true }, - { 23610, true }, - { 23628, true }, - { 23643, true }, - { 23654, false }, - { 23669, true }, - { 23679, true }, - { 23692, true }, - { 23703, true }, - { 23717, true }, - { 23739, true }, - { 23752, true }, - { 23767, true }, - { 23782, true }, - { 23801, true }, - { 23822, true }, - { 23832, true }, - { 23846, true }, - { 23859, true }, - { 23874, true }, - { 23895, true }, - { 23916, true }, - { 23934, true }, - { 23946, true }, - { 23964, true }, - { 23985, true }, - { 24005, true }, - { 24023, true }, - { 24037, true }, - { 24056, false }, - { 24070, true }, - { 24080, true }, - { 24091, true }, - { 24101, true }, - { 24116, true }, + { 23537, true }, + { 23551, false }, + { 23570, true }, + { 23586, true }, + { 23613, true }, + { 23634, true }, + { 23650, true }, + { 23661, true }, + { 23671, true }, + { 23689, true }, + { 23704, true }, + { 23715, false }, + { 23730, true }, + { 23740, true }, + { 23753, true }, + { 23764, true }, + { 23778, true }, + { 23800, true }, + { 23813, true }, + { 23828, true }, + { 23843, true }, + { 23862, true }, + { 23883, true }, + { 23893, true }, + { 23907, true }, + { 23920, true }, + { 23935, true }, + { 23956, true }, + { 23977, true }, + { 23995, true }, + { 24007, true }, + { 24025, true }, + { 24046, true }, + { 24066, true }, + { 24084, true }, + { 24098, true }, + { 24117, false }, { 24131, true }, - { 24145, true }, - { 24158, true }, - { 24171, true }, - { 24188, true }, - { 24205, true }, - { 24215, true }, - { 24228, true }, - { 24245, true }, - { 24254, true }, - { 24268, true }, - { 24288, true }, + { 24141, true }, + { 24152, true }, + { 24162, true }, + { 24177, true }, + { 24192, true }, + { 24206, true }, + { 24219, true }, + { 24232, true }, + { 24249, true }, + { 24266, true }, + { 24276, true }, + { 24289, true }, { 24306, true }, - { 24326, true }, - { 24340, true }, - { 24356, false }, - { 24369, true }, - { 24378, true }, - { 24388, true }, - { 24417, true }, - { 24425, true }, - { 24434, true }, - { 24443, true }, - { 24460, true }, - { 24473, true }, - { 24483, true }, - { 24501, true }, - { 24520, true }, - { 24544, true }, - { 24564, true }, + { 24315, true }, + { 24329, true }, + { 24349, true }, + { 24367, true }, + { 24387, true }, + { 24401, true }, + { 24417, false }, + { 24430, true }, + { 24439, true }, + { 24449, true }, + { 24478, true }, + { 24506, true }, + { 24523, true }, + { 24531, true }, + { 24540, true }, + { 24549, true }, + { 24566, true }, { 24579, true }, - { 24594, true }, - { 24627, true }, - { 24645, true }, - { 24673, true }, - { 24689, true }, - { 24707, true }, - { 24729, true }, - { 24746, true }, - { 24772, true }, - { 24790, true }, - { 24812, true }, - { 24826, true }, - { 24846, true }, - { 24859, true }, - { 24872, true }, - { 24884, true }, + { 24589, true }, + { 24607, true }, + { 24626, true }, + { 24650, true }, + { 24670, true }, + { 24685, true }, + { 24700, true }, + { 24733, true }, + { 24751, true }, + { 24779, true }, + { 24795, true }, + { 24813, true }, + { 24835, true }, + { 24852, true }, + { 24878, true }, { 24896, true }, - { 24912, true }, - { 24926, true }, - { 24944, true }, - { 24959, true }, - { 24971, true }, - { 24979, true }, - { 24998, true }, - { 25016, true }, - { 25038, true }, - { 25055, true }, - { 25070, true }, - { 25088, true }, - { 25102, true }, - { 25118, true }, - { 25137, true }, - { 25158, true }, - { 25175, true }, - { 25189, true }, - { 25203, true }, + { 24918, true }, + { 24932, true }, + { 24952, true }, + { 24965, true }, + { 24978, true }, + { 24990, true }, + { 25002, true }, + { 25018, true }, + { 25032, true }, + { 25050, true }, + { 25065, true }, + { 25077, true }, + { 25085, true }, + { 25104, true }, + { 25122, true }, + { 25144, true }, + { 25161, true }, + { 25176, true }, + { 25194, true }, + { 25208, true }, { 25224, true }, - { 25237, true }, - { 25253, true }, - { 25266, true }, - { 25285, true }, - { 25302, true }, - { 25320, true }, - { 25338, true }, - { 25347, true }, - { 25363, true }, - { 25370, true }, - { 25389, true }, - { 25407, true }, - { 25423, true }, - { 25437, true }, - { 25449, true }, - { 25460, true }, - { 25474, true }, - { 25484, true }, - { 25494, false }, - { 25503, true }, - { 25517, true }, - { 25531, true }, + { 25243, true }, + { 25264, true }, + { 25281, true }, + { 25295, true }, + { 25309, true }, + { 25330, true }, + { 25343, true }, + { 25359, true }, + { 25372, true }, + { 25391, true }, + { 25408, true }, + { 25426, true }, + { 25444, true }, + { 25453, true }, + { 25469, true }, + { 25476, true }, + { 25495, true }, + { 25513, true }, + { 25529, true }, { 25543, true }, - { 25558, true }, + { 25555, true }, { 25566, true }, - { 25578, true }, - { 25593, true }, - { 25607, true }, - { 25620, true }, - { 25631, true }, - { 25639, true }, - { 25662, true }, - { 25674, true }, - { 25689, true }, - { 25705, true }, - { 25714, true }, - { 25729, true }, - { 25742, true }, - { 25757, true }, - { 25770, true }, - { 25781, true }, - { 25791, true }, - { 25803, true }, - { 25823, true }, - { 25836, true }, - { 25855, true }, - { 25865, true }, - { 25873, true }, - { 25883, true }, - { 25904, true }, - { 25916, true }, - { 25931, true }, - { 25946, true }, + { 25580, true }, + { 25590, true }, + { 25600, false }, + { 25609, true }, + { 25623, true }, + { 25637, true }, + { 25649, true }, + { 25664, true }, + { 25672, true }, + { 25684, true }, + { 25699, true }, + { 25713, true }, + { 25726, true }, + { 25737, true }, + { 25745, true }, + { 25768, true }, + { 25780, true }, + { 25795, true }, + { 25811, true }, + { 25820, true }, + { 25835, true }, + { 25848, true }, + { 25863, true }, + { 25876, true }, + { 25887, true }, + { 25897, true }, + { 25909, true }, + { 25929, true }, + { 25942, true }, { 25961, true }, - { 25976, true }, - { 25986, true }, - { 25998, true }, - { 26013, true }, - { 26029, true }, - { 26048, true }, - { 26064, true }, - { 26085, true }, - { 26094, true }, - { 26105, true }, - { 26134, true }, - { 26147, true }, - { 26157, true }, - { 26177, true }, - { 26192, true }, - { 26203, true }, - { 26216, true }, - { 26231, true }, - { 26250, true }, - { 26265, true }, - { 26280, true }, - { 26290, true }, - { 26300, true }, + { 25971, true }, + { 25979, true }, + { 25989, true }, + { 26010, true }, + { 26022, true }, + { 26037, true }, + { 26052, true }, + { 26067, true }, + { 26082, true }, + { 26092, true }, + { 26104, true }, + { 26119, true }, + { 26135, true }, + { 26154, true }, + { 26170, true }, + { 26191, true }, + { 26200, true }, + { 26211, true }, + { 26240, true }, + { 26253, true }, + { 26263, true }, + { 26283, true }, + { 26298, true }, + { 26309, true }, { 26322, true }, { 26337, true }, - { 26350, true }, - { 26377, true }, - { 26391, false }, - { 26403, true }, - { 26418, true }, - { 26432, true }, - { 26442, true }, - { 26463, true }, + { 26356, true }, + { 26371, true }, + { 26386, true }, + { 26396, true }, + { 26406, true }, + { 26421, true }, + { 26443, true }, + { 26458, true }, { 26471, true }, - { 26488, true }, - { 26510, true }, - { 26528, false }, - { 26547, true }, - { 26561, true }, - { 26573, true }, - { 26590, true }, - { 26605, true }, - { 26616, true }, - { 26626, true }, - { 26642, true }, - { 26660, true }, - { 26672, true }, - { 26684, true }, - { 26714, false }, - { 26727, true }, - { 26744, true }, - { 26762, true }, - { 26775, true }, - { 26787, true }, - { 26810, true }, - { 26829, true }, - { 26842, true }, - { 26854, false }, + { 26498, true }, + { 26512, false }, + { 26524, true }, + { 26539, true }, + { 26553, true }, + { 26563, true }, + { 26584, true }, + { 26592, true }, + { 26609, true }, + { 26631, true }, + { 26649, false }, + { 26668, true }, + { 26682, true }, + { 26694, true }, + { 26711, true }, + { 26726, true }, + { 26737, true }, + { 26747, true }, + { 26763, true }, + { 26781, true }, + { 26793, true }, + { 26805, true }, + { 26835, false }, + { 26848, true }, { 26865, true }, { 26883, true }, - { 26907, true }, - { 26927, true }, - { 26948, true }, - { 26959, true }, - { 26971, true }, - { 26988, true }, - { 27006, true }, - { 27019, true }, - { 27029, false }, - { 27043, true }, - { 27060, true }, - { 27071, true }, + { 26896, true }, + { 26908, true }, + { 26931, true }, + { 26950, true }, + { 26963, true }, + { 26975, false }, + { 26986, true }, + { 27004, true }, + { 27028, true }, + { 27048, true }, + { 27069, true }, { 27080, true }, { 27092, true }, - { 27102, true }, - { 27116, true }, - { 27129, true }, - { 27143, true }, - { 27161, true }, - { 27180, true }, - { 27198, true }, - { 27216, true }, - { 27229, true }, - { 27240, true }, - { 27254, true }, - { 27266, true }, - { 27277, true }, - { 27288, true }, + { 27109, true }, + { 27127, true }, + { 27140, true }, + { 27150, false }, + { 27164, true }, + { 27181, true }, + { 27192, true }, + { 27201, true }, + { 27213, true }, + { 27223, true }, + { 27237, true }, + { 27250, true }, + { 27264, true }, + { 27282, true }, { 27301, true }, - { 27313, true }, - { 27324, true }, - { 27343, true }, - { 27359, true }, - { 27373, true }, - { 27390, true }, - { 27405, true }, - { 27430, true }, - { 27442, true }, - { 27451, true }, - { 27466, true }, + { 27319, true }, + { 27337, true }, + { 27350, true }, + { 27361, true }, + { 27375, true }, + { 27387, true }, + { 27398, true }, + { 27409, true }, + { 27422, true }, + { 27434, true }, + { 27445, true }, + { 27464, true }, { 27480, true }, - { 27493, true }, - { 27505, true }, - { 27515, true }, - { 27527, true }, - { 27547, true }, - { 27561, true }, + { 27494, true }, + { 27511, true }, + { 27526, true }, + { 27551, true }, + { 27563, true }, { 27572, true }, - { 27586, true }, - { 27597, true }, - { 27608, true }, - { 27618, true }, - { 27632, true }, - { 27642, true }, - { 27655, true }, - { 27670, true }, - { 27683, true }, - { 27697, true }, - { 27709, true }, - { 27723, true }, - { 27735, true }, - { 27748, true }, - { 27773, false }, - { 27785, true }, - { 27802, true }, - { 27813, true }, - { 27824, true }, - { 27835, true }, - { 27854, true }, - { 27870, true }, - { 27880, true }, - { 27894, true }, - { 27905, true }, - { 27917, true }, - { 27932, true }, - { 27949, true }, - { 27957, true }, - { 27975, false }, - { 27983, true }, - { 27996, true }, - { 28008, true }, - { 28020, true }, - { 28034, true }, - { 28047, true }, - { 28060, true }, - { 28076, true }, - { 28090, true }, - { 28107, true }, - { 28124, true }, - { 28137, true }, - { 28150, true }, - { 28163, true }, - { 28176, true }, - { 28189, true }, - { 28202, true }, - { 28215, true }, + { 27587, true }, + { 27601, true }, + { 27614, true }, + { 27626, true }, + { 27636, true }, + { 27648, true }, + { 27668, true }, + { 27682, true }, + { 27693, true }, + { 27707, true }, + { 27718, true }, + { 27729, true }, + { 27739, true }, + { 27753, true }, + { 27763, true }, + { 27776, true }, + { 27791, true }, + { 27804, true }, + { 27818, true }, + { 27830, true }, + { 27844, true }, + { 27856, true }, + { 27869, true }, + { 27894, false }, + { 27906, true }, + { 27923, true }, + { 27934, true }, + { 27945, true }, + { 27956, true }, + { 27975, true }, + { 27991, true }, + { 28001, true }, + { 28015, true }, + { 28026, true }, + { 28038, true }, + { 28053, true }, + { 28070, true }, + { 28078, true }, + { 28096, false }, + { 28104, true }, + { 28117, true }, + { 28129, true }, + { 28141, true }, + { 28155, true }, + { 28168, true }, + { 28181, true }, + { 28197, true }, + { 28211, true }, { 28228, true }, - { 28241, true }, - { 28254, true }, - { 28267, true }, - { 28280, true }, - { 28293, true }, - { 28306, true }, + { 28245, true }, + { 28258, true }, + { 28271, true }, + { 28284, true }, + { 28297, true }, + { 28310, true }, { 28323, true }, - { 28342, true }, - { 28357, true }, - { 28374, true }, - { 28387, true }, - { 28398, true }, - { 28410, true }, - { 28432, true }, + { 28336, true }, + { 28349, true }, + { 28362, true }, + { 28375, true }, + { 28388, true }, + { 28401, true }, + { 28414, true }, + { 28427, true }, { 28444, true }, - { 28467, true }, - { 28491, true }, - { 28509, true }, - { 28522, true }, - { 28541, true }, - { 28557, true }, - { 28578, true }, - { 28589, true }, - { 28608, true }, - { 28624, true }, - { 28637, true }, - { 28652, true }, - { 28670, true }, - { 28686, true }, - { 28702, true }, - { 28712, true }, - { 28726, true }, - { 28741, true }, - { 28760, true }, - { 28772, true }, - { 28789, true }, - { 28800, true }, - { 28816, true }, - { 28828, true }, - { 28838, true }, - { 28854, true }, - { 28864, true }, - { 28885, true }, - { 28899, true }, - { 28915, true }, + { 28463, true }, + { 28478, true }, + { 28495, true }, + { 28508, true }, + { 28519, true }, + { 28531, true }, + { 28553, true }, + { 28565, true }, + { 28588, true }, + { 28612, true }, + { 28630, true }, + { 28643, true }, + { 28662, true }, + { 28678, true }, + { 28699, true }, + { 28710, true }, + { 28729, true }, + { 28745, true }, + { 28758, true }, + { 28773, true }, + { 28791, true }, + { 28807, true }, + { 28823, true }, + { 28833, true }, + { 28847, true }, + { 28862, true }, + { 28881, true }, + { 28893, true }, + { 28910, true }, + { 28921, true }, { 28937, true }, { 28949, true }, - { 28960, true }, + { 28959, true }, { 28975, true }, - { 28990, true }, - { 29009, true }, - { 29022, true }, + { 28985, true }, + { 29006, true }, + { 29020, true }, { 29036, true }, { 29058, true }, - { 29077, true }, - { 29097, true }, + { 29070, true }, + { 29081, true }, + { 29096, true }, { 29111, true }, - { 29119, true }, - { 29132, true }, - { 29146, true }, + { 29130, true }, + { 29143, true }, { 29157, true }, - { 29170, true }, - { 29185, true }, - { 29201, true }, - { 29216, true }, - { 29228, true }, - { 29242, true }, - { 29254, true }, - { 29266, true }, - { 29283, false }, - { 29299, false }, - { 29316, false }, - { 29336, true }, - { 29348, true }, - { 29361, true }, - { 29378, true }, - { 29394, true }, - { 29419, true }, - { 29432, true }, - { 29445, true }, - { 29458, true }, - { 29472, true }, - { 29483, true }, - { 29492, true }, - { 29501, true }, - { 29510, true }, - { 29526, true }, + { 29179, true }, + { 29198, true }, + { 29218, true }, + { 29232, true }, + { 29240, true }, + { 29253, true }, + { 29267, true }, + { 29278, true }, + { 29291, true }, + { 29306, true }, + { 29322, true }, + { 29337, true }, + { 29349, true }, + { 29363, true }, + { 29375, true }, + { 29387, true }, + { 29404, false }, + { 29420, false }, + { 29437, false }, + { 29457, true }, + { 29469, true }, + { 29482, true }, + { 29499, true }, + { 29515, true }, { 29540, true }, - { 29556, true }, - { 29567, true }, - { 29580, true }, - { 29595, true }, - { 29609, true }, - { 29621, true }, - { 29633, true }, - { 29657, true }, - { 29670, true }, - { 29684, true }, - { 29697, true }, - { 29718, true }, - { 29738, true }, - { 29752, true }, - { 29767, true }, - { 29776, true }, - { 29787, true }, - { 29797, true }, - { 29807, true }, - { 29824, true }, - { 29842, true }, - { 29867, true }, - { 29889, true }, - { 29902, true }, - { 29915, true }, - { 29926, true }, - { 29934, true }, - { 29953, true }, + { 29553, true }, + { 29566, true }, + { 29579, true }, + { 29593, true }, + { 29604, true }, + { 29613, true }, + { 29622, true }, + { 29631, true }, + { 29647, true }, + { 29661, true }, + { 29677, true }, + { 29688, true }, + { 29701, true }, + { 29716, true }, + { 29730, true }, + { 29742, true }, + { 29754, true }, + { 29778, true }, + { 29791, true }, + { 29805, true }, + { 29818, true }, + { 29839, true }, + { 29859, true }, + { 29873, true }, + { 29888, true }, + { 29897, true }, + { 29908, true }, + { 29918, true }, + { 29928, true }, + { 29945, true }, { 29963, true }, - { 29976, true }, - { 29993, true }, - { 30006, true }, - { 30020, true }, - { 30033, true }, - { 30051, true }, - { 30061, true }, - { 30078, true }, - { 30094, false }, - { 30105, true }, + { 29988, true }, + { 30010, true }, + { 30023, true }, + { 30036, true }, + { 30047, true }, + { 30055, true }, + { 30074, true }, + { 30087, true }, + { 30104, true }, { 30117, true }, - { 30129, true }, - { 30139, true }, - { 30150, true }, - { 30164, true }, - { 30188, true }, - { 30203, true }, - { 30221, true }, - { 30236, true }, - { 30258, true }, - { 30268, true }, - { 30284, true }, - { 30295, true }, - { 30308, true }, - { 30328, true }, - { 30339, true }, - { 30358, true }, - { 30370, true }, - { 30378, true }, - { 30395, true }, + { 30131, true }, + { 30144, true }, + { 30162, true }, + { 30172, true }, + { 30189, true }, + { 30205, false }, + { 30216, true }, + { 30228, true }, + { 30238, true }, + { 30249, true }, + { 30263, true }, + { 30287, true }, + { 30302, true }, + { 30320, true }, + { 30335, true }, + { 30357, true }, + { 30367, true }, + { 30383, true }, + { 30394, true }, { 30407, true }, - { 30426, true }, - { 30440, false }, - { 30450, true }, - { 30478, true }, - { 30493, true }, - { 30508, true }, - { 30523, true }, - { 30538, true }, - { 30550, false }, - { 30559, true }, - { 30573, true }, - { 30585, true }, - { 30597, true }, - { 30605, true }, - { 30620, true }, - { 30634, true }, - { 30648, true }, - { 30660, true }, - { 30669, true }, - { 30681, true }, - { 30695, true }, - { 30713, true }, - { 30729, true }, - { 30741, true }, - { 30758, true }, - { 30776, true }, - { 30788, true }, - { 30802, true }, - { 30822, true }, - { 30834, true }, - { 30848, true }, - { 30856, true }, - { 30873, true }, - { 30882, true }, + { 30427, true }, + { 30438, true }, + { 30457, true }, + { 30469, true }, + { 30477, true }, + { 30494, true }, + { 30506, true }, + { 30525, true }, + { 30539, false }, + { 30549, true }, + { 30577, true }, + { 30592, true }, + { 30607, true }, + { 30622, true }, + { 30637, true }, + { 30649, false }, + { 30658, true }, + { 30672, true }, + { 30684, true }, + { 30696, true }, + { 30704, true }, + { 30719, true }, + { 30733, true }, + { 30747, true }, + { 30759, true }, + { 30768, true }, + { 30780, true }, + { 30794, true }, + { 30812, true }, + { 30828, true }, + { 30840, true }, + { 30857, true }, + { 30875, true }, + { 30887, true }, { 30901, true }, - { 30927, true }, - { 30937, true }, - { 30949, true }, - { 30971, false }, - { 30985, true }, - { 31001, true }, - { 31018, true }, - { 31030, true }, - { 31048, false }, + { 30921, true }, + { 30933, true }, + { 30947, true }, + { 30955, true }, + { 30972, true }, + { 30981, true }, + { 31000, true }, + { 31026, true }, + { 31036, true }, + { 31048, true }, { 31070, false }, - { 31095, false }, - { 31119, true }, + { 31084, true }, + { 31100, true }, + { 31117, true }, { 31129, true }, - { 31142, true }, - { 31152, true }, - { 31162, true }, - { 31172, true }, - { 31182, true }, - { 31192, true }, - { 31202, true }, - { 31212, true }, - { 31226, true }, - { 31244, true }, - { 31258, true }, - { 31276, true }, - { 31288, true }, - { 31300, true }, + { 31147, false }, + { 31169, false }, + { 31194, false }, + { 31218, true }, + { 31228, true }, + { 31241, true }, + { 31251, true }, + { 31261, true }, + { 31271, true }, + { 31281, true }, + { 31291, true }, + { 31301, true }, { 31311, true }, { 31325, true }, - { 31340, true }, - { 31354, true }, - { 31361, false }, - { 31381, true }, - { 31392, true }, - { 31413, true }, - { 31432, true }, - { 31447, true }, - { 31459, true }, - { 31484, true }, - { 31501, true }, - { 31516, true }, - { 31527, true }, - { 31541, true }, - { 31553, true }, - { 31566, false }, - { 31579, true }, - { 31596, true }, - { 31612, true }, - { 31625, true }, - { 31637, true }, - { 31653, true }, - { 31668, true }, + { 31343, true }, + { 31357, true }, + { 31375, true }, + { 31387, true }, + { 31399, true }, + { 31410, true }, + { 31424, true }, + { 31439, true }, + { 31453, true }, + { 31460, false }, + { 31480, true }, + { 31491, true }, + { 31512, true }, + { 31531, true }, + { 31546, true }, + { 31558, true }, + { 31583, true }, + { 31600, true }, + { 31615, true }, + { 31626, true }, + { 31640, true }, + { 31652, true }, + { 31665, false }, { 31678, true }, - { 31703, true }, - { 31717, true }, - { 31733, true }, + { 31695, true }, + { 31711, true }, + { 31724, true }, + { 31736, true }, { 31752, true }, - { 31766, true }, - { 31783, true }, + { 31767, true }, + { 31777, true }, { 31802, true }, - { 31812, true }, + { 31816, true }, { 31832, true }, - { 31844, true }, - { 31860, true }, - { 31888, false }, - { 31900, true }, - { 31913, true }, - { 31927, true }, - { 31944, true }, - { 31961, true }, - { 31970, true }, - { 31980, true }, - { 31997, true }, - { 32006, true }, - { 32013, true }, - { 32023, true }, - { 32038, true }, - { 32049, true }, - { 32066, true }, - { 32080, true }, - { 32090, true }, - { 32100, true }, - { 32120, true }, - { 32140, true }, - { 32151, true }, - { 32166, true }, - { 32185, true }, - { 32203, true }, - { 32218, true }, - { 32231, true }, - { 32246, true }, - { 32262, true }, - { 32288, true }, - { 32305, true }, - { 32322, true }, - { 32335, true }, - { 32343, true }, - { 32366, true }, - { 32380, true }, - { 32390, true }, - { 32415, true }, - { 32432, false }, - { 32453, false }, - { 32472, false }, - { 32490, true }, - { 32506, true }, - { 32530, true }, - { 32558, true }, - { 32569, true }, - { 32582, true }, - { 32597, true }, - { 32621, true }, - { 32640, true }, - { 32663, true }, + { 31851, true }, + { 31865, true }, + { 31882, true }, + { 31901, true }, + { 31911, true }, + { 31931, true }, + { 31943, true }, + { 31959, true }, + { 31987, false }, + { 31999, true }, + { 32012, true }, + { 32026, true }, + { 32043, true }, + { 32060, true }, + { 32069, true }, + { 32079, true }, + { 32096, true }, + { 32105, true }, + { 32112, true }, + { 32122, true }, + { 32137, true }, + { 32148, true }, + { 32165, true }, + { 32179, true }, + { 32189, true }, + { 32199, true }, + { 32219, true }, + { 32239, true }, + { 32250, true }, + { 32265, true }, + { 32284, true }, + { 32302, true }, + { 32317, true }, + { 32330, true }, + { 32345, true }, + { 32361, true }, + { 32387, true }, + { 32404, true }, + { 32421, true }, + { 32434, true }, + { 32442, true }, + { 32465, true }, + { 32479, true }, + { 32489, true }, + { 32514, true }, + { 32531, false }, + { 32552, false }, + { 32571, false }, + { 32589, true }, + { 32605, true }, + { 32629, true }, + { 32657, true }, + { 32668, true }, { 32681, true }, - { 32705, true }, - { 32719, true }, - { 32730, true }, - { 32752, true }, - { 32759, true }, - { 32777, true }, - { 32792, true }, - { 32807, true }, - { 32820, true }, - { 32833, true }, - { 32848, true }, - { 32863, true }, - { 32882, true }, - { 32909, true }, - { 32921, true }, - { 32936, true }, - { 32955, true }, - { 32973, true }, + { 32696, true }, + { 32720, true }, + { 32739, true }, + { 32762, true }, + { 32780, true }, + { 32804, true }, + { 32818, true }, + { 32829, true }, + { 32851, true }, + { 32858, true }, + { 32876, true }, + { 32891, true }, + { 32906, true }, + { 32919, true }, + { 32932, true }, + { 32947, true }, + { 32962, true }, { 32981, true }, - { 32989, true }, - { 32998, true }, - { 33010, true }, - { 33022, true }, - { 33036, true }, + { 33008, true }, + { 33020, true }, + { 33035, true }, { 33054, true }, { 33072, true }, - { 33087, true }, - { 33102, true }, - { 33111, true }, - { 33127, true }, - { 33144, true }, + { 33080, true }, + { 33088, true }, + { 33097, true }, + { 33109, true }, + { 33121, true }, + { 33135, true }, { 33153, true }, - { 33166, true }, - { 33178, true }, - { 33188, true }, - { 33208, true }, - { 33221, false }, - { 33235, true }, - { 33251, true }, - { 33264, true }, - { 33276, true }, - { 33286, true }, - { 33302, false }, - { 33309, true }, - { 33319, true }, - { 33333, true }, - { 33348, true }, - { 33356, true }, - { 33369, true }, - { 33377, true }, - { 33387, true }, - { 33405, true }, - { 33423, true }, - { 33436, true }, - { 33449, true }, - { 33466, true }, - { 33480, true }, - { 33489, true }, + { 33171, true }, + { 33186, true }, + { 33201, true }, + { 33210, true }, + { 33226, true }, + { 33243, true }, + { 33252, true }, + { 33265, true }, + { 33277, true }, + { 33287, true }, + { 33307, true }, + { 33320, false }, + { 33334, true }, + { 33350, true }, + { 33363, true }, + { 33375, true }, + { 33385, true }, + { 33401, false }, + { 33408, true }, + { 33418, true }, + { 33432, true }, + { 33447, true }, + { 33455, true }, + { 33468, true }, + { 33476, true }, + { 33486, true }, { 33504, true }, - { 33533, true }, - { 33550, true }, - { 33568, true }, - { 33578, true }, - { 33592, true }, - { 33604, true }, - { 33615, true }, - { 33626, true }, - { 33653, true }, - { 33673, true }, - { 33690, true }, - { 33704, true }, - { 33726, true }, - { 33751, true }, - { 33764, true }, - { 33777, true }, - { 33794, true }, - { 33812, true }, - { 33827, true }, - { 33842, true }, - { 33853, true }, + { 33522, true }, + { 33535, true }, + { 33548, true }, + { 33565, true }, + { 33579, true }, + { 33588, true }, + { 33603, true }, + { 33632, true }, + { 33649, true }, + { 33667, true }, + { 33677, true }, + { 33691, true }, + { 33703, true }, + { 33714, true }, + { 33725, true }, + { 33752, true }, + { 33772, true }, + { 33789, true }, + { 33803, true }, + { 33825, true }, + { 33850, true }, { 33863, true }, - { 33884, true }, - { 33894, false }, - { 33913, true }, - { 33925, true }, - { 33940, true }, - { 33969, true }, - { 33987, true }, - { 34005, true }, - { 34023, true }, - { 34041, true }, - { 34059, true }, - { 34077, true }, - { 34098, true }, - { 34112, true }, - { 34126, true }, - { 34134, true }, - { 34144, true }, - { 34157, true }, - { 34169, true }, - { 34181, true }, + { 33876, true }, + { 33893, true }, + { 33911, true }, + { 33926, true }, + { 33941, true }, + { 33952, true }, + { 33962, true }, + { 33983, true }, + { 33993, false }, + { 34012, true }, + { 34024, true }, + { 34039, true }, + { 34068, true }, + { 34086, true }, + { 34104, true }, + { 34122, true }, + { 34140, true }, + { 34158, true }, + { 34176, true }, { 34197, true }, { 34211, true }, + { 34225, true }, { 34233, true }, - { 34252, true }, - { 34265, true }, - { 34284, true }, - { 34302, true }, - { 34313, false }, - { 34323, true }, - { 34345, true }, - { 34359, true }, - { 34382, true }, - { 34398, true }, - { 34413, true }, - { 34429, true }, - { 34442, true }, - { 34459, true }, - { 34470, false }, - { 34478, true }, - { 34491, true }, - { 34506, true }, - { 34526, true }, - { 34540, true }, - { 34548, true }, - { 34563, true }, - { 34576, true }, - { 34588, true }, - { 34601, true }, - { 34612, true }, + { 34243, true }, + { 34256, true }, + { 34268, true }, + { 34280, true }, + { 34296, true }, + { 34310, true }, + { 34332, true }, + { 34351, true }, + { 34364, true }, + { 34383, true }, + { 34401, true }, + { 34412, false }, + { 34422, true }, + { 34444, true }, + { 34458, true }, + { 34481, true }, + { 34497, true }, + { 34512, true }, + { 34528, true }, + { 34541, true }, + { 34558, true }, + { 34569, false }, + { 34577, true }, + { 34590, true }, + { 34605, true }, { 34625, true }, - { 34645, false }, - { 34667, true }, - { 34691, true }, - { 34718, true }, - { 34738, true }, - { 34761, true }, - { 34779, true }, - { 34794, true }, - { 34810, true }, - { 34828, true }, - { 34857, true }, - { 34869, true }, - { 34885, true }, - { 34896, true }, - { 34912, true }, - { 34924, true }, - { 34937, true }, - { 34950, true }, - { 34967, true }, - { 34978, true }, - { 34996, true }, - { 35009, true }, - { 35018, true }, - { 35035, true }, - { 35044, true }, - { 35061, true }, - { 35069, true }, + { 34639, true }, + { 34647, true }, + { 34662, true }, + { 34675, true }, + { 34687, true }, + { 34700, true }, + { 34711, true }, + { 34724, true }, + { 34744, false }, + { 34766, true }, + { 34790, true }, + { 34817, true }, + { 34837, true }, + { 34860, true }, + { 34878, true }, + { 34893, true }, + { 34909, true }, + { 34927, true }, + { 34956, true }, + { 34968, true }, + { 34984, true }, + { 34995, true }, + { 35011, true }, + { 35023, true }, + { 35036, true }, + { 35049, true }, + { 35066, true }, { 35077, true }, - { 35086, true }, { 35095, true }, - { 35104, true }, - { 35114, true }, - { 35138, true }, - { 35148, true }, - { 35158, true }, - { 35167, true }, - { 35180, true }, - { 35190, true }, + { 35108, true }, + { 35117, true }, + { 35134, true }, + { 35143, true }, + { 35160, true }, + { 35168, true }, + { 35176, true }, + { 35185, true }, + { 35194, true }, { 35203, true }, - { 35215, true }, - { 35229, true }, - { 35243, true }, - { 35261, true }, - { 35276, true }, - { 35290, true }, + { 35213, true }, + { 35237, true }, + { 35247, true }, + { 35257, true }, + { 35266, true }, + { 35279, true }, + { 35289, true }, { 35302, true }, - { 35318, true }, - { 35331, true }, - { 35346, true }, - { 35358, true }, - { 35373, true }, - { 35387, true }, - { 35396, true }, - { 35405, true }, - { 35419, true }, - { 35428, true }, - { 35442, true }, - { 35452, true }, - { 35465, true }, - { 35480, true }, - { 35493, true }, - { 35503, true }, - { 35516, true }, - { 35531, true }, - { 35546, true }, - { 35560, true }, - { 35575, true }, - { 35594, true }, - { 35610, true }, - { 35624, true }, - { 35640, true }, - { 35655, true }, - { 35666, true }, - { 35680, true }, - { 35690, true }, - { 35701, true }, - { 35717, true }, - { 35729, true }, - { 35745, true }, - { 35759, true }, - { 35764, true }, - { 35775, true }, - { 35783, true }, - { 35791, true }, - { 35798, true }, - { 35804, true }, - { 35814, true }, - { 35823, true }, - { 35833, true }, - { 35862, true }, - { 35877, false }, + { 35314, true }, + { 35328, true }, + { 35342, true }, + { 35360, true }, + { 35375, true }, + { 35389, true }, + { 35401, true }, + { 35417, true }, + { 35430, true }, + { 35445, true }, + { 35457, true }, + { 35472, true }, + { 35486, true }, + { 35495, true }, + { 35504, true }, + { 35518, true }, + { 35527, true }, + { 35541, true }, + { 35551, true }, + { 35564, true }, + { 35579, true }, + { 35592, true }, + { 35602, true }, + { 35615, true }, + { 35630, true }, + { 35645, true }, + { 35659, true }, + { 35674, true }, + { 35693, true }, + { 35709, true }, + { 35723, true }, + { 35739, true }, + { 35754, true }, + { 35765, true }, + { 35779, true }, + { 35789, true }, + { 35800, true }, + { 35816, true }, + { 35828, true }, + { 35844, true }, + { 35858, true }, + { 35863, true }, + { 35874, true }, + { 35882, true }, + { 35890, true }, { 35897, true }, - { 35907, true }, - { 35920, true }, - { 35938, true }, - { 35958, true }, - { 35974, true }, - { 35986, true }, - { 35998, true }, - { 36011, true }, - { 36022, true }, - { 36033, true }, - { 36045, true }, - { 36059, true }, - { 36077, false }, - { 36093, true }, - { 36108, true }, - { 36123, true }, - { 36143, true }, - { 36153, true }, - { 36173, true }, - { 36181, true }, + { 35903, true }, + { 35913, true }, + { 35922, true }, + { 35932, true }, + { 35961, true }, + { 35976, false }, + { 35996, true }, + { 36006, true }, + { 36019, true }, + { 36037, true }, + { 36057, true }, + { 36073, true }, + { 36085, true }, + { 36097, true }, + { 36110, true }, + { 36121, true }, + { 36132, true }, + { 36144, true }, + { 36158, true }, + { 36176, false }, { 36192, true }, - { 36204, true }, - { 36213, true }, - { 36227, true }, - { 36241, true }, - { 36257, true }, - { 36268, true }, - { 36287, true }, - { 36306, true }, - { 36320, true }, - { 36337, false }, - { 36353, true }, - { 36370, true }, - { 36381, true }, - { 36393, false }, - { 36408, true }, - { 36420, true }, - { 36439, true }, - { 36447, true }, - { 36459, true }, - { 36473, true }, - { 36485, true }, - { 36496, true }, - { 36510, true }, - { 36523, true }, - { 36535, true }, - { 36548, true }, + { 36207, true }, + { 36222, true }, + { 36242, true }, + { 36252, true }, + { 36272, true }, + { 36280, true }, + { 36291, true }, + { 36303, true }, + { 36312, true }, + { 36326, true }, + { 36340, true }, + { 36356, true }, + { 36367, true }, + { 36386, true }, + { 36405, true }, + { 36419, true }, + { 36436, false }, + { 36452, true }, + { 36469, true }, + { 36480, true }, + { 36492, false }, + { 36507, true }, + { 36519, true }, + { 36538, true }, + { 36546, true }, { 36558, true }, - { 36577, false }, - { 36596, true }, - { 36614, true }, - { 36625, true }, - { 36637, true }, - { 36654, true }, - { 36677, true }, - { 36688, true }, - { 36700, true }, - { 36711, true }, - { 36727, true }, - { 36743, false }, - { 36766, true }, - { 36786, true }, - { 36801, true }, - { 36815, true }, - { 36830, true }, - { 36853, true }, - { 36881, true }, + { 36572, true }, + { 36584, true }, + { 36595, true }, + { 36609, true }, + { 36622, true }, + { 36634, true }, + { 36647, true }, + { 36657, true }, + { 36676, false }, + { 36695, true }, + { 36713, true }, + { 36724, true }, + { 36736, true }, + { 36753, true }, + { 36776, true }, + { 36787, true }, + { 36799, true }, + { 36810, true }, + { 36826, true }, + { 36842, false }, + { 36865, true }, + { 36885, true }, { 36900, true }, - { 36918, true }, - { 36935, true }, - { 36961, true }, + { 36914, true }, + { 36929, true }, + { 36952, true }, { 36980, true }, - { 36996, true }, - { 37010, true }, - { 37031, true }, - { 37047, false }, - { 37072, true }, - { 37090, true }, + { 36999, true }, + { 37017, true }, + { 37034, true }, + { 37060, true }, + { 37079, true }, + { 37095, true }, { 37109, true }, - { 37135, false }, - { 37149, true }, - { 37167, true }, - { 37176, true }, - { 37188, true }, - { 37201, true }, - { 37214, true }, - { 37226, true }, - { 37246, true }, - { 37261, true }, - { 37284, true }, - { 37297, true }, - { 37309, true }, - { 37321, true }, - { 37336, true }, - { 37349, true }, - { 37363, true }, - { 37373, true }, - { 37386, true }, - { 37394, true }, - { 37401, true }, - { 37426, true }, - { 37452, true }, - { 37464, true }, + { 37130, true }, + { 37146, false }, + { 37171, true }, + { 37189, true }, + { 37208, true }, + { 37234, false }, + { 37248, true }, + { 37266, true }, + { 37275, true }, + { 37287, true }, + { 37300, true }, + { 37313, true }, + { 37325, true }, + { 37345, true }, + { 37360, true }, + { 37383, true }, + { 37396, true }, + { 37408, true }, + { 37420, true }, + { 37435, true }, + { 37448, true }, + { 37462, true }, + { 37472, true }, { 37485, true }, - { 37497, true }, - { 37512, true }, - { 37528, true }, - { 37554, true }, - { 37566, true }, - { 37588, true }, - { 37608, true }, - { 37618, true }, - { 37631, true }, - { 37639, true }, + { 37493, true }, + { 37500, true }, + { 37525, true }, + { 37551, true }, + { 37563, true }, + { 37584, true }, + { 37596, true }, + { 37611, true }, + { 37627, true }, { 37653, true }, - { 37667, true }, - { 37691, true }, - { 37702, true }, - { 37719, true }, - { 37732, true }, - { 37741, true }, - { 37756, true }, - { 37778, true }, + { 37665, true }, + { 37687, true }, + { 37707, true }, + { 37717, true }, + { 37730, true }, + { 37738, true }, + { 37752, true }, + { 37766, true }, + { 37790, true }, { 37801, true }, - { 37825, true }, - { 37848, true }, - { 37861, true }, - { 37879, false }, - { 37894, true }, - { 37906, true }, - { 37919, true }, - { 37933, true }, + { 37818, true }, + { 37831, true }, + { 37840, true }, + { 37855, true }, + { 37877, true }, + { 37900, true }, + { 37924, true }, { 37947, true }, - { 37961, true }, - { 37975, true }, - { 37995, true }, - { 38010, true }, - { 38026, true }, - { 38037, true }, - { 38047, true }, - { 38057, true }, - { 38067, true }, - { 38077, true }, - { 38100, true }, - { 38116, true }, - { 38127, true }, - { 38141, true }, - { 38150, false }, - { 38163, true }, - { 38180, true }, + { 37960, true }, + { 37978, false }, + { 37993, true }, + { 38005, true }, + { 38018, true }, + { 38032, true }, + { 38046, true }, + { 38060, true }, + { 38074, true }, + { 38094, true }, + { 38109, true }, + { 38125, true }, + { 38136, true }, + { 38146, true }, + { 38156, true }, + { 38166, true }, + { 38176, true }, { 38199, true }, - { 38213, true }, - { 38227, true }, - { 38239, true }, - { 38258, true }, - { 38275, true }, - { 38288, true }, - { 38305, true }, - { 38314, true }, - { 38334, true }, - { 38356, true }, - { 38369, true }, - { 38390, true }, - { 38401, true }, - { 38412, true }, - { 38424, true }, - { 38436, true }, - { 38447, true }, + { 38215, true }, + { 38226, true }, + { 38240, true }, + { 38250, true }, + { 38259, false }, + { 38272, true }, + { 38289, true }, + { 38308, true }, + { 38322, true }, + { 38336, true }, + { 38348, true }, + { 38367, true }, + { 38384, true }, + { 38397, true }, + { 38414, true }, + { 38423, true }, + { 38443, true }, { 38465, true }, - { 38479, true }, - { 38490, true }, - { 38506, true }, - { 38523, true }, - { 38551, true }, - { 38567, true }, - { 38576, true }, - { 38591, true }, - { 38605, true }, - { 38626, true }, - { 38643, true }, - { 38659, true }, - { 38672, true }, + { 38478, true }, + { 38499, true }, + { 38510, true }, + { 38521, true }, + { 38533, true }, + { 38545, true }, + { 38556, true }, + { 38574, true }, + { 38588, true }, + { 38599, true }, + { 38615, true }, + { 38632, true }, + { 38660, true }, + { 38676, true }, { 38685, true }, - { 38697, true }, - { 38710, true }, - { 38723, true }, - { 38736, true }, - { 38759, true }, - { 38771, true }, - { 38783, true }, - { 38802, true }, - { 38817, true }, - { 38833, true }, - { 38854, true }, - { 38872, true }, - { 38883, true }, - { 38891, true }, - { 38908, true }, - { 38925, true }, - { 38938, true }, - { 38955, true }, - { 38966, true }, - { 38978, true }, - { 38994, false }, - { 39005, true }, - { 39036, true }, - { 39073, true }, - { 39088, true }, - { 39097, true }, - { 39110, true }, - { 39144, true }, - { 39154, true }, - { 39172, true }, - { 39190, true }, - { 39201, true }, - { 39211, true }, - { 39222, true }, - { 39231, true }, - { 39243, true }, - { 39269, true }, - { 39278, true }, - { 39294, true }, - { 39302, false }, + { 38700, true }, + { 38714, true }, + { 38735, true }, + { 38752, true }, + { 38768, true }, + { 38781, true }, + { 38794, true }, + { 38806, true }, + { 38819, true }, + { 38832, true }, + { 38845, true }, + { 38868, true }, + { 38880, true }, + { 38892, true }, + { 38911, true }, + { 38926, true }, + { 38942, true }, + { 38963, true }, + { 38981, true }, + { 38992, true }, + { 39000, true }, + { 39017, true }, + { 39034, true }, + { 39047, true }, + { 39064, true }, + { 39075, true }, + { 39086, true }, + { 39098, true }, + { 39114, false }, + { 39125, true }, + { 39156, true }, + { 39193, true }, + { 39208, true }, + { 39217, true }, + { 39230, true }, + { 39264, true }, + { 39274, true }, + { 39292, true }, { 39310, true }, { 39321, true }, { 39331, true }, - { 39345, true }, - { 39358, true }, - { 39375, true }, + { 39342, true }, + { 39351, true }, + { 39363, true }, { 39389, true }, - { 39399, true }, + { 39398, true }, { 39414, true }, - { 39428, true }, - { 39442, true }, - { 39453, true }, - { 39463, true }, - { 39471, true }, - { 39485, true }, - { 39506, true }, - { 39520, true }, - { 39536, true }, - { 39543, true }, - { 39553, true }, - { 39568, false }, - { 39578, true }, - { 39589, true }, - { 39608, false }, - { 39621, true }, - { 39639, true }, - { 39655, true }, - { 39666, true }, - { 39684, true }, - { 39692, true }, - { 39708, true }, - { 39724, true }, - { 39734, true }, - { 39756, true }, - { 39776, false }, - { 39793, true }, + { 39422, false }, + { 39430, true }, + { 39441, true }, + { 39451, true }, + { 39465, true }, + { 39478, true }, + { 39495, true }, + { 39509, true }, + { 39519, true }, + { 39534, true }, + { 39548, true }, + { 39562, true }, + { 39573, true }, + { 39583, true }, + { 39591, true }, + { 39605, true }, + { 39626, true }, + { 39640, true }, + { 39656, true }, + { 39663, true }, + { 39673, true }, + { 39688, false }, + { 39698, true }, + { 39709, true }, + { 39728, false }, + { 39741, true }, + { 39759, true }, + { 39775, true }, + { 39786, true }, { 39804, true }, - { 39816, true }, + { 39812, true }, { 39828, true }, - { 39842, true }, - { 39858, true }, - { 39874, true }, - { 39890, true }, - { 39909, true }, - { 39926, true }, - { 39941, true }, - { 39960, true }, - { 39975, true }, - { 39990, true }, - { 40011, true }, + { 39844, true }, + { 39854, true }, + { 39876, true }, + { 39896, false }, + { 39913, true }, + { 39924, true }, + { 39936, true }, + { 39948, true }, + { 39962, true }, + { 39978, true }, + { 39994, true }, + { 40010, true }, { 40029, true }, - { 40048, true }, - { 40060, true }, - { 40073, true }, - { 40086, true }, - { 40100, true }, - { 40114, true }, - { 40125, true }, - { 40138, true }, - { 40157, true }, - { 40175, true }, - { 40189, true }, + { 40046, true }, + { 40061, true }, + { 40080, true }, + { 40095, true }, + { 40110, true }, + { 40131, true }, + { 40149, true }, + { 40168, true }, + { 40180, true }, + { 40193, true }, { 40206, true }, - { 40221, true }, - { 40235, true }, - { 40249, true }, - { 40262, true }, - { 40285, true }, + { 40220, true }, + { 40234, true }, + { 40245, true }, + { 40258, true }, + { 40277, true }, { 40295, true }, - { 40312, true }, - { 40328, true }, - { 40344, true }, - { 40359, true }, + { 40309, true }, + { 40326, true }, + { 40341, true }, + { 40355, true }, { 40369, true }, - { 40384, true }, - { 40396, true }, - { 40407, true }, - { 40419, false }, - { 40427, true }, + { 40382, true }, + { 40405, true }, + { 40415, true }, + { 40432, true }, { 40448, true }, - { 40458, true }, - { 40466, true }, - { 40477, true }, - { 40490, true }, - { 40498, true }, - { 40506, true }, - { 40520, true }, - { 40534, true }, - { 40542, true }, - { 40550, true }, - { 40564, true }, - { 40584, true }, - { 40592, true }, - { 40601, false }, - { 40621, true }, - { 40639, true }, - { 40666, true }, - { 40684, false }, - { 40702, true }, - { 40722, true }, - { 40734, true }, - { 40746, true }, - { 40762, true }, - { 40777, true }, - { 40790, true }, - { 40803, true }, - { 40817, true }, - { 40834, true }, - { 40851, true }, - { 40869, true }, - { 40888, true }, - { 40909, true }, - { 40919, true }, - { 40932, true }, - { 40949, true }, - { 40962, true }, - { 40975, true }, - { 40994, true }, - { 41004, true }, - { 41020, true }, + { 40464, true }, + { 40479, true }, + { 40489, true }, + { 40504, true }, + { 40516, true }, + { 40527, true }, + { 40539, false }, + { 40547, true }, + { 40568, true }, + { 40578, true }, + { 40586, true }, + { 40597, true }, + { 40610, true }, + { 40618, true }, + { 40626, true }, + { 40640, true }, + { 40654, true }, + { 40662, true }, + { 40670, true }, + { 40684, true }, + { 40704, true }, + { 40712, true }, + { 40721, false }, + { 40741, true }, + { 40759, true }, + { 40786, true }, + { 40804, false }, + { 40822, true }, + { 40842, true }, + { 40854, true }, + { 40866, true }, + { 40882, true }, + { 40897, true }, + { 40910, true }, + { 40923, true }, + { 40937, true }, + { 40954, true }, + { 40971, true }, + { 40989, true }, + { 41008, true }, { 41029, true }, - { 41049, true }, - { 41066, true }, - { 41086, true }, - { 41100, true }, - { 41120, true }, - { 41138, true }, - { 41158, true }, - { 41193, true }, - { 41207, true }, - { 41217, true }, - { 41247, true }, - { 41262, true }, - { 41273, true }, - { 41285, true }, - { 41298, true }, - { 41314, true }, + { 41039, true }, + { 41052, true }, + { 41069, true }, + { 41082, true }, + { 41095, true }, + { 41114, true }, + { 41124, true }, + { 41140, true }, + { 41149, true }, + { 41169, true }, + { 41186, true }, + { 41206, true }, + { 41220, true }, + { 41240, true }, + { 41258, true }, + { 41278, true }, + { 41313, true }, { 41327, true }, - { 41356, true }, + { 41337, true }, { 41367, true }, - { 41381, true }, - { 41396, true }, - { 41416, true }, - { 41431, true }, - { 41445, true }, - { 41459, true }, + { 41382, true }, + { 41393, true }, + { 41405, true }, + { 41418, true }, + { 41434, true }, + { 41447, true }, { 41476, true }, - { 41493, true }, - { 41510, true }, - { 41521, true }, + { 41487, true }, + { 41502, true }, + { 41522, true }, { 41537, true }, - { 41552, false }, - { 41566, true }, - { 41576, false }, - { 41587, true }, - { 41595, true }, - { 41603, true }, - { 41616, true }, - { 41637, true }, - { 41658, true }, - { 41679, false }, - { 41695, true }, - { 41708, true }, - { 41723, false }, - { 41744, true }, - { 41764, true }, - { 41786, true }, - { 41800, true }, - { 41818, true }, - { 41838, true }, - { 41854, true }, - { 41868, true }, - { 41884, true }, - { 41902, true }, - { 41917, true }, - { 41928, true }, - { 41939, true }, - { 41952, true }, - { 41965, true }, - { 41982, true }, - { 41999, true }, - { 42014, true }, - { 42033, true }, - { 42049, true }, - { 42061, true }, + { 41551, true }, + { 41565, true }, + { 41582, true }, + { 41599, true }, + { 41610, true }, + { 41626, true }, + { 41641, false }, + { 41655, true }, + { 41665, false }, + { 41676, true }, + { 41684, true }, + { 41692, true }, + { 41705, true }, + { 41726, true }, + { 41747, true }, + { 41768, false }, + { 41784, true }, + { 41797, true }, + { 41812, false }, + { 41833, true }, + { 41853, true }, + { 41875, true }, + { 41889, true }, + { 41907, true }, + { 41927, true }, + { 41943, true }, + { 41957, true }, + { 41973, true }, + { 41991, true }, + { 42006, true }, + { 42017, true }, + { 42028, true }, + { 42041, true }, + { 42054, true }, { 42071, true }, - { 42082, false }, - { 42104, true }, - { 42112, true }, - { 42128, true }, - { 42143, true }, - { 42159, true }, - { 42169, true }, - { 42186, true }, - { 42200, true }, - { 42215, true }, - { 42233, true }, - { 42245, true }, - { 42256, true }, - { 42282, true }, - { 42306, true }, + { 42088, true }, + { 42103, true }, + { 42122, true }, + { 42138, true }, + { 42150, true }, + { 42160, true }, + { 42171, false }, + { 42193, true }, + { 42201, true }, + { 42217, true }, + { 42232, true }, + { 42248, true }, + { 42258, true }, + { 42275, true }, + { 42289, true }, + { 42304, true }, { 42322, true }, - { 42331, true }, - { 42347, true }, - { 42362, true }, - { 42375, true }, - { 42396, true }, - { 42405, true }, + { 42334, true }, + { 42345, true }, + { 42371, true }, + { 42395, true }, + { 42411, true }, { 42420, true }, - { 42433, false }, - { 42443, true }, - { 42462, true }, - { 42476, true }, - { 42496, true }, - { 42511, true }, - { 42520, true }, - { 42538, true }, - { 42560, false }, - { 42582, true }, - { 42591, true }, - { 42610, false }, - { 42626, true }, - { 42650, false }, - { 42664, true }, + { 42436, true }, + { 42451, true }, + { 42464, true }, + { 42485, true }, + { 42494, true }, + { 42509, true }, + { 42522, false }, + { 42532, true }, + { 42551, true }, + { 42565, true }, + { 42585, true }, + { 42600, true }, + { 42609, true }, + { 42627, true }, + { 42649, false }, + { 42671, true }, { 42680, true }, - { 42699, true }, - { 42711, true }, - { 42726, true }, - { 42744, true }, - { 42759, true }, - { 42772, true }, - { 42784, true }, + { 42699, false }, + { 42715, true }, + { 42739, false }, + { 42753, true }, + { 42769, true }, + { 42781, true }, { 42796, true }, { 42814, true }, - { 42836, true }, + { 42829, true }, + { 42842, true }, { 42854, true }, - { 42864, true }, - { 42875, true }, - { 42892, true }, - { 42907, true }, + { 42866, true }, + { 42884, true }, + { 42906, true }, { 42924, true }, - { 42939, true }, - { 42956, true }, - { 42970, true }, - { 42984, true }, - { 43003, true }, - { 43020, true }, - { 43037, false }, - { 43052, true }, - { 43079, true }, - { 43099, true }, - { 43121, true }, - { 43140, true }, - { 43160, true }, - { 43181, true }, - { 43204, true }, - { 43230, true }, - { 43250, true }, + { 42934, true }, + { 42945, true }, + { 42962, true }, + { 42977, true }, + { 42994, true }, + { 43009, true }, + { 43026, true }, + { 43040, true }, + { 43054, true }, + { 43071, true }, + { 43090, true }, + { 43107, true }, + { 43124, false }, + { 43139, true }, + { 43166, true }, + { 43186, true }, + { 43208, true }, + { 43227, true }, + { 43247, true }, { 43268, true }, - { 43286, true }, - { 43305, true }, - { 43327, true }, - { 43346, true }, - { 43363, true }, - { 43386, true }, - { 43406, true }, - { 43423, true }, + { 43291, true }, + { 43317, true }, + { 43337, true }, + { 43355, true }, + { 43373, true }, + { 43392, true }, + { 43414, true }, + { 43433, true }, { 43450, true }, - { 43470, true }, + { 43473, true }, { 43493, true }, - { 43516, true }, - { 43530, true }, - { 43547, true }, - { 43563, true }, - { 43577, true }, - { 43591, true }, - { 43604, true }, - { 43641, false }, - { 43652, true }, - { 43670, true }, - { 43690, true }, - { 43713, true }, - { 43738, false }, - { 43769, true }, - { 43792, true }, - { 43806, true }, - { 43820, true }, - { 43831, true }, - { 43840, true }, - { 43851, true }, - { 43863, true }, + { 43510, true }, + { 43537, true }, + { 43557, true }, + { 43580, true }, + { 43603, true }, + { 43617, true }, + { 43634, true }, + { 43650, true }, + { 43664, true }, + { 43678, true }, + { 43691, true }, + { 43728, false }, + { 43739, true }, + { 43757, true }, + { 43777, true }, + { 43800, true }, + { 43825, false }, + { 43856, true }, { 43879, true }, - { 43891, true }, - { 43900, true }, - { 43912, true }, - { 43929, true }, - { 43941, true }, - { 43962, true }, - { 43972, true }, - { 43986, false }, - { 43994, true }, - { 44005, true }, - { 44019, true }, - { 44038, true }, + { 43893, true }, + { 43907, true }, + { 43918, true }, + { 43927, true }, + { 43938, true }, + { 43950, true }, + { 43966, true }, + { 43978, true }, + { 43987, true }, + { 43999, true }, + { 44016, true }, + { 44028, true }, { 44049, true }, - { 44061, false }, - { 44079, true }, + { 44059, true }, + { 44073, false }, + { 44081, true }, { 44092, true }, - { 44105, true }, - { 44122, true }, + { 44106, true }, + { 44125, true }, { 44136, true }, - { 44152, true }, - { 44163, true }, - { 44177, true }, - { 44190, true }, - { 44208, true }, - { 44225, true }, - { 44243, true }, - { 44255, true }, - { 44263, true }, - { 44283, true }, - { 44297, true }, - { 44309, true }, - { 44321, true }, - { 44333, true }, + { 44148, false }, + { 44166, true }, + { 44179, true }, + { 44192, true }, + { 44209, true }, + { 44223, true }, + { 44239, true }, + { 44250, true }, + { 44264, true }, + { 44277, true }, + { 44295, true }, + { 44312, true }, + { 44330, true }, { 44342, true }, - { 44352, true }, - { 44363, false }, - { 44377, true }, - { 44388, true }, - { 44402, true }, - { 44425, true }, - { 44441, true }, - { 44449, true }, - { 44467, true }, - { 44482, true }, - { 44501, true }, - { 44520, true }, - { 44539, true }, - { 44552, true }, - { 44564, true }, - { 44580, true }, - { 44590, true }, - { 44609, true }, - { 44623, true }, - { 44637, true }, - { 44650, true }, - { 44664, true }, - { 44679, true }, - { 44687, true }, - { 44693, true }, - { 44707, true }, - { 44720, true }, - { 44729, true }, - { 44743, true }, - { 44757, true }, - { 44770, false }, - { 44790, true }, - { 44801, true }, - { 44813, true }, - { 44829, true }, - { 44842, true }, - { 44862, true }, - { 44878, true }, - { 44892, true }, - { 44912, true }, - { 44926, true }, - { 44938, true }, - { 44953, true }, - { 44967, true }, - { 44980, true }, - { 44989, true }, + { 44350, true }, + { 44370, true }, + { 44384, true }, + { 44396, true }, + { 44408, true }, + { 44420, true }, + { 44429, true }, + { 44439, true }, + { 44450, false }, + { 44464, true }, + { 44475, true }, + { 44489, true }, + { 44512, true }, + { 44528, true }, + { 44536, true }, + { 44554, true }, + { 44569, true }, + { 44588, true }, + { 44607, true }, + { 44626, true }, + { 44639, true }, + { 44651, true }, + { 44667, true }, + { 44677, true }, + { 44696, true }, + { 44710, true }, + { 44724, true }, + { 44737, true }, + { 44751, true }, + { 44766, true }, + { 44774, true }, + { 44780, true }, + { 44794, true }, + { 44807, true }, + { 44816, true }, + { 44830, true }, + { 44844, true }, + { 44857, false }, + { 44877, true }, + { 44888, true }, + { 44900, true }, + { 44916, true }, + { 44929, true }, + { 44949, true }, + { 44965, true }, + { 44979, true }, { 44999, true }, - { 45012, true }, - { 45028, true }, - { 45050, true }, - { 45082, true }, - { 45090, true }, - { 45108, true }, - { 45124, true }, - { 45145, true }, - { 45165, true }, - { 45178, true }, - { 45193, true }, - { 45208, false }, - { 45228, true }, - { 45242, true }, - { 45261, true }, + { 45013, true }, + { 45025, true }, + { 45040, true }, + { 45054, true }, + { 45067, true }, + { 45076, true }, + { 45086, true }, + { 45099, true }, + { 45115, true }, + { 45137, true }, + { 45169, true }, + { 45177, true }, + { 45195, true }, + { 45211, true }, + { 45232, true }, + { 45252, true }, + { 45265, true }, { 45280, true }, - { 45295, true }, - { 45308, true }, - { 45320, true }, - { 45335, true }, - { 45358, true }, - { 45374, true }, - { 45397, true }, - { 45416, true }, - { 45428, false }, - { 45449, true }, - { 45468, false }, - { 45476, true }, - { 45489, true }, + { 45295, false }, + { 45315, true }, + { 45329, true }, + { 45348, true }, + { 45367, true }, + { 45382, true }, + { 45395, true }, + { 45407, true }, + { 45422, true }, + { 45445, true }, + { 45461, true }, + { 45484, true }, { 45503, true }, - { 45512, true }, - { 45524, true }, - { 45540, true }, - { 45557, false }, - { 45567, true }, - { 45578, false }, + { 45515, false }, + { 45536, true }, + { 45555, false }, + { 45563, true }, + { 45576, true }, { 45590, true }, - { 45606, true }, - { 45619, true }, - { 45638, true }, - { 45657, true }, - { 45674, true }, - { 45691, false }, - { 45701, true }, - { 45719, true }, - { 45735, true }, - { 45754, true }, - { 45768, true }, - { 45785, true }, - { 45807, true }, - { 45819, true }, - { 45832, true }, - { 45853, true }, - { 45875, true }, - { 45892, true }, - { 45914, true }, - { 45930, true }, - { 45945, true }, - { 45959, true }, - { 45985, true }, + { 45599, true }, + { 45611, true }, + { 45627, true }, + { 45644, false }, + { 45654, true }, + { 45665, false }, + { 45677, true }, + { 45693, true }, + { 45706, true }, + { 45725, true }, + { 45744, true }, + { 45761, true }, + { 45778, false }, + { 45788, true }, + { 45806, true }, + { 45822, true }, + { 45841, true }, + { 45855, true }, + { 45872, true }, + { 45894, true }, + { 45906, true }, + { 45919, true }, + { 45940, true }, + { 45962, true }, + { 45979, true }, { 46001, true }, - { 46026, true }, - { 46041, true }, - { 46054, true }, - { 46066, true }, - { 46083, true }, - { 46093, true }, - { 46108, true }, - { 46117, true }, - { 46131, true }, - { 46142, true }, + { 46017, true }, + { 46032, true }, + { 46046, true }, + { 46072, true }, + { 46088, true }, + { 46113, true }, + { 46128, true }, + { 46141, true }, { 46153, true }, - { 46169, true }, - { 46184, true }, - { 46199, true }, - { 46211, true }, - { 46224, true }, - { 46234, true }, - { 46244, true }, - { 46257, true }, - { 46266, true }, - { 46278, true }, - { 46294, true }, - { 46305, true }, - { 46317, true }, - { 46334, true }, - { 46347, true }, - { 46360, true }, - { 46371, true }, - { 46380, true }, - { 46388, true }, + { 46170, true }, + { 46180, true }, + { 46195, true }, + { 46204, true }, + { 46218, true }, + { 46229, true }, + { 46240, true }, + { 46256, true }, + { 46271, true }, + { 46286, true }, + { 46298, true }, + { 46311, true }, + { 46321, true }, + { 46331, true }, + { 46344, true }, + { 46353, true }, + { 46365, true }, + { 46381, true }, + { 46392, true }, { 46404, true }, - { 46414, true }, - { 46425, true }, - { 46439, false }, - { 46459, true }, - { 46479, true }, - { 46503, true }, - { 46524, true }, - { 46532, true }, - { 46553, true }, - { 46563, true }, - { 46577, true }, - { 46597, true }, - { 46610, true }, - { 46618, true }, - { 46630, false }, - { 46640, true }, - { 46670, true }, + { 46421, true }, + { 46434, true }, + { 46447, true }, + { 46458, true }, + { 46467, true }, + { 46475, true }, + { 46491, true }, + { 46501, true }, + { 46512, true }, + { 46526, false }, + { 46546, true }, + { 46570, true }, + { 46591, true }, + { 46599, true }, + { 46620, true }, + { 46630, true }, + { 46644, true }, + { 46664, true }, + { 46677, true }, + { 46685, true }, { 46697, false }, - { 46711, true }, - { 46727, true }, - { 46740, true }, - { 46757, true }, - { 46774, true }, - { 46788, false }, - { 46806, true }, - { 46814, true }, - { 46830, true }, - { 46840, true }, - { 46851, false }, - { 46866, true }, - { 46879, true }, - { 46892, true }, + { 46707, true }, + { 46737, true }, + { 46764, false }, + { 46778, true }, + { 46794, true }, + { 46807, true }, + { 46824, true }, + { 46841, true }, + { 46855, false }, + { 46873, true }, + { 46881, true }, + { 46897, true }, { 46907, true }, - { 46927, false }, - { 46942, true }, - { 46954, true }, - { 46966, true }, - { 46978, true }, - { 46991, true }, - { 47006, true }, - { 47019, true }, - { 47032, true }, + { 46918, false }, + { 46933, true }, + { 46946, true }, + { 46959, true }, + { 46974, true }, + { 46994, false }, + { 47009, true }, + { 47021, true }, + { 47033, true }, { 47045, true }, - { 47060, false }, - { 47083, false }, - { 47107, true }, - { 47124, true }, - { 47137, true }, - { 47148, true }, - { 47160, true }, - { 47180, true }, - { 47192, true }, - { 47206, true }, - { 47224, true }, - { 47234, true }, - { 47245, true }, - { 47264, true }, - { 47281, true }, - { 47303, true }, - { 47317, true }, - { 47330, true }, - { 47349, true }, - { 47359, true }, - { 47373, true }, - { 47406, true }, - { 47427, true }, - { 47439, true }, - { 47454, true }, - { 47468, true }, - { 47479, true }, - { 47493, true }, + { 47058, true }, + { 47073, true }, + { 47086, true }, + { 47099, true }, + { 47112, true }, + { 47127, false }, + { 47150, false }, + { 47174, true }, + { 47191, true }, + { 47204, true }, + { 47215, true }, + { 47227, true }, + { 47247, true }, + { 47259, true }, + { 47273, true }, + { 47291, true }, + { 47301, true }, + { 47312, true }, + { 47331, true }, + { 47348, true }, + { 47370, true }, + { 47384, true }, + { 47397, true }, + { 47416, true }, + { 47426, true }, + { 47440, true }, + { 47473, true }, + { 47494, true }, { 47506, true }, - { 47522, true }, + { 47521, true }, { 47535, true }, - { 47555, true }, - { 47572, true }, - { 47583, true }, - { 47591, true }, - { 47607, true }, - { 47620, true }, - { 47632, false }, - { 47644, true }, - { 47655, true }, - { 47677, true }, - { 47690, true }, - { 47710, true }, + { 47546, true }, + { 47560, true }, + { 47573, true }, + { 47589, true }, + { 47602, true }, + { 47622, true }, + { 47639, true }, + { 47650, true }, + { 47658, true }, + { 47674, true }, + { 47687, true }, + { 47699, false }, + { 47711, true }, { 47722, true }, - { 47734, true }, - { 47747, true }, - { 47764, true }, - { 47782, true }, - { 47796, true }, - { 47811, false }, - { 47826, true }, - { 47845, true }, - { 47860, true }, - { 47874, true }, - { 47886, true }, - { 47897, true }, - { 47913, true }, - { 47929, true }, - { 47950, true }, - { 47969, true }, + { 47744, true }, + { 47757, true }, + { 47777, true }, + { 47789, true }, + { 47801, true }, + { 47814, true }, + { 47831, true }, + { 47849, true }, + { 47863, true }, + { 47878, false }, + { 47893, true }, + { 47912, true }, + { 47927, true }, + { 47941, true }, + { 47953, true }, + { 47964, true }, + { 47980, true }, { 47996, true }, - { 48015, true }, - { 48035, true }, - { 48049, true }, - { 48066, true }, - { 48086, true }, - { 48099, true }, - { 48113, true }, - { 48134, true }, - { 48155, true }, - { 48162, true }, - { 48174, true }, - { 48196, true }, - { 48212, true }, - { 48223, true }, - { 48239, true }, - { 48254, true }, - { 48267, true }, - { 48287, true }, - { 48301, true }, - { 48315, true }, - { 48330, true }, - { 48340, true }, - { 48356, true }, - { 48367, true }, - { 48377, true }, - { 48389, true }, - { 48401, true }, - { 48413, true }, - { 48431, true }, - { 48450, true }, - { 48465, true }, - { 48486, false }, - { 48507, true }, - { 48517, true }, - { 48535, true }, - { 48549, true }, - { 48569, true }, - { 48589, true }, - { 48621, true }, - { 48631, true }, - { 48650, true }, - { 48667, false }, - { 48691, false }, - { 48713, true }, - { 48737, true }, - { 48753, true }, - { 48770, true }, - { 48782, true }, - { 48797, true }, + { 48017, true }, + { 48036, true }, + { 48063, true }, + { 48082, true }, + { 48102, true }, + { 48116, true }, + { 48133, true }, + { 48153, true }, + { 48166, true }, + { 48180, true }, + { 48201, true }, + { 48222, true }, + { 48229, true }, + { 48241, true }, + { 48263, true }, + { 48279, true }, + { 48295, true }, + { 48310, true }, + { 48323, true }, + { 48343, true }, + { 48357, true }, + { 48371, true }, + { 48386, true }, + { 48396, true }, + { 48412, true }, + { 48423, true }, + { 48433, true }, + { 48445, true }, + { 48457, true }, + { 48469, true }, + { 48487, true }, + { 48506, true }, + { 48521, true }, + { 48542, false }, + { 48563, true }, + { 48573, true }, + { 48591, true }, + { 48605, true }, + { 48625, true }, + { 48645, true }, + { 48677, true }, + { 48687, true }, + { 48706, true }, + { 48723, false }, + { 48747, false }, + { 48769, true }, + { 48793, true }, + { 48809, true }, { 48826, true }, - { 48843, true }, - { 48857, true }, - { 48879, true }, - { 48904, true }, - { 48917, true }, - { 48932, true }, - { 48954, true }, - { 48970, true }, - { 48994, true }, - { 49018, true }, - { 49032, true }, - { 49047, true }, - { 49066, true }, - { 49082, true }, - { 49101, true }, - { 49118, true }, - { 49141, true }, - { 49159, true }, - { 49183, false }, - { 49205, true }, - { 49218, true }, - { 49229, true }, - { 49241, true }, - { 49263, true }, - { 49273, true }, - { 49287, true }, - { 49305, true }, - { 49318, true }, - { 49337, true }, - { 49352, true }, - { 49375, true }, - { 49388, true }, - { 49399, true }, - { 49412, true }, - { 49423, true }, - { 49442, true }, - { 49460, true }, - { 49482, true }, - { 49507, true }, - { 49530, true }, - { 49550, true }, - { 49564, true }, - { 49577, true }, - { 49590, true }, - { 49608, true }, - { 49618, true }, - { 49631, true }, - { 49658, true }, - { 49676, true }, - { 49697, true }, - { 49712, true }, - { 49730, true }, - { 49755, true }, - { 49770, false }, - { 49793, true }, - { 49810, false }, - { 49819, true }, - { 49840, true }, - { 49857, true }, - { 49870, false }, - { 49909, true }, - { 49920, true }, - { 49930, true }, - { 49943, true }, - { 49955, true }, - { 49971, true }, - { 49985, false }, - { 50000, false }, - { 50016, true }, - { 50025, true }, - { 50044, true }, - { 50055, true }, - { 50068, true }, - { 50080, true }, - { 50090, true }, - { 50113, true }, - { 50125, true }, - { 50134, true }, + { 48838, true }, + { 48853, true }, + { 48882, true }, + { 48899, true }, + { 48913, true }, + { 48935, true }, + { 48960, true }, + { 48973, true }, + { 48988, true }, + { 49010, true }, + { 49026, true }, + { 49050, true }, + { 49074, true }, + { 49088, true }, + { 49103, true }, + { 49122, true }, + { 49138, true }, + { 49157, true }, + { 49174, true }, + { 49197, true }, + { 49215, true }, + { 49239, false }, + { 49261, true }, + { 49274, true }, + { 49285, true }, + { 49297, true }, + { 49319, true }, + { 49329, true }, + { 49343, true }, + { 49361, true }, + { 49374, true }, + { 49393, true }, + { 49408, true }, + { 49431, true }, + { 49444, true }, + { 49455, true }, + { 49468, true }, + { 49479, true }, + { 49498, true }, + { 49516, true }, + { 49538, true }, + { 49563, true }, + { 49586, true }, + { 49606, true }, + { 49620, true }, + { 49633, true }, + { 49646, true }, + { 49664, true }, + { 49674, true }, + { 49687, true }, + { 49714, true }, + { 49732, true }, + { 49753, true }, + { 49768, true }, + { 49786, true }, + { 49811, true }, + { 49826, false }, + { 49849, true }, + { 49866, false }, + { 49875, true }, + { 49896, true }, + { 49913, true }, + { 49926, false }, + { 49965, true }, + { 49976, true }, + { 49986, true }, + { 49999, true }, + { 50011, true }, + { 50027, true }, + { 50041, false }, + { 50056, false }, + { 50072, true }, + { 50081, true }, + { 50100, true }, + { 50111, true }, + { 50124, true }, + { 50136, true }, { 50148, true }, - { 50163, true }, + { 50171, true }, { 50183, true }, - { 50197, true }, - { 50213, true }, - { 50229, true }, - { 50246, true }, - { 50258, true }, - { 50272, true }, - { 50284, true }, - { 50307, true }, - { 50332, true }, - { 50352, true }, - { 50369, true }, - { 50379, true }, - { 50388, true }, - { 50405, true }, - { 50417, true }, - { 50432, true }, - { 50451, true }, - { 50464, true }, - { 50482, true }, - { 50494, true }, - { 50513, true }, - { 50525, true }, - { 50549, true }, - { 50574, true }, - { 50604, true }, - { 50618, true }, - { 50642, true }, - { 50665, true }, - { 50679, true }, - { 50692, true }, - { 50704, true }, - { 50726, true }, - { 50746, true }, - { 50771, true }, - { 50783, true }, - { 50806, true }, - { 50825, true }, - { 50836, true }, - { 50848, true }, - { 50862, true }, - { 50874, true }, - { 50885, true }, - { 50903, true }, - { 50919, true }, - { 50937, true }, - { 50955, true }, - { 50973, true }, - { 50989, true }, - { 51006, true }, - { 51019, true }, - { 51030, true }, - { 51048, true }, - { 51066, true }, - { 51089, true }, - { 51106, false }, - { 51121, true }, - { 51133, true }, - { 51145, true }, - { 51158, true }, - { 51167, true }, - { 51182, true }, - { 51190, true }, + { 50192, true }, + { 50206, true }, + { 50221, true }, + { 50241, true }, + { 50255, true }, + { 50271, true }, + { 50287, true }, + { 50304, true }, + { 50316, true }, + { 50330, true }, + { 50342, true }, + { 50365, true }, + { 50390, true }, + { 50410, true }, + { 50427, true }, + { 50437, true }, + { 50446, true }, + { 50463, true }, + { 50475, true }, + { 50490, true }, + { 50509, true }, + { 50522, true }, + { 50540, true }, + { 50552, true }, + { 50571, true }, + { 50583, true }, + { 50607, true }, + { 50632, true }, + { 50662, true }, + { 50676, true }, + { 50700, true }, + { 50723, true }, + { 50737, true }, + { 50750, true }, + { 50762, true }, + { 50784, true }, + { 50804, true }, + { 50829, true }, + { 50841, true }, + { 50864, true }, + { 50883, true }, + { 50894, true }, + { 50906, true }, + { 50920, true }, + { 50932, true }, + { 50943, true }, + { 50961, true }, + { 50977, true }, + { 50995, true }, + { 51013, true }, + { 51031, true }, + { 51047, true }, + { 51064, true }, + { 51077, true }, + { 51088, true }, + { 51106, true }, + { 51124, true }, + { 51147, true }, + { 51164, false }, + { 51179, true }, + { 51191, true }, { 51203, true }, - { 51222, true }, - { 51237, true }, + { 51216, true }, + { 51225, true }, + { 51240, true }, { 51248, true }, - { 51262, true }, - { 51274, true }, - { 51281, true }, - { 51293, true }, - { 51307, false }, - { 51324, true }, - { 51335, true }, - { 51348, true }, - { 51361, true }, - { 51378, true }, - { 51397, false }, - { 51410, true }, - { 51428, true }, - { 51454, true }, + { 51261, true }, + { 51280, true }, + { 51295, true }, + { 51306, true }, + { 51320, true }, + { 51332, true }, + { 51339, true }, + { 51351, true }, + { 51365, false }, + { 51382, true }, + { 51393, true }, + { 51406, true }, + { 51419, true }, + { 51436, true }, + { 51455, false }, { 51468, true }, - { 51485, true }, - { 51504, true }, - { 51519, true }, - { 51533, true }, - { 51544, true }, - { 51558, true }, - { 51575, true }, - { 51588, true }, - { 51601, true }, - { 51613, true }, - { 51631, true }, - { 51650, true }, - { 51666, true }, - { 51685, true }, - { 51704, true }, + { 51486, true }, + { 51512, true }, + { 51526, true }, + { 51543, true }, + { 51562, true }, + { 51577, true }, + { 51591, true }, + { 51602, true }, + { 51616, true }, + { 51633, true }, + { 51646, true }, + { 51659, true }, + { 51671, true }, + { 51689, true }, + { 51708, true }, { 51724, true }, - { 51740, true }, - { 51756, true }, - { 51770, true }, - { 51780, true }, - { 51788, true }, - { 51805, true }, - { 51826, true }, - { 51843, true }, - { 51861, true }, - { 51880, true }, - { 51900, true }, - { 51931, true }, - { 51946, true }, - { 51965, true }, - { 51981, true }, - { 52001, true }, - { 52012, true }, - { 52026, true }, - { 52045, true }, - { 52057, true }, - { 52073, true }, - { 52094, false }, - { 52113, true }, - { 52127, true }, - { 52136, true }, - { 52153, true }, - { 52172, true }, - { 52186, true }, - { 52195, true }, - { 52210, true }, - { 52225, true }, - { 52242, true }, - { 52256, true }, - { 52264, false }, - { 52275, true }, - { 52296, true }, - { 52317, true }, - { 52328, true }, - { 52337, true }, - { 52351, true }, - { 52370, true }, - { 52383, false }, - { 52398, true }, - { 52414, true }, - { 52436, true }, - { 52450, false }, - { 52464, true }, - { 52480, true }, - { 52505, true }, - { 52517, true }, - { 52532, true }, - { 52544, true }, - { 52567, true }, + { 51743, true }, + { 51762, true }, + { 51782, true }, + { 51798, true }, + { 51814, true }, + { 51828, true }, + { 51838, true }, + { 51846, true }, + { 51863, true }, + { 51884, true }, + { 51901, true }, + { 51919, true }, + { 51938, true }, + { 51958, true }, + { 51989, true }, + { 52004, true }, + { 52023, true }, + { 52039, true }, + { 52059, true }, + { 52070, true }, + { 52084, true }, + { 52103, true }, + { 52115, true }, + { 52131, true }, + { 52152, false }, + { 52171, true }, + { 52185, true }, + { 52194, true }, + { 52211, true }, + { 52230, true }, + { 52244, true }, + { 52253, true }, + { 52268, true }, + { 52283, true }, + { 52300, true }, + { 52314, true }, + { 52322, false }, + { 52333, true }, + { 52354, true }, + { 52375, true }, + { 52386, true }, + { 52395, true }, + { 52409, true }, + { 52428, true }, + { 52441, false }, + { 52456, true }, + { 52472, true }, + { 52494, true }, + { 52508, false }, + { 52522, true }, + { 52538, true }, + { 52563, true }, + { 52575, true }, { 52590, true }, - { 52609, true }, - { 52617, true }, - { 52633, true }, + { 52602, true }, + { 52625, true }, { 52648, true }, - { 52673, true }, - { 52683, true }, - { 52693, true }, - { 52700, true }, - { 52717, true }, + { 52667, true }, + { 52675, true }, + { 52691, true }, + { 52706, true }, { 52731, true }, - { 52752, true }, - { 52761, true }, - { 52772, true }, - { 52786, false }, - { 52797, true }, - { 52813, false }, - { 52823, false }, - { 52839, true }, - { 52852, true }, - { 52866, true }, - { 52881, true }, + { 52741, true }, + { 52751, true }, + { 52758, true }, + { 52775, true }, + { 52789, true }, + { 52810, true }, + { 52819, true }, + { 52830, true }, + { 52844, false }, + { 52855, true }, + { 52871, false }, + { 52881, false }, { 52897, true }, - { 52919, true }, - { 52937, true }, - { 52951, true }, - { 52966, true }, - { 52981, true }, - { 53006, true }, - { 53026, true }, - { 53042, true }, - { 53055, true }, - { 53069, true }, - { 53082, true }, + { 52910, true }, + { 52924, true }, + { 52939, true }, + { 52955, true }, + { 52977, true }, + { 52995, true }, + { 53007, true }, + { 53021, true }, + { 53036, true }, + { 53051, true }, + { 53076, true }, + { 53096, true }, { 53112, true }, - { 53124, true }, + { 53125, true }, { 53139, true }, - { 53149, true }, - { 53165, true }, - { 53173, false }, - { 53185, true }, - { 53196, true }, - { 53205, true }, - { 53223, true }, - { 53238, true }, + { 53152, true }, + { 53182, true }, + { 53194, true }, + { 53209, true }, + { 53219, true }, + { 53235, true }, + { 53243, false }, { 53255, true }, - { 53271, true }, - { 53287, true }, - { 53300, true }, - { 53316, true }, - { 53329, true }, - { 53336, true }, - { 53353, true }, - { 53361, true }, - { 53375, true }, - { 53383, false }, - { 53394, true }, - { 53403, true }, - { 53415, true }, - { 53428, true }, - { 53436, true }, - { 53454, true }, - { 53463, true }, + { 53266, true }, + { 53275, true }, + { 53293, true }, + { 53308, true }, + { 53325, true }, + { 53341, true }, + { 53357, true }, + { 53370, true }, + { 53386, true }, + { 53399, true }, + { 53406, true }, + { 53423, true }, + { 53431, true }, + { 53445, true }, + { 53453, false }, + { 53464, true }, { 53473, true }, - { 53482, true }, - { 53490, true }, - { 53505, true }, - { 53513, true }, + { 53485, true }, + { 53498, true }, + { 53506, true }, + { 53524, true }, { 53533, true }, - { 53556, true }, - { 53569, true }, + { 53543, true }, + { 53552, true }, + { 53560, true }, + { 53575, true }, { 53583, true }, - { 53602, true }, - { 53621, true }, - { 53635, false }, - { 53644, false }, - { 53667, true }, - { 53677, true }, - { 53695, true }, - { 53715, true }, - { 53728, true }, - { 53744, true }, - { 53754, true }, - { 53764, true }, - { 53781, true }, - { 53797, true }, - { 53804, true }, - { 53823, true }, - { 53836, true }, - { 53847, true }, - { 53854, true }, - { 53865, true }, - { 53876, true }, - { 53884, false }, - { 53900, true }, - { 53910, true }, - { 53924, true }, + { 53603, true }, + { 53626, true }, + { 53639, true }, + { 53653, true }, + { 53672, true }, + { 53691, true }, + { 53705, false }, + { 53714, false }, + { 53737, true }, + { 53747, true }, + { 53765, true }, + { 53785, true }, + { 53798, true }, + { 53814, true }, + { 53824, true }, + { 53834, true }, + { 53851, true }, + { 53867, true }, + { 53874, true }, + { 53883, true }, + { 53902, true }, + { 53915, true }, + { 53926, true }, + { 53933, true }, { 53944, true }, - { 53960, true }, - { 53976, true }, - { 53997, true }, - { 54016, true }, - { 54038, true }, - { 54050, true }, - { 54061, false }, - { 54083, true }, - { 54102, true }, - { 54118, true }, - { 54136, true }, - { 54151, true }, - { 54168, true }, - { 54187, true }, - { 54199, true }, - { 54214, true }, - { 54234, true }, - { 54251, true }, - { 54261, true }, - { 54270, true }, - { 54282, true }, - { 54292, true }, - { 54301, true }, - { 54310, true }, - { 54319, true }, - { 54328, true }, - { 54338, true }, - { 54348, true }, - { 54357, true }, - { 54366, true }, - { 54375, true }, - { 54385, true }, - { 54403, true }, - { 54419, true }, + { 53955, true }, + { 53963, false }, + { 53979, true }, + { 53989, true }, + { 54003, true }, + { 54023, true }, + { 54039, true }, + { 54055, true }, + { 54076, true }, + { 54095, true }, + { 54117, true }, + { 54129, true }, + { 54140, false }, + { 54162, true }, + { 54181, true }, + { 54197, true }, + { 54215, true }, + { 54230, true }, + { 54247, true }, + { 54266, true }, + { 54278, true }, + { 54293, true }, + { 54313, true }, + { 54330, true }, + { 54340, true }, + { 54349, true }, + { 54361, true }, + { 54371, true }, + { 54380, true }, + { 54389, true }, + { 54398, true }, + { 54407, true }, + { 54417, true }, { 54427, true }, - { 54434, true }, - { 54447, true }, + { 54436, true }, + { 54445, true }, + { 54454, true }, { 54464, true }, - { 54478, true }, - { 54485, true }, - { 54495, true }, + { 54482, true }, + { 54498, true }, { 54506, true }, - { 54518, true }, - { 54535, true }, - { 54552, true }, - { 54572, true }, - { 54591, false }, - { 54605, true }, - { 54623, true }, - { 54636, true }, - { 54653, true }, - { 54667, true }, - { 54681, true }, - { 54698, true }, - { 54724, true }, - { 54739, true }, - { 54754, true }, - { 54769, true }, - { 54780, true }, - { 54793, true }, + { 54513, true }, + { 54526, true }, + { 54543, true }, + { 54557, true }, + { 54564, true }, + { 54574, true }, + { 54585, true }, + { 54597, true }, + { 54614, true }, + { 54631, true }, + { 54651, true }, + { 54670, false }, + { 54684, true }, + { 54702, true }, + { 54715, true }, + { 54732, true }, + { 54746, true }, + { 54760, true }, + { 54777, true }, { 54803, true }, - { 54814, true }, + { 54818, true }, { 54833, true }, { 54848, true }, - { 54863, true }, - { 54890, true }, - { 54900, true }, + { 54859, true }, + { 54872, true }, + { 54882, true }, + { 54893, true }, { 54912, true }, - { 54923, true }, - { 54935, true }, - { 54943, true }, - { 54954, true }, - { 54963, true }, - { 54971, true }, - { 54982, true }, - { 54997, true }, - { 55024, true }, - { 55034, true }, - { 55045, true }, - { 55056, true }, - { 55066, true }, - { 55080, true }, - { 55094, true }, - { 55105, true }, - { 55112, false }, - { 55120, true }, - { 55128, true }, - { 55144, true }, - { 55158, true }, - { 55174, true }, - { 55188, true }, - { 55202, true }, - { 55209, true }, - { 55218, true }, - { 55225, true }, + { 54927, true }, + { 54942, true }, + { 54969, true }, + { 54979, true }, + { 54991, true }, + { 55002, true }, + { 55014, true }, + { 55022, true }, + { 55033, true }, + { 55042, true }, + { 55050, true }, + { 55061, true }, + { 55076, true }, + { 55103, true }, + { 55113, true }, + { 55124, true }, + { 55135, true }, + { 55145, true }, + { 55159, true }, + { 55173, true }, + { 55184, true }, + { 55191, false }, + { 55199, true }, + { 55207, true }, + { 55223, true }, { 55237, true }, - { 55244, true }, - { 55251, true }, - { 55257, true }, - { 55273, true }, - { 55285, true }, - { 55299, true }, - { 55326, true }, - { 55358, true }, - { 55380, true }, - { 55391, true }, - { 55402, true }, - { 55413, true }, - { 55424, true }, - { 55440, true }, - { 55453, true }, + { 55253, true }, + { 55267, true }, + { 55281, true }, + { 55288, true }, + { 55297, true }, + { 55304, true }, + { 55316, true }, + { 55323, true }, + { 55330, true }, + { 55336, true }, + { 55352, true }, + { 55364, true }, + { 55378, true }, + { 55405, true }, + { 55437, true }, + { 55459, true }, { 55470, true }, - { 55496, false }, + { 55481, true }, + { 55492, true }, + { 55503, true }, { 55519, true }, - { 55535, false }, - { 55545, true }, - { 55558, true }, - { 55577, true }, - { 55590, true }, - { 55601, true }, - { 55616, true }, - { 55634, true }, - { 55646, true }, - { 55660, true }, - { 55672, true }, - { 55686, true }, - { 55703, true }, - { 55721, true }, - { 55734, true }, - { 55753, true }, - { 55763, true }, - { 55774, true }, - { 55787, true }, - { 55804, true }, - { 55822, true }, + { 55532, true }, + { 55549, true }, + { 55575, false }, + { 55598, true }, + { 55614, false }, + { 55624, true }, + { 55637, true }, + { 55656, true }, + { 55669, true }, + { 55680, true }, + { 55695, true }, + { 55713, true }, + { 55725, true }, + { 55739, true }, + { 55751, true }, + { 55765, true }, + { 55782, true }, + { 55800, true }, + { 55813, true }, + { 55832, true }, + { 55842, true }, { 55853, true }, { 55866, true }, - { 55875, true }, - { 55893, true }, - { 55913, true }, - { 55927, true }, - { 55946, true }, - { 55964, true }, - { 55980, true }, - { 56000, true }, - { 56021, true }, - { 56042, true }, - { 56058, true }, - { 56074, true }, - { 56093, true }, - { 56108, true }, - { 56129, true }, - { 56149, true }, - { 56169, true }, - { 56185, true }, - { 56200, true }, - { 56220, true }, - { 56236, true }, - { 56255, true }, - { 56273, true }, - { 56289, true }, - { 56300, false }, - { 56310, true }, - { 56319, true }, - { 56331, true }, - { 56349, true }, - { 56358, true }, - { 56376, true }, - { 56390, true }, - { 56408, true }, - { 56418, false }, - { 56430, true }, - { 56443, true }, - { 56458, true }, - { 56473, true }, - { 56488, true }, - { 56496, true }, - { 56514, true }, - { 56548, true }, - { 56559, true }, - { 56576, true }, - { 56589, false }, - { 56603, true }, - { 56621, true }, - { 56632, true }, - { 56650, true }, - { 56665, true }, - { 56676, true }, - { 56690, true }, - { 56705, true }, - { 56721, true }, - { 56738, true }, - { 56750, true }, - { 56779, true }, - { 56812, true }, - { 56824, true }, - { 56836, true }, - { 56853, true }, - { 56868, true }, - { 56880, true }, - { 56892, true }, - { 56907, false }, - { 56919, true }, - { 56928, true }, - { 56940, true }, - { 56952, true }, - { 56969, true }, - { 56984, true }, + { 55883, true }, + { 55901, true }, + { 55932, true }, + { 55945, true }, + { 55954, true }, + { 55972, true }, + { 55992, true }, + { 56006, true }, + { 56025, true }, + { 56043, true }, + { 56059, true }, + { 56079, true }, + { 56100, true }, + { 56121, true }, + { 56137, true }, + { 56153, true }, + { 56172, true }, + { 56187, true }, + { 56208, true }, + { 56228, true }, + { 56248, true }, + { 56264, true }, + { 56279, true }, + { 56299, true }, + { 56315, true }, + { 56334, true }, + { 56352, true }, + { 56368, true }, + { 56379, false }, + { 56389, true }, + { 56398, true }, + { 56410, true }, + { 56428, true }, + { 56437, true }, + { 56455, true }, + { 56469, true }, + { 56487, true }, + { 56497, false }, + { 56509, true }, + { 56522, true }, + { 56537, true }, + { 56552, true }, + { 56567, true }, + { 56575, true }, + { 56593, true }, + { 56627, true }, + { 56638, true }, + { 56655, true }, + { 56668, false }, + { 56682, true }, + { 56700, true }, + { 56711, true }, + { 56729, true }, + { 56744, true }, + { 56755, true }, + { 56769, true }, + { 56784, true }, + { 56800, true }, + { 56817, true }, + { 56829, true }, + { 56858, true }, + { 56891, true }, + { 56903, true }, + { 56915, true }, + { 56932, true }, + { 56947, true }, + { 56959, true }, + { 56971, true }, + { 56986, false }, { 56998, true }, - { 57013, false }, - { 57027, true }, - { 57037, true }, - { 57057, true }, - { 57075, true }, - { 57088, false }, - { 57102, true }, - { 57113, true }, - { 57126, true }, - { 57135, true }, - { 57145, false }, - { 57161, true }, - { 57173, true }, - { 57188, true }, - { 57202, true }, - { 57216, true }, - { 57230, true }, - { 57244, true }, - { 57264, true }, - { 57285, true }, - { 57303, true }, - { 57314, true }, - { 57334, true }, - { 57347, true }, - { 57360, true }, - { 57387, true }, - { 57398, true }, - { 57415, true }, - { 57441, true }, - { 57461, true }, - { 57475, true }, - { 57492, false }, - { 57506, true }, - { 57520, false }, - { 57537, true }, - { 57562, true }, - { 57578, true }, - { 57591, true }, - { 57604, true }, - { 57620, true }, - { 57647, true }, - { 57666, true }, - { 57685, false }, - { 57697, true }, - { 57708, true }, - { 57723, true }, - { 57735, true }, - { 57750, true }, - { 57765, true }, - { 57780, true }, + { 57007, true }, + { 57019, true }, + { 57031, true }, + { 57048, true }, + { 57063, true }, + { 57077, true }, + { 57092, false }, + { 57106, true }, + { 57116, true }, + { 57136, true }, + { 57154, true }, + { 57167, false }, + { 57181, true }, + { 57192, true }, + { 57205, true }, + { 57214, true }, + { 57224, false }, + { 57240, true }, + { 57252, true }, + { 57267, true }, + { 57281, true }, + { 57295, true }, + { 57309, true }, + { 57323, true }, + { 57343, true }, + { 57364, true }, + { 57382, true }, + { 57393, true }, + { 57413, true }, + { 57426, true }, + { 57439, true }, + { 57466, true }, + { 57477, true }, + { 57494, true }, + { 57520, true }, + { 57540, true }, + { 57554, true }, + { 57571, false }, + { 57585, true }, + { 57599, false }, + { 57616, true }, + { 57641, true }, + { 57657, true }, + { 57670, true }, + { 57683, true }, + { 57699, true }, + { 57726, true }, + { 57745, true }, + { 57764, false }, + { 57776, true }, + { 57787, true }, { 57802, true }, - { 57820, true }, - { 57836, true }, - { 57853, true }, - { 57873, true }, - { 57887, true }, - { 57903, true }, - { 57921, true }, - { 57934, true }, - { 57951, true }, - { 57964, true }, - { 57978, true }, - { 57993, true }, - { 58008, true }, - { 58024, true }, + { 57814, true }, + { 57829, true }, + { 57844, true }, + { 57859, true }, + { 57881, true }, + { 57899, true }, + { 57915, true }, + { 57932, true }, + { 57952, true }, + { 57966, true }, + { 57982, true }, + { 58000, true }, + { 58013, true }, + { 58030, true }, { 58043, true }, - { 58064, true }, - { 58081, true }, - { 58097, true }, - { 58116, true }, - { 58133, true }, - { 58153, true }, - { 58165, true }, - { 58178, true }, - { 58189, true }, - { 58215, true }, - { 58235, false }, - { 58246, true }, - { 58264, true }, - { 58278, true }, - { 58290, true }, - { 58301, true }, - { 58309, true }, - { 58318, true }, - { 58326, true }, + { 58057, true }, + { 58072, true }, + { 58087, true }, + { 58103, true }, + { 58122, true }, + { 58143, true }, + { 58160, true }, + { 58176, true }, + { 58195, true }, + { 58212, true }, + { 58232, true }, + { 58244, true }, + { 58257, true }, + { 58268, true }, + { 58294, true }, + { 58314, false }, + { 58325, true }, { 58343, true }, - { 58354, true }, - { 58366, true }, - { 58374, true }, - { 58384, true }, - { 58395, true }, - { 58416, true }, - { 58428, true }, - { 58439, true }, - { 58447, true }, - { 58459, true }, - { 58467, true }, - { 58478, true }, - { 58489, true }, - { 58499, true }, - { 58510, false }, - { 58518, false }, - { 58534, true }, - { 58547, true }, - { 58562, true }, - { 58579, true }, - { 58601, true }, - { 58622, true }, - { 58630, true }, - { 58643, true }, - { 58653, true }, - { 58664, false }, - { 58684, true }, - { 58699, true }, - { 58711, true }, - { 58724, true }, - { 58737, true }, - { 58749, true }, - { 58761, true }, - { 58782, true }, - { 58796, true }, - { 58810, true }, - { 58827, true }, + { 58357, true }, + { 58369, true }, + { 58380, true }, + { 58388, true }, + { 58397, true }, + { 58405, true }, + { 58422, true }, + { 58433, true }, + { 58445, true }, + { 58453, true }, + { 58463, true }, + { 58474, true }, + { 58495, true }, + { 58507, true }, + { 58518, true }, + { 58526, true }, + { 58538, true }, + { 58546, true }, + { 58557, true }, + { 58568, true }, + { 58578, true }, + { 58589, false }, + { 58597, false }, + { 58613, true }, + { 58626, true }, + { 58641, true }, + { 58658, true }, + { 58680, true }, + { 58701, true }, + { 58709, true }, + { 58722, true }, + { 58732, true }, + { 58746, true }, + { 58757, false }, + { 58777, true }, + { 58792, true }, + { 58804, true }, + { 58817, true }, + { 58830, true }, { 58842, true }, - { 58856, true }, - { 58870, true }, - { 58884, true }, - { 58898, true }, - { 58912, true }, - { 58927, true }, - { 58939, true }, - { 58953, true }, - { 58968, true }, - { 58983, true }, - { 58995, true }, - { 59007, true }, - { 59019, true }, - { 59029, true }, - { 59042, true }, - { 59055, true }, + { 58854, true }, + { 58875, true }, + { 58889, true }, + { 58903, true }, + { 58920, true }, + { 58935, true }, + { 58949, true }, + { 58963, true }, + { 58977, true }, + { 58991, true }, + { 59005, true }, + { 59020, true }, + { 59032, true }, + { 59046, true }, + { 59061, true }, { 59076, true }, - { 59091, true }, - { 59108, true }, - { 59121, true }, - { 59133, true }, - { 59146, true }, - { 59161, true }, - { 59178, true }, - { 59195, true }, - { 59207, true }, - { 59215, true }, - { 59227, true }, - { 59236, true }, - { 59256, true }, - { 59267, true }, - { 59282, true }, - { 59298, true }, - { 59305, true }, - { 59312, true }, - { 59335, true }, + { 59088, true }, + { 59100, true }, + { 59112, true }, + { 59122, true }, + { 59135, true }, + { 59148, true }, + { 59169, true }, + { 59184, true }, + { 59201, true }, + { 59214, true }, + { 59226, true }, + { 59239, true }, + { 59254, true }, + { 59271, true }, + { 59288, true }, + { 59300, true }, + { 59308, true }, + { 59320, true }, + { 59329, true }, { 59349, true }, - { 59364, true }, - { 59379, true }, - { 59394, true }, + { 59360, true }, + { 59375, true }, + { 59391, true }, + { 59398, true }, { 59405, true }, - { 59415, true }, - { 59424, true }, - { 59436, true }, - { 59447, true }, - { 59458, true }, - { 59471, true }, - { 59492, true }, - { 59502, true }, - { 59518, true }, - { 59533, true }, - { 59549, true }, - { 59566, true }, - { 59582, true }, - { 59599, true }, - { 59613, true }, - { 59628, true }, - { 59644, true }, + { 59428, true }, + { 59442, true }, + { 59457, true }, + { 59472, true }, + { 59487, true }, + { 59498, true }, + { 59508, true }, + { 59517, true }, + { 59529, true }, + { 59540, true }, + { 59551, true }, + { 59564, true }, + { 59585, true }, + { 59595, true }, + { 59611, true }, + { 59626, true }, + { 59642, true }, { 59659, true }, - { 59669, true }, - { 59682, true }, - { 59694, true }, - { 59722, true }, - { 59734, true }, - { 59744, true }, - { 59758, true }, - { 59769, true }, - { 59785, true }, - { 59796, true }, - { 59809, true }, - { 59829, true }, - { 59840, true }, - { 59862, true }, - { 59882, true }, + { 59675, true }, + { 59692, true }, + { 59706, true }, + { 59721, true }, + { 59737, true }, + { 59752, true }, + { 59762, true }, + { 59775, true }, + { 59787, true }, + { 59815, true }, + { 59827, true }, + { 59841, true }, + { 59851, true }, + { 59865, true }, + { 59876, true }, + { 59892, true }, { 59903, true }, - { 59918, true }, - { 59932, true }, + { 59916, true }, + { 59936, true }, { 59947, true }, - { 59959, true }, - { 59970, true }, + { 59969, true }, { 59989, true }, - { 60001, true }, - { 60014, true }, - { 60028, true }, - { 60041, true }, - { 60058, true }, - { 60071, true }, - { 60083, true }, + { 60010, true }, + { 60025, true }, + { 60039, true }, + { 60054, true }, + { 60066, true }, + { 60077, true }, { 60096, true }, { 60108, true }, { 60121, true }, - { 60134, true }, { 60145, true }, - { 60163, true }, - { 60181, true }, - { 60193, true }, - { 60208, true }, - { 60223, true }, - { 60237, true }, - { 60253, true }, - { 60267, true }, - { 60275, true }, - { 60304, true }, - { 60323, true }, - { 60336, true }, - { 60361, true }, - { 60378, true }, - { 60399, true }, - { 60411, true }, - { 60424, true }, - { 60441, true }, - { 60461, true }, - { 60473, true }, - { 60497, true }, + { 60159, true }, + { 60172, true }, + { 60189, true }, + { 60202, true }, + { 60214, true }, + { 60227, true }, + { 60239, true }, + { 60252, true }, + { 60265, true }, + { 60276, true }, + { 60294, true }, + { 60312, true }, + { 60324, true }, + { 60339, true }, + { 60354, true }, + { 60368, true }, + { 60384, true }, + { 60398, true }, + { 60406, true }, + { 60435, true }, + { 60454, true }, + { 60467, true }, + { 60492, true }, + { 60509, true }, { 60530, true }, - { 60553, true }, - { 60565, true }, - { 60587, true }, + { 60542, true }, + { 60555, true }, + { 60572, true }, + { 60592, true }, { 60604, true }, - { 60619, true }, - { 60633, true }, - { 60659, true }, - { 60669, true }, - { 60688, true }, - { 60701, true }, - { 60711, true }, - { 60721, true }, - { 60742, true }, - { 60751, true }, - { 60769, true }, - { 60787, true }, - { 60800, true }, - { 60818, true }, - { 60835, true }, - { 60857, true }, + { 60628, true }, + { 60661, true }, + { 60684, true }, + { 60696, true }, + { 60718, true }, + { 60735, true }, + { 60750, true }, + { 60764, true }, + { 60774, true }, + { 60793, true }, + { 60806, true }, + { 60816, true }, + { 60826, true }, + { 60847, true }, + { 60856, true }, { 60874, true }, - { 60886, true }, - { 60904, true }, - { 60921, true }, - { 60948, true }, - { 60973, true }, - { 60993, true }, - { 61008, true }, - { 61023, true }, - { 61036, true }, - { 61057, true }, - { 61082, true }, - { 61098, false }, - { 61109, true }, - { 61122, true }, - { 61153, true }, - { 61182, true }, - { 61193, false }, - { 61207, true }, - { 61221, true }, - { 61240, true }, - { 61254, true }, - { 61269, false }, - { 61284, true }, - { 61301, true }, - { 61310, true }, - { 61320, true }, - { 61358, true }, - { 61373, true }, - { 61384, true }, - { 61396, true }, - { 61414, true }, + { 60892, true }, + { 60905, true }, + { 60923, true }, + { 60940, true }, + { 60962, true }, + { 60979, true }, + { 60991, true }, + { 61009, true }, + { 61026, true }, + { 61053, true }, + { 61078, true }, + { 61098, true }, + { 61113, true }, + { 61128, true }, + { 61141, true }, + { 61162, true }, + { 61187, true }, + { 61203, false }, + { 61214, true }, + { 61227, true }, + { 61258, true }, + { 61287, true }, + { 61298, false }, + { 61312, true }, + { 61326, true }, + { 61345, true }, + { 61359, true }, + { 61374, false }, + { 61389, true }, + { 61406, true }, + { 61415, true }, { 61425, true }, - { 61433, true }, - { 61442, true }, - { 61455, true }, - { 61465, true }, - { 61474, true }, - { 61490, false }, - { 61515, true }, - { 61533, false }, - { 61557, true }, - { 61571, true }, - { 61590, true }, - { 61617, true }, - { 61629, true }, - { 61641, true }, - { 61649, true }, - { 61658, true }, - { 61672, true }, - { 61689, true }, - { 61705, true }, - { 61720, false }, - { 61732, true }, - { 61744, true }, - { 61761, true }, - { 61771, true }, - { 61783, true }, - { 61795, true }, - { 61805, true }, - { 61819, true }, - { 61836, true }, - { 61854, false }, - { 61874, true }, - { 61886, true }, - { 61898, true }, + { 61463, true }, + { 61478, true }, + { 61489, true }, + { 61501, true }, + { 61519, true }, + { 61530, true }, + { 61538, true }, + { 61547, true }, + { 61560, true }, + { 61570, true }, + { 61579, true }, + { 61595, false }, + { 61620, true }, + { 61638, false }, + { 61662, true }, + { 61676, true }, + { 61695, true }, + { 61722, true }, + { 61734, true }, + { 61746, true }, + { 61754, true }, + { 61763, true }, + { 61777, true }, + { 61794, true }, + { 61810, true }, + { 61825, false }, + { 61837, true }, + { 61849, true }, + { 61866, true }, + { 61876, true }, + { 61888, true }, + { 61900, true }, { 61910, true }, - { 61919, true }, - { 61930, true }, - { 61942, true }, - { 61955, true }, - { 61964, true }, - { 61974, true }, - { 61987, true }, - { 62009, true }, - { 62023, true }, - { 62032, true }, - { 62044, true }, - { 62051, true }, - { 62064, true }, - { 62076, true }, - { 62085, true }, - { 62094, true }, - { 62104, true }, - { 62118, true }, - { 62135, true }, - { 62146, true }, - { 62159, true }, - { 62173, true }, - { 62182, true }, - { 62191, true }, - { 62206, true }, - { 62218, true }, - { 62234, true }, - { 62250, true }, - { 62267, true }, - { 62284, true }, - { 62293, true }, - { 62303, true }, - { 62325, true }, - { 62334, true }, - { 62346, true }, - { 62369, true }, - { 62383, true }, - { 62397, true }, - { 62412, true }, - { 62445, true }, - { 62473, true }, - { 62482, true }, - { 62498, true }, - { 62510, true }, - { 62521, true }, - { 62532, true }, - { 62557, true }, - { 62572, true }, - { 62594, true }, - { 62619, true }, - { 62635, true }, - { 62666, true }, + { 61924, true }, + { 61941, true }, + { 61959, false }, + { 61979, true }, + { 61991, true }, + { 62003, true }, + { 62015, true }, + { 62024, true }, + { 62035, true }, + { 62047, true }, + { 62060, true }, + { 62069, true }, + { 62079, true }, + { 62092, true }, + { 62114, true }, + { 62128, true }, + { 62137, true }, + { 62149, true }, + { 62156, true }, + { 62169, true }, + { 62181, true }, + { 62190, true }, + { 62199, true }, + { 62209, true }, + { 62223, true }, + { 62240, true }, + { 62251, true }, + { 62264, true }, + { 62278, true }, + { 62287, true }, + { 62296, true }, + { 62311, true }, + { 62323, true }, + { 62339, true }, + { 62355, true }, + { 62372, true }, + { 62389, true }, + { 62398, true }, + { 62408, true }, + { 62430, true }, + { 62439, true }, + { 62451, true }, + { 62474, true }, + { 62488, true }, + { 62502, true }, + { 62517, true }, + { 62550, true }, + { 62578, true }, + { 62587, true }, + { 62603, true }, + { 62615, true }, + { 62626, true }, + { 62637, true }, + { 62662, true }, { 62677, true }, - { 62689, true }, - { 62705, true }, - { 62719, true }, - { 62734, true }, - { 62752, true }, - { 62761, true }, - { 62775, true }, - { 62793, true }, - { 62807, true }, - { 62822, true }, - { 62840, true }, - { 62850, true }, - { 62863, true }, - { 62873, true }, - { 62896, true }, - { 62908, true }, - { 62923, true }, - { 62938, true }, - { 62952, true }, - { 62966, true }, - { 62979, true }, - { 62991, true }, - { 63005, true }, - { 63016, true }, - { 63027, true }, - { 63039, true }, - { 63051, true }, - { 63064, true }, - { 63075, true }, - { 63087, true }, - { 63103, false }, - { 63116, true }, - { 63127, true }, - { 63139, false }, + { 62699, true }, + { 62724, true }, + { 62740, true }, + { 62771, true }, + { 62782, true }, + { 62794, true }, + { 62810, true }, + { 62824, true }, + { 62839, true }, + { 62857, true }, + { 62866, true }, + { 62880, true }, + { 62898, true }, + { 62912, true }, + { 62927, true }, + { 62945, true }, + { 62955, true }, + { 62968, true }, + { 62978, true }, + { 63001, true }, + { 63013, true }, + { 63028, true }, + { 63043, true }, + { 63057, true }, + { 63071, true }, + { 63084, true }, + { 63096, true }, + { 63110, true }, + { 63121, true }, + { 63132, true }, + { 63144, true }, { 63156, true }, - { 63176, true }, - { 63193, true }, - { 63217, true }, - { 63235, true }, - { 63251, true }, - { 63267, true }, - { 63282, true }, - { 63297, true }, - { 63320, true }, - { 63346, true }, - { 63366, true }, - { 63386, true }, - { 63408, false }, - { 63426, true }, - { 63445, true }, - { 63462, true }, - { 63481, true }, - { 63494, true }, - { 63511, true }, - { 63521, false }, - { 63538, true }, - { 63557, true }, - { 63565, true }, - { 63582, true }, - { 63596, true }, - { 63613, true }, - { 63621, true }, - { 63632, true }, - { 63650, true }, + { 63169, true }, + { 63180, true }, + { 63192, true }, + { 63208, false }, + { 63221, true }, + { 63232, true }, + { 63244, false }, + { 63261, true }, + { 63281, true }, + { 63298, true }, + { 63322, true }, + { 63340, true }, + { 63356, true }, + { 63372, true }, + { 63387, true }, + { 63402, true }, + { 63425, true }, + { 63451, true }, + { 63471, true }, + { 63491, true }, + { 63513, false }, + { 63531, true }, + { 63550, true }, + { 63567, true }, + { 63586, true }, + { 63599, true }, + { 63616, true }, + { 63626, false }, + { 63643, true }, { 63662, true }, - { 63672, true }, - { 63683, true }, - { 63693, true }, - { 63703, true }, - { 63716, true }, - { 63730, true }, - { 63741, true }, - { 63754, true }, - { 63773, false }, - { 63781, true }, - { 63792, true }, - { 63803, true }, - { 63816, true }, - { 63829, true }, - { 63848, true }, - { 63864, true }, - { 63888, true }, - { 63900, true }, - { 63914, true }, - { 63928, true }, - { 63939, true }, - { 63950, true }, - { 63964, true }, - { 63976, true }, - { 63991, true }, - { 64007, true }, + { 63670, true }, + { 63687, true }, + { 63701, true }, + { 63718, true }, + { 63726, true }, + { 63737, true }, + { 63755, true }, + { 63767, true }, + { 63777, true }, + { 63788, true }, + { 63798, true }, + { 63808, true }, + { 63821, true }, + { 63835, true }, + { 63846, true }, + { 63859, true }, + { 63878, false }, + { 63886, true }, + { 63897, true }, + { 63908, true }, + { 63921, true }, + { 63934, true }, + { 63953, true }, + { 63969, true }, + { 63993, true }, + { 64005, true }, { 64019, true }, { 64033, true }, - { 64054, true }, + { 64044, true }, + { 64055, true }, { 64069, true }, - { 64087, true }, - { 64102, true }, - { 64116, false }, + { 64081, true }, + { 64096, true }, + { 64112, true }, + { 64124, true }, { 64138, true }, - { 64160, true }, - { 64181, true }, - { 64198, true }, - { 64214, true }, - { 64228, true }, - { 64249, true }, + { 64159, true }, + { 64174, true }, + { 64192, true }, + { 64207, true }, + { 64221, false }, + { 64243, true }, { 64265, true }, - { 64282, false }, - { 64302, true }, - { 64332, true }, - { 64358, true }, - { 64380, true }, - { 64400, true }, - { 64414, true }, + { 64286, true }, + { 64303, true }, + { 64319, true }, + { 64333, true }, + { 64354, true }, + { 64370, true }, + { 64387, false }, + { 64407, true }, { 64437, true }, - { 64460, true }, - { 64479, true }, - { 64501, true }, + { 64463, true }, + { 64485, true }, + { 64505, true }, { 64519, true }, - { 64537, true }, - { 64548, true }, - { 64559, true }, - { 64569, true }, - { 64586, true }, - { 64605, true }, - { 64615, true }, - { 64633, true }, - { 64652, true }, - { 64662, true }, - { 64680, true }, - { 64689, false }, - { 64709, true }, - { 64717, true }, - { 64727, false }, - { 64742, true }, - { 64756, true }, - { 64769, true }, - { 64777, true }, - { 64784, true }, - { 64793, true }, - { 64806, true }, - { 64815, false }, - { 64830, true }, - { 64839, false }, - { 64848, true }, - { 64865, true }, + { 64542, true }, + { 64565, true }, + { 64584, true }, + { 64606, true }, + { 64624, true }, + { 64642, true }, + { 64653, true }, + { 64664, true }, + { 64674, true }, + { 64691, true }, + { 64710, true }, + { 64720, true }, + { 64738, true }, + { 64757, true }, + { 64767, true }, + { 64785, true }, + { 64794, false }, + { 64814, true }, + { 64822, true }, + { 64832, false }, + { 64847, true }, + { 64861, true }, { 64874, true }, - { 64881, true }, + { 64882, true }, { 64889, true }, - { 64901, true }, - { 64911, true }, - { 64928, true }, - { 64936, false }, - { 64944, true }, - { 64952, true }, - { 64959, true }, - { 64970, true }, - { 64983, true }, - { 64990, true }, - { 65001, true }, - { 65011, true }, - { 65026, true }, - { 65043, true }, - { 65058, true }, - { 65071, true }, - { 65083, true }, - { 65098, true }, - { 65109, true }, - { 65119, true }, - { 65125, true }, - { 65133, true }, - { 65142, true }, + { 64898, true }, + { 64907, false }, + { 64922, true }, + { 64931, false }, + { 64940, true }, + { 64957, true }, + { 64966, true }, + { 64973, true }, + { 64981, true }, + { 64993, true }, + { 65003, true }, + { 65020, true }, + { 65028, false }, + { 65036, true }, + { 65044, true }, + { 65051, true }, + { 65062, true }, + { 65075, true }, + { 65082, true }, + { 65093, true }, + { 65103, true }, + { 65118, true }, + { 65135, true }, { 65150, true }, - { 65164, true }, - { 65176, true }, - { 65191, true }, - { 65198, true }, - { 65208, true }, + { 65163, true }, + { 65175, true }, + { 65190, true }, + { 65201, true }, + { 65211, true }, + { 65217, true }, { 65225, true }, - { 65243, true }, - { 65260, true }, - { 65272, true }, - { 65282, true }, - { 65296, true }, - { 65309, false }, - { 65325, true }, - { 65341, true }, - { 65360, true }, + { 65234, true }, + { 65242, true }, + { 65256, true }, + { 65268, true }, + { 65283, true }, + { 65290, true }, + { 65300, true }, + { 65317, true }, + { 65335, true }, + { 65352, true }, + { 65364, true }, { 65374, true }, - { 65390, true }, - { 65403, true }, - { 65418, true }, - { 65429, true }, - { 65441, true }, - { 65450, false }, - { 65459, true }, - { 65479, true }, - { 65488, true }, + { 65388, true }, + { 65401, false }, + { 65417, true }, + { 65433, true }, + { 65452, true }, + { 65466, true }, + { 65482, true }, + { 65495, true }, { 65510, true }, - { 65520, true }, + { 65521, true }, { 65533, true }, - { 65545, true }, - { 65560, true }, - { 65574, true }, - { 65586, true }, - { 65608, true }, - { 65619, true }, - { 65627, true }, - { 65638, true }, + { 65542, false }, + { 65551, true }, + { 65571, true }, + { 65580, true }, + { 65602, true }, + { 65612, true }, + { 65625, true }, + { 65637, true }, { 65652, true }, - { 65672, true }, - { 65686, true }, - { 65709, true }, - { 65725, true }, - { 65733, true }, - { 65747, true }, - { 65762, true }, - { 65791, true }, - { 65810, false }, - { 65827, true }, - { 65841, true }, - { 65860, true }, - { 65876, true }, - { 65891, true }, - { 65902, true }, - { 65913, true }, - { 65925, true }, - { 65946, true }, - { 65963, true }, - { 65984, true }, - { 65999, true }, - { 66016, true }, - { 66034, true }, - { 66050, true }, - { 66065, true }, - { 66093, true }, - { 66112, false }, - { 66124, true }, - { 66138, true }, - { 66151, true }, - { 66170, true }, - { 66186, true }, - { 66200, true }, - { 66215, true }, - { 66238, true }, - { 66247, true }, - { 66260, true }, - { 66277, true }, + { 65666, true }, + { 65678, true }, + { 65700, true }, + { 65711, true }, + { 65719, true }, + { 65730, true }, + { 65744, true }, + { 65764, true }, + { 65778, true }, + { 65801, true }, + { 65817, true }, + { 65825, true }, + { 65839, true }, + { 65854, true }, + { 65883, true }, + { 65902, false }, + { 65919, true }, + { 65933, true }, + { 65952, true }, + { 65968, true }, + { 65983, true }, + { 65994, true }, + { 66005, true }, + { 66017, true }, + { 66038, true }, + { 66055, true }, + { 66076, true }, + { 66091, true }, + { 66108, true }, + { 66126, true }, + { 66142, true }, + { 66157, true }, + { 66185, true }, + { 66204, false }, + { 66216, true }, + { 66230, true }, + { 66243, true }, + { 66262, true }, + { 66278, true }, { 66292, true }, - { 66313, true }, - { 66328, true }, - { 66341, true }, - { 66354, true }, - { 66366, true }, - { 66391, false }, - { 66401, true }, - { 66415, true }, - { 66426, true }, - { 66445, true }, + { 66307, true }, + { 66330, true }, + { 66339, true }, + { 66352, true }, + { 66369, true }, + { 66384, true }, + { 66405, true }, + { 66420, true }, + { 66433, true }, + { 66446, true }, { 66458, true }, - { 66475, true }, - { 66492, true }, - { 66503, true }, - { 66517, true }, - { 66539, true }, - { 66552, true }, - { 66561, true }, - { 66570, true }, - { 66579, true }, - { 66598, true }, - { 66605, true }, - { 66620, true }, + { 66483, false }, + { 66493, true }, + { 66507, true }, + { 66518, true }, + { 66537, true }, + { 66550, true }, + { 66567, true }, + { 66584, true }, + { 66595, true }, + { 66609, true }, { 66631, true }, - { 66655, true }, - { 66666, true }, - { 66676, true }, - { 66689, true }, - { 66701, true }, + { 66644, true }, + { 66653, true }, + { 66662, true }, + { 66671, true }, + { 66690, true }, + { 66697, true }, { 66712, true }, { 66723, true }, - { 66735, true }, - { 66756, true }, - { 66770, true }, - { 66789, true }, + { 66747, true }, + { 66758, true }, + { 66768, true }, + { 66781, true }, + { 66793, true }, { 66804, true }, - { 66816, true }, - { 66831, true }, - { 66843, true }, - { 66853, true }, - { 66869, true }, - { 66890, true }, - { 66907, true }, - { 66936, true }, - { 66952, true }, - { 66966, true }, - { 66977, true }, - { 66986, false }, - { 67009, false }, - { 67023, true }, - { 67032, true }, - { 67043, true }, - { 67055, true }, - { 67068, true }, - { 67080, true }, - { 67094, true }, - { 67112, true }, - { 67127, true }, + { 66815, true }, + { 66827, true }, + { 66848, true }, + { 66862, true }, + { 66881, true }, + { 66896, true }, + { 66908, true }, + { 66923, true }, + { 66935, true }, + { 66945, true }, + { 66961, true }, + { 66982, true }, + { 66999, true }, + { 67028, true }, + { 67044, true }, + { 67058, true }, + { 67069, true }, + { 67078, false }, + { 67101, false }, + { 67115, true }, + { 67124, true }, + { 67135, true }, { 67147, true }, - { 67163, false }, - { 67175, true }, - { 67192, true }, - { 67210, true }, - { 67227, true }, - { 67238, true }, - { 67256, true }, - { 67275, true }, - { 67289, true }, - { 67308, true }, - { 67327, true }, - { 67341, true }, - { 67352, true }, - { 67362, true }, - { 67375, true }, - { 67391, true }, - { 67405, true }, - { 67425, true }, - { 67434, true }, - { 67451, true }, - { 67471, true }, - { 67490, true }, - { 67509, false }, - { 67527, true }, + { 67160, true }, + { 67172, true }, + { 67186, true }, + { 67204, true }, + { 67219, true }, + { 67239, true }, + { 67255, false }, + { 67267, true }, + { 67284, true }, + { 67302, true }, + { 67319, true }, + { 67330, true }, + { 67348, true }, + { 67367, true }, + { 67381, true }, + { 67400, true }, + { 67419, true }, + { 67433, true }, + { 67444, true }, + { 67454, true }, + { 67467, true }, + { 67483, true }, + { 67497, true }, + { 67517, true }, + { 67526, true }, { 67543, true }, - { 67557, true }, - { 67573, true }, - { 67588, true }, - { 67602, true }, - { 67611, true }, - { 67626, true }, - { 67644, true }, - { 67652, true }, - { 67665, true }, - { 67680, true }, - { 67693, true }, - { 67705, true }, + { 67563, true }, + { 67582, true }, + { 67601, false }, + { 67619, true }, + { 67635, true }, + { 67649, true }, + { 67664, true }, + { 67678, true }, + { 67687, true }, + { 67702, true }, { 67720, true }, - { 67736, false }, - { 67746, false }, - { 67763, true }, - { 67776, true }, - { 67794, true }, - { 67808, true }, - { 67830, true }, + { 67728, true }, + { 67741, true }, + { 67756, true }, + { 67769, true }, + { 67781, true }, + { 67796, true }, + { 67812, false }, + { 67822, false }, + { 67839, true }, { 67852, true }, { 67870, true }, - { 67881, true }, - { 67900, true }, - { 67909, true }, - { 67930, true }, - { 67942, false }, - { 67955, true }, + { 67884, true }, + { 67906, true }, + { 67928, true }, + { 67946, true }, + { 67957, true }, { 67976, true }, - { 67988, true }, - { 68001, true }, - { 68016, true }, - { 68029, true }, - { 68046, true }, - { 68058, true }, - { 68075, true }, - { 68084, true }, - { 68099, true }, - { 68129, true }, - { 68167, true }, - { 68198, true }, - { 68230, true }, - { 68258, true }, - { 68287, true }, - { 68321, true }, - { 68359, true }, - { 68389, true }, - { 68419, true }, - { 68448, true }, - { 68484, true }, - { 68496, true }, - { 68510, true }, - { 68531, true }, - { 68547, true }, - { 68557, true }, - { 68567, true }, - { 68582, true }, - { 68604, true }, - { 68613, true }, - { 68627, true }, - { 68637, true }, - { 68657, true }, - { 68674, true }, - { 68685, true }, - { 68701, true }, - { 68719, true }, - { 68727, true }, - { 68741, true }, - { 68756, true }, - { 68770, true }, - { 68778, true }, - { 68787, true }, - { 68810, true }, - { 68826, true }, - { 68837, true }, - { 68852, true }, - { 68865, true }, - { 68883, true }, - { 68895, true }, - { 68911, true }, - { 68926, true }, - { 68939, true }, - { 68955, true }, - { 68966, true }, - { 68981, true }, - { 68998, true }, - { 69009, true }, - { 69018, true }, - { 69027, true }, - { 69043, true }, - { 69053, false }, - { 69072, true }, - { 69086, true }, - { 69104, true }, - { 69112, true }, - { 69121, true }, - { 69136, true }, - { 69144, true }, - { 69154, true }, - { 69169, true }, - { 69182, true }, - { 69192, true }, - { 69213, true }, - { 69222, true }, - { 69231, true }, - { 69242, true }, + { 67985, true }, + { 68006, true }, + { 68018, false }, + { 68031, true }, + { 68052, true }, + { 68064, true }, + { 68077, true }, + { 68092, true }, + { 68105, true }, + { 68122, true }, + { 68134, true }, + { 68151, true }, + { 68160, true }, + { 68175, true }, + { 68205, true }, + { 68243, true }, + { 68274, true }, + { 68306, true }, + { 68334, true }, + { 68363, true }, + { 68397, true }, + { 68435, true }, + { 68465, true }, + { 68495, true }, + { 68524, true }, + { 68560, true }, + { 68572, true }, + { 68586, true }, + { 68607, true }, + { 68623, true }, + { 68633, true }, + { 68643, true }, + { 68658, true }, + { 68680, true }, + { 68689, true }, + { 68703, true }, + { 68713, true }, + { 68733, true }, + { 68750, true }, + { 68761, true }, + { 68777, true }, + { 68795, true }, + { 68803, true }, + { 68817, true }, + { 68832, true }, + { 68846, true }, + { 68854, true }, + { 68863, true }, + { 68886, true }, + { 68902, true }, + { 68913, true }, + { 68928, true }, + { 68941, true }, + { 68959, true }, + { 68971, true }, + { 68987, true }, + { 69002, true }, + { 69015, true }, + { 69031, true }, + { 69042, true }, + { 69057, true }, + { 69074, true }, + { 69085, true }, + { 69094, true }, + { 69103, true }, + { 69119, true }, + { 69129, false }, + { 69148, true }, + { 69162, true }, + { 69180, true }, + { 69188, true }, + { 69197, true }, + { 69212, true }, + { 69220, true }, + { 69230, true }, + { 69245, true }, { 69258, true }, { 69268, true }, - { 69287, true }, - { 69300, true }, + { 69289, true }, + { 69298, true }, + { 69307, true }, { 69318, true }, - { 69338, true }, - { 69358, true }, - { 69371, true }, - { 69382, true }, - { 69400, true }, - { 69410, true }, - { 69419, true }, - { 69428, true }, - { 69437, true }, - { 69448, true }, - { 69456, false }, - { 69463, true }, - { 69473, true }, - { 69485, true }, - { 69499, true }, + { 69334, true }, + { 69344, true }, + { 69363, true }, + { 69376, true }, + { 69394, true }, + { 69414, true }, + { 69434, true }, + { 69447, true }, + { 69458, true }, + { 69476, true }, + { 69486, true }, + { 69495, true }, + { 69504, true }, { 69513, true }, - { 69528, true }, - { 69535, true }, - { 69548, false }, - { 69563, true }, - { 69583, true }, - { 69603, true }, - { 69622, true }, + { 69524, true }, + { 69532, false }, + { 69539, true }, + { 69549, true }, + { 69561, true }, + { 69575, true }, + { 69589, true }, + { 69604, true }, + { 69611, true }, + { 69624, false }, { 69639, true }, - { 69649, true }, - { 69664, true }, - { 69674, true }, - { 69684, true }, - { 69694, true }, - { 69710, true }, - { 69721, true }, - { 69731, true }, - { 69745, true }, - { 69762, true }, - { 69783, true }, - { 69792, true }, - { 69808, true }, - { 69828, true }, - { 69841, true }, - { 69851, true }, - { 69863, true }, - { 69872, true }, - { 69882, true }, - { 69896, true }, - { 69907, true }, - { 69915, true }, - { 69922, true }, - { 69936, true }, - { 69955, true }, - { 69969, true }, - { 69994, true }, + { 69659, true }, + { 69679, true }, + { 69698, true }, + { 69715, true }, + { 69725, true }, + { 69740, true }, + { 69750, true }, + { 69760, true }, + { 69770, true }, + { 69786, true }, + { 69797, true }, + { 69807, true }, + { 69821, true }, + { 69838, true }, + { 69859, true }, + { 69868, true }, + { 69884, true }, + { 69904, true }, + { 69917, true }, + { 69927, true }, + { 69939, true }, + { 69948, true }, + { 69958, true }, + { 69972, true }, + { 69983, true }, + { 69991, true }, + { 69998, true }, { 70012, true }, - { 70030, true }, - { 70044, true }, - { 70053, true }, - { 70066, true }, - { 70083, true }, - { 70101, true }, - { 70114, true }, - { 70131, true }, - { 70148, true }, - { 70166, true }, - { 70195, true }, - { 70213, false }, - { 70226, true }, - { 70242, true }, - { 70258, true }, - { 70271, true }, - { 70284, true }, - { 70297, true }, - { 70308, true }, - { 70318, false }, - { 70336, true }, - { 70349, true }, - { 70366, true }, - { 70379, true }, + { 70031, true }, + { 70045, true }, + { 70070, true }, + { 70088, true }, + { 70106, true }, + { 70120, true }, + { 70129, true }, + { 70142, true }, + { 70160, true }, + { 70173, true }, + { 70190, true }, + { 70207, true }, + { 70225, true }, + { 70254, true }, + { 70272, false }, + { 70285, true }, + { 70301, true }, + { 70317, true }, + { 70330, true }, + { 70343, true }, + { 70356, true }, + { 70367, true }, + { 70377, false }, { 70395, true }, - { 70414, true }, - { 70428, true }, - { 70443, true }, - { 70450, true }, - { 70479, true }, - { 70501, true }, - { 70522, true }, - { 70549, true }, - { 70569, true }, - { 70577, true }, - { 70588, true }, + { 70408, true }, + { 70425, true }, + { 70438, true }, + { 70454, true }, + { 70473, true }, + { 70487, true }, + { 70502, true }, + { 70509, true }, + { 70538, true }, + { 70560, true }, + { 70581, true }, { 70608, true }, - { 70627, false }, - { 70644, true }, - { 70660, true }, - { 70674, true }, - { 70685, true }, - { 70697, true }, - { 70711, true }, - { 70729, true }, - { 70745, false }, - { 70760, true }, - { 70781, true }, - { 70793, true }, - { 70805, true }, - { 70822, true }, - { 70837, true }, - { 70856, true }, - { 70870, true }, - { 70888, true }, - { 70902, true }, - { 70911, true }, - { 70921, true }, - { 70932, true }, - { 70948, true }, - { 70962, true }, - { 70976, true }, - { 70994, true }, + { 70628, true }, + { 70636, true }, + { 70647, true }, + { 70667, true }, + { 70686, false }, + { 70703, true }, + { 70719, true }, + { 70733, true }, + { 70744, true }, + { 70756, true }, + { 70770, true }, + { 70788, true }, + { 70804, false }, + { 70819, true }, + { 70840, true }, + { 70852, true }, + { 70864, true }, + { 70881, true }, + { 70896, true }, + { 70915, true }, + { 70929, true }, + { 70947, true }, + { 70961, true }, + { 70970, true }, + { 70980, true }, + { 70991, true }, { 71007, true }, { 71021, true }, { 71035, true }, - { 71049, true }, - { 71058, true }, - { 71069, true }, - { 71093, true }, - { 71114, true }, - { 71126, true }, - { 71137, false }, - { 71150, true }, - { 71156, true }, - { 71166, true }, - { 71175, true }, - { 71189, true }, - { 71201, true }, - { 71211, true }, - { 71227, true }, - { 71239, true }, - { 71255, true }, - { 71266, true }, - { 71278, true }, - { 71293, true }, - { 71310, true }, - { 71321, true }, + { 71053, true }, + { 71066, true }, + { 71080, true }, + { 71094, true }, + { 71108, true }, + { 71117, true }, + { 71128, true }, + { 71152, true }, + { 71173, true }, + { 71185, true }, + { 71196, false }, + { 71209, true }, + { 71215, true }, + { 71225, true }, + { 71234, true }, + { 71248, true }, + { 71260, true }, + { 71270, true }, + { 71286, true }, + { 71298, true }, + { 71314, true }, + { 71325, true }, { 71337, true }, - { 71359, false }, - { 71374, true }, - { 71384, true }, - { 71403, true }, - { 71419, true }, - { 71431, true }, - { 71453, true }, - { 71464, true }, - { 71481, true }, - { 71500, true }, - { 71522, true }, - { 71545, true }, - { 71562, true }, - { 71578, true }, - { 71591, true }, - { 71600, false }, - { 71609, true }, - { 71620, true }, + { 71352, true }, + { 71369, true }, + { 71380, true }, + { 71396, true }, + { 71418, false }, + { 71433, true }, + { 71443, true }, + { 71462, true }, + { 71478, true }, + { 71490, true }, + { 71512, true }, + { 71523, true }, + { 71540, true }, + { 71559, true }, + { 71581, true }, + { 71604, true }, + { 71621, true }, { 71637, true }, - { 71653, true }, - { 71667, true }, - { 71681, true }, - { 71699, false }, - { 71707, true }, - { 71716, true }, - { 71729, true }, - { 71746, true }, - { 71756, true }, - { 71768, true }, - { 71778, true }, - { 71826, true }, - { 71870, true }, - { 71908, true }, - { 71947, true }, - { 71982, true }, - { 72022, true }, - { 72066, true }, - { 72102, true }, - { 72143, true }, - { 72180, true }, - { 72224, true }, - { 72251, true }, - { 72263, true }, - { 72271, true }, - { 72281, true }, - { 72287, true }, - { 72295, true }, - { 72307, true }, - { 72316, true }, - { 72329, true }, - { 72338, true }, - { 72360, true }, - { 72367, true }, - { 72379, true }, - { 72392, true }, - { 72401, true }, - { 72416, true }, - { 72430, true }, - { 72440, true }, - { 72449, true }, - { 72460, false }, - { 72472, true }, - { 72485, true }, - { 72501, true }, - { 72510, true }, - { 72519, true }, - { 72540, true }, - { 72551, true }, - { 72565, true }, - { 72582, true }, + { 71650, true }, + { 71659, false }, + { 71668, true }, + { 71679, true }, + { 71696, true }, + { 71712, true }, + { 71726, true }, + { 71740, true }, + { 71758, false }, + { 71766, true }, + { 71775, true }, + { 71788, true }, + { 71805, true }, + { 71815, true }, + { 71827, true }, + { 71837, true }, + { 71885, true }, + { 71929, true }, + { 71967, true }, + { 72006, true }, + { 72041, true }, + { 72081, true }, + { 72125, true }, + { 72161, true }, + { 72202, true }, + { 72239, true }, + { 72283, true }, + { 72310, true }, + { 72322, true }, + { 72330, true }, + { 72340, true }, + { 72346, true }, + { 72354, true }, + { 72366, true }, + { 72375, true }, + { 72388, true }, + { 72397, true }, + { 72419, true }, + { 72426, true }, + { 72438, true }, + { 72451, true }, + { 72460, true }, + { 72475, true }, + { 72489, true }, + { 72499, true }, + { 72508, true }, + { 72519, false }, + { 72531, true }, + { 72544, true }, + { 72560, true }, + { 72569, true }, + { 72578, true }, { 72599, true }, - { 72611, true }, - { 72621, true }, - { 72644, true }, + { 72610, true }, + { 72624, true }, + { 72641, true }, { 72658, true }, + { 72670, true }, { 72680, true }, - { 72696, true }, - { 72711, true }, - { 72726, true }, - { 72752, true }, - { 72763, true }, - { 72774, true }, - { 72790, true }, - { 72799, true }, - { 72810, true }, - { 72839, true }, - { 72852, true }, - { 72868, true }, - { 72896, true }, - { 72916, true }, - { 72932, true }, - { 72944, false }, - { 72962, false }, - { 72970, false }, - { 72981, true }, + { 72703, true }, + { 72717, true }, + { 72739, true }, + { 72755, true }, + { 72770, true }, + { 72785, true }, + { 72811, true }, + { 72822, true }, + { 72833, true }, + { 72849, true }, + { 72858, true }, + { 72869, true }, + { 72898, true }, + { 72911, true }, + { 72927, true }, + { 72955, true }, + { 72975, true }, { 72991, true }, - { 73012, true }, - { 73030, true }, + { 73003, false }, + { 73021, false }, + { 73029, false }, { 73040, true }, { 73050, true }, - { 73060, true }, - { 73075, true }, + { 73071, true }, { 73089, true }, - { 73102, true }, - { 73117, true }, - { 73132, true }, - { 73143, true }, - { 73155, true }, - { 73167, true }, + { 73099, true }, + { 73109, true }, + { 73119, true }, + { 73134, true }, + { 73148, true }, + { 73161, true }, { 73176, true }, - { 73185, false }, - { 73197, true }, - { 73213, true }, - { 73224, true }, - { 73240, true }, - { 73259, true }, - { 73281, true }, - { 73297, true }, - { 73312, true }, - { 73333, true }, - { 73364, true }, - { 73388, true }, - { 73407, true }, - { 73427, true }, + { 73191, true }, + { 73202, true }, + { 73214, true }, + { 73226, true }, + { 73235, true }, + { 73244, false }, + { 73256, true }, + { 73272, true }, + { 73283, true }, + { 73299, true }, + { 73318, true }, + { 73340, true }, + { 73356, true }, + { 73371, true }, + { 73392, true }, + { 73423, true }, { 73447, true }, - { 73465, true }, - { 73482, true }, - { 73501, true }, - { 73525, true }, - { 73544, true }, - { 73562, true }, - { 73579, true }, - { 73601, true }, + { 73466, true }, + { 73486, true }, + { 73506, true }, + { 73524, true }, + { 73541, true }, + { 73560, true }, + { 73584, true }, + { 73603, true }, { 73621, true }, - { 73641, true }, - { 73658, true }, + { 73638, true }, + { 73660, true }, { 73680, true }, - { 73696, true }, - { 73713, true }, - { 73728, true }, - { 73745, true }, - { 73761, false }, - { 73776, true }, - { 73795, true }, - { 73817, true }, - { 73839, true }, - { 73861, true }, - { 73878, true }, - { 73893, true }, - { 73912, true }, - { 73925, true }, - { 73938, true }, - { 73953, true }, - { 73968, true }, - { 73979, true }, - { 73989, true }, - { 74002, true }, - { 74018, true }, - { 74030, true }, - { 74043, false }, - { 74052, true }, - { 74074, true }, - { 74094, true }, - { 74115, true }, - { 74130, true }, - { 74141, true }, - { 74162, true }, - { 74178, true }, + { 73700, true }, + { 73717, true }, + { 73739, true }, + { 73755, true }, + { 73772, true }, + { 73787, true }, + { 73804, true }, + { 73820, false }, + { 73835, true }, + { 73854, true }, + { 73876, true }, + { 73898, true }, + { 73920, true }, + { 73937, true }, + { 73952, true }, + { 73971, true }, + { 73984, true }, + { 73997, true }, + { 74012, true }, + { 74027, true }, + { 74038, true }, + { 74048, true }, + { 74061, true }, + { 74077, true }, + { 74089, true }, + { 74102, false }, + { 74111, true }, + { 74133, true }, + { 74153, true }, + { 74174, true }, + { 74189, true }, { 74200, true }, - { 74224, false }, - { 74241, true }, - { 74254, true }, - { 74268, true }, - { 74284, true }, - { 74297, true }, - { 74310, true }, - { 74323, true }, - { 74342, true }, - { 74353, true }, - { 74362, true }, - { 74371, true }, - { 74381, true }, - { 74391, true }, - { 74400, true }, - { 74416, true }, - { 74432, true }, + { 74221, true }, + { 74237, true }, + { 74259, true }, + { 74283, false }, + { 74300, true }, + { 74313, true }, + { 74327, true }, + { 74343, true }, + { 74356, true }, + { 74369, true }, + { 74382, true }, + { 74401, true }, + { 74412, true }, + { 74421, true }, + { 74430, true }, + { 74440, true }, + { 74450, true }, { 74459, true }, - { 74470, true }, - { 74487, true }, - { 74500, true }, - { 74514, true }, - { 74531, true }, + { 74475, true }, + { 74491, true }, + { 74518, true }, + { 74529, true }, { 74546, true }, - { 74569, true }, - { 74579, true }, - { 74589, true }, - { 74604, true }, - { 74625, true }, - { 74635, true }, - { 74654, true }, - { 74674, true }, - { 74688, true }, + { 74559, true }, + { 74573, true }, + { 74590, true }, + { 74605, true }, + { 74628, true }, + { 74638, true }, + { 74648, true }, + { 74663, true }, + { 74684, true }, + { 74694, true }, { 74713, true }, - { 74737, true }, - { 74746, true }, - { 74763, true }, - { 74784, true }, - { 74804, true }, - { 74816, true }, - { 74829, true }, + { 74733, true }, + { 74747, true }, + { 74772, true }, + { 74796, true }, + { 74805, true }, + { 74822, true }, { 74843, true }, - { 74860, false }, - { 74873, true }, - { 74890, true }, - { 74899, true }, - { 74917, true }, - { 74933, true }, - { 74944, true }, - { 74957, true }, - { 74975, true }, - { 74991, true }, - { 75005, true }, + { 74863, true }, + { 74875, true }, + { 74888, true }, + { 74902, true }, + { 74919, false }, + { 74932, true }, + { 74949, true }, + { 74958, true }, + { 74976, true }, + { 74992, true }, + { 75003, true }, { 75016, true }, - { 75030, true }, - { 75047, true }, - { 75061, false }, + { 75034, true }, + { 75050, true }, + { 75064, true }, + { 75075, true }, { 75089, true }, - { 75098, true }, - { 75107, true }, - { 75117, true }, - { 75133, true }, - { 75143, true }, - { 75155, false }, - { 75168, true }, - { 75182, false }, - { 75196, false }, - { 75211, true }, - { 75235, true }, - { 75256, true }, - { 75278, true }, - { 75288, true }, - { 75300, true }, - { 75326, true }, - { 75340, true }, - { 75357, true }, - { 75370, true }, - { 75382, true }, - { 75395, true }, - { 75407, true }, - { 75419, false }, - { 75443, true }, - { 75456, true }, - { 75475, true }, - { 75499, true }, + { 75106, true }, + { 75120, false }, + { 75148, true }, + { 75157, true }, + { 75166, true }, + { 75176, true }, + { 75192, true }, + { 75202, true }, + { 75214, false }, + { 75227, true }, + { 75241, false }, + { 75255, false }, + { 75270, true }, + { 75294, true }, + { 75315, true }, + { 75337, true }, + { 75347, true }, + { 75359, true }, + { 75385, true }, + { 75399, true }, + { 75416, true }, + { 75429, true }, + { 75441, true }, + { 75454, true }, + { 75466, true }, + { 75478, false }, + { 75502, true }, { 75515, true }, - { 75525, true }, - { 75541, true }, - { 75557, true }, - { 75576, true }, - { 75593, true }, - { 75607, true }, - { 75625, true }, - { 75642, true }, - { 75659, false }, - { 75685, true }, - { 75702, true }, - { 75716, true }, - { 75727, true }, - { 75739, true }, - { 75759, true }, - { 75775, true }, - { 75793, true }, - { 75811, true }, - { 75821, true }, - { 75839, true }, - { 75851, true }, - { 75866, true }, + { 75534, true }, + { 75558, true }, + { 75574, true }, + { 75584, true }, + { 75600, true }, + { 75616, true }, + { 75635, true }, + { 75652, true }, + { 75666, true }, + { 75684, true }, + { 75701, true }, + { 75718, true }, + { 75735, true }, + { 75749, true }, + { 75760, true }, + { 75772, true }, + { 75792, true }, + { 75808, true }, + { 75826, true }, + { 75844, true }, + { 75854, true }, + { 75872, true }, { 75884, true }, - { 75902, true }, - { 75921, true }, - { 75931, true }, - { 75945, true }, - { 75955, true }, - { 75966, true }, - { 75985, true }, - { 75995, true }, - { 76011, true }, - { 76030, true }, - { 76040, true }, - { 76052, true }, + { 75899, true }, + { 75917, true }, + { 75935, true }, + { 75954, true }, + { 75964, true }, + { 75978, true }, + { 75988, true }, + { 75999, true }, + { 76018, true }, + { 76028, true }, + { 76044, true }, { 76063, true }, { 76073, true }, - { 76089, true }, - { 76102, true }, - { 76125, true }, - { 76149, true }, - { 76164, true }, - { 76184, true }, - { 76197, false }, - { 76209, true }, - { 76219, true }, - { 76232, true }, - { 76247, true }, - { 76267, true }, - { 76277, true }, - { 76287, false }, - { 76304, true }, - { 76312, true }, - { 76328, true }, - { 76343, true }, - { 76359, true }, - { 76375, true }, - { 76389, true }, - { 76405, true }, - { 76419, true }, - { 76431, true }, - { 76451, true }, - { 76467, true }, - { 76484, false }, - { 76494, true }, - { 76507, true }, - { 76526, true }, - { 76537, true }, - { 76550, true }, - { 76563, true }, - { 76571, true }, - { 76581, true }, - { 76595, false }, - { 76609, false }, - { 76635, true }, - { 76647, true }, - { 76663, true }, - { 76674, true }, - { 76695, true }, - { 76719, true }, - { 76744, true }, - { 76756, true }, - { 76769, true }, - { 76782, true }, - { 76794, true }, - { 76813, true }, - { 76828, true }, - { 76841, true }, - { 76854, true }, + { 76085, true }, + { 76096, true }, + { 76106, true }, + { 76122, true }, + { 76135, true }, + { 76158, true }, + { 76182, true }, + { 76197, true }, + { 76217, true }, + { 76230, false }, + { 76242, true }, + { 76252, true }, + { 76265, true }, + { 76280, true }, + { 76300, true }, + { 76310, true }, + { 76320, false }, + { 76337, true }, + { 76345, true }, + { 76361, true }, + { 76376, true }, + { 76392, true }, + { 76408, true }, + { 76422, true }, + { 76438, true }, + { 76452, true }, + { 76464, true }, + { 76484, true }, + { 76500, true }, + { 76517, true }, + { 76527, true }, + { 76540, true }, + { 76559, true }, + { 76570, true }, + { 76583, true }, + { 76596, true }, + { 76604, true }, + { 76614, true }, + { 76628, false }, + { 76642, false }, + { 76668, true }, + { 76680, true }, + { 76696, true }, + { 76707, true }, + { 76728, true }, + { 76752, true }, + { 76777, true }, + { 76789, true }, + { 76802, true }, + { 76815, true }, + { 76827, true }, + { 76846, true }, + { 76861, true }, { 76874, true }, - { 76889, true }, - { 76905, true }, - { 76916, true }, - { 76934, true }, - { 76943, true }, - { 76954, true }, - { 76965, true }, + { 76887, true }, + { 76907, true }, + { 76922, true }, + { 76938, true }, + { 76949, true }, + { 76967, true }, { 76976, true }, { 76987, true }, - { 76997, true }, - { 77011, true }, - { 77023, true }, - { 77033, true }, - { 77042, true }, + { 76998, true }, + { 77009, true }, + { 77020, true }, + { 77030, true }, + { 77044, true }, { 77056, true }, - { 77090, true }, - { 77100, true }, - { 77112, true }, - { 77121, true }, - { 77132, false }, + { 77066, true }, + { 77075, true }, + { 77089, true }, + { 77123, true }, + { 77133, true }, { 77145, true }, - { 77159, true }, - { 77171, true }, - { 77193, true }, - { 77205, true }, - { 77221, true }, - { 77236, true }, - { 77255, true }, - { 77272, true }, - { 77294, true }, - { 77307, false }, - { 77327, true }, - { 77345, true }, - { 77355, true }, - { 77368, true }, - { 77379, true }, - { 77392, true }, - { 77407, true }, - { 77426, true }, - { 77440, true }, - { 77451, true }, - { 77475, false }, - { 77496, true }, - { 77508, true }, - { 77518, true }, - { 77527, true }, - { 77542, true }, - { 77555, true }, - { 77566, true }, - { 77577, true }, - { 77590, true }, - { 77599, true }, - { 77611, true }, - { 77620, true }, - { 77629, true }, - { 77643, true }, + { 77154, true }, + { 77165, false }, + { 77178, true }, + { 77192, true }, + { 77204, true }, + { 77226, true }, + { 77239, true }, + { 77251, true }, + { 77263, true }, + { 77275, true }, + { 77287, true }, + { 77299, true }, + { 77311, true }, + { 77323, true }, + { 77335, true }, + { 77351, true }, + { 77366, true }, + { 77385, true }, + { 77402, true }, + { 77424, true }, + { 77437, false }, + { 77457, true }, + { 77475, true }, + { 77485, true }, + { 77498, true }, + { 77509, true }, + { 77522, true }, + { 77537, true }, + { 77556, true }, + { 77570, true }, + { 77581, true }, + { 77605, false }, + { 77626, true }, + { 77638, true }, + { 77648, true }, { 77657, true }, - { 77675, true }, - { 77697, true }, - { 77717, false }, - { 77742, true }, - { 77755, true }, - { 77764, true }, - { 77785, true }, - { 77795, true }, - { 77810, true }, - { 77822, true }, - { 77834, true }, - { 77859, true }, - { 77875, false }, - { 77903, true }, - { 77914, true }, - { 77927, true }, - { 77942, true }, - { 77956, true }, - { 77965, true }, - { 77999, true }, - { 78009, true }, - { 78020, true }, - { 78046, false }, - { 78061, true }, - { 78070, true }, - { 78082, true }, - { 78092, true }, - { 78101, true }, - { 78115, false }, - { 78126, true }, - { 78134, true }, - { 78142, true }, - { 78153, true }, - { 78162, true }, - { 78174, true }, - { 78188, true }, - { 78202, true }, + { 77672, true }, + { 77685, true }, + { 77696, true }, + { 77707, true }, + { 77720, true }, + { 77729, true }, + { 77741, true }, + { 77750, true }, + { 77759, true }, + { 77773, true }, + { 77787, true }, + { 77805, true }, + { 77827, true }, + { 77847, false }, + { 77872, true }, + { 77885, true }, + { 77894, true }, + { 77915, true }, + { 77925, true }, + { 77940, true }, + { 77952, true }, + { 77964, true }, + { 77989, true }, + { 78005, false }, + { 78033, true }, + { 78044, true }, + { 78057, true }, + { 78072, true }, + { 78086, true }, + { 78095, true }, + { 78129, true }, + { 78139, true }, + { 78150, true }, + { 78176, false }, + { 78191, true }, + { 78200, true }, + { 78212, true }, { 78222, true }, - { 78234, true }, - { 78252, true }, - { 78268, true }, - { 78285, true }, - { 78298, true }, - { 78308, true }, - { 78322, true }, - { 78334, true }, - { 78346, true }, - { 78360, true }, - { 78372, true }, - { 78379, true }, - { 78388, true }, - { 78407, true }, - { 78421, true }, - { 78434, true }, - { 78448, true }, - { 78459, true }, - { 78468, true }, + { 78231, true }, + { 78245, false }, + { 78256, true }, + { 78264, true }, + { 78272, true }, + { 78283, true }, + { 78292, true }, + { 78304, true }, + { 78318, true }, + { 78332, true }, + { 78352, true }, + { 78364, true }, + { 78382, true }, + { 78398, true }, + { 78415, true }, + { 78428, true }, + { 78438, true }, + { 78452, true }, + { 78464, true }, { 78476, true }, - { 78489, true }, - { 78505, true }, - { 78528, true }, - { 78546, true }, - { 78560, true }, - { 78574, true }, - { 78588, true }, - { 78603, true }, - { 78617, true }, - { 78631, true }, - { 78645, true }, - { 78660, true }, - { 78674, true }, - { 78688, true }, - { 78702, true }, - { 78716, true }, + { 78490, true }, + { 78502, true }, + { 78509, true }, + { 78518, true }, + { 78537, true }, + { 78551, true }, + { 78564, true }, + { 78578, true }, + { 78589, true }, + { 78598, true }, + { 78606, true }, + { 78619, true }, + { 78635, true }, + { 78658, true }, + { 78676, true }, + { 78690, true }, + { 78704, true }, + { 78718, true }, { 78733, true }, - { 78753, true }, - { 78774, true }, - { 78806, true }, + { 78747, true }, + { 78761, true }, + { 78775, true }, + { 78790, true }, + { 78804, true }, { 78818, true }, - { 78828, true }, - { 78840, true }, - { 78855, true }, - { 78877, true }, - { 78896, true }, - { 78908, true }, - { 78922, true }, - { 78940, true }, - { 78951, true }, - { 78969, true }, - { 78976, true }, - { 78986, true }, - { 78998, true }, - { 79013, true }, - { 79030, true }, - { 79048, true }, - { 79061, true }, - { 79080, true }, - { 79090, true }, - { 79110, true }, - { 79123, true }, - { 79133, true }, - { 79147, true }, - { 79164, true }, - { 79177, true }, - { 79190, true }, - { 79200, true }, - { 79216, true }, - { 79242, true }, - { 79254, true }, - { 79266, true }, - { 79279, false }, - { 79294, true }, - { 79307, true }, - { 79321, true }, - { 79338, true }, - { 79350, true }, + { 78832, true }, + { 78846, true }, + { 78863, true }, + { 78883, true }, + { 78904, true }, + { 78936, true }, + { 78948, true }, + { 78958, true }, + { 78970, true }, + { 78985, true }, + { 79007, true }, + { 79026, true }, + { 79038, true }, + { 79052, true }, + { 79070, true }, + { 79081, true }, + { 79099, true }, + { 79106, true }, + { 79116, true }, + { 79128, true }, + { 79145, true }, + { 79163, true }, + { 79176, true }, + { 79195, true }, + { 79205, true }, + { 79225, true }, + { 79238, true }, + { 79248, true }, + { 79262, true }, + { 79279, true }, + { 79292, true }, + { 79305, true }, + { 79315, true }, + { 79331, true }, + { 79357, true }, { 79369, true }, - { 79376, true }, - { 79388, true }, - { 79400, true }, - { 79412, true }, - { 79421, true }, - { 79432, true }, - { 79446, true }, - { 79459, true }, + { 79381, true }, + { 79394, false }, + { 79409, true }, + { 79422, true }, + { 79436, true }, + { 79453, true }, + { 79465, true }, { 79484, true }, - { 79507, false }, - { 79517, true }, - { 79528, true }, - { 79541, true }, - { 79556, true }, - { 79567, true }, - { 79576, true }, - { 79586, true }, - { 79595, true }, - { 79608, true }, - { 79616, true }, - { 79627, true }, - { 79647, true }, - { 79667, false }, - { 79685, true }, - { 79704, true }, - { 79722, true }, - { 79739, true }, - { 79751, true }, - { 79765, true }, - { 79788, true }, - { 79798, true }, - { 79813, true }, - { 79827, true }, - { 79843, true }, - { 79856, true }, - { 79879, true }, - { 79887, true }, - { 79899, true }, + { 79491, true }, + { 79503, true }, + { 79515, true }, + { 79527, true }, + { 79536, true }, + { 79547, true }, + { 79561, true }, + { 79574, true }, + { 79599, true }, + { 79622, false }, + { 79632, true }, + { 79643, true }, + { 79656, true }, + { 79671, true }, + { 79682, true }, + { 79691, true }, + { 79701, true }, + { 79710, true }, + { 79723, true }, + { 79731, true }, + { 79742, true }, + { 79762, true }, + { 79782, false }, + { 79800, true }, + { 79819, true }, + { 79837, true }, + { 79854, true }, + { 79866, true }, + { 79880, true }, + { 79903, true }, { 79913, true }, - { 79934, true }, - { 79941, true }, - { 79954, true }, - { 79967, true }, - { 79987, true }, - { 80005, true }, - { 80027, true }, - { 80040, true }, - { 80060, true }, - { 80075, true }, - { 80086, true }, - { 80100, true }, - { 80113, true }, - { 80126, true }, - { 80145, true }, - { 80160, true }, - { 80180, true }, - { 80196, true }, + { 79928, true }, + { 79942, true }, + { 79958, true }, + { 79971, true }, + { 79994, true }, + { 80002, true }, + { 80014, true }, + { 80028, true }, + { 80049, true }, + { 80056, true }, + { 80069, true }, + { 80082, true }, + { 80102, true }, + { 80120, true }, + { 80142, true }, + { 80155, true }, + { 80175, true }, + { 80190, true }, + { 80201, true }, { 80215, true }, - { 80234, true }, - { 80249, true }, - { 80261, true }, - { 80268, true }, - { 80284, true }, + { 80228, true }, + { 80241, true }, + { 80260, true }, + { 80275, true }, + { 80295, true }, { 80311, true }, - { 80339, true }, - { 80363, true }, - { 80382, true }, + { 80330, true }, + { 80349, true }, + { 80364, true }, + { 80376, true }, + { 80383, true }, { 80399, true }, - { 80418, true }, - { 80436, true }, + { 80426, true }, { 80454, true }, - { 80463, true }, - { 80486, true }, - { 80500, true }, - { 80512, true }, - { 80525, true }, - { 80539, true }, - { 80549, true }, - { 80560, false }, - { 80570, true }, - { 80590, true }, - { 80600, true }, - { 80613, true }, - { 80628, true }, - { 80637, true }, - { 80649, true }, - { 80665, true }, - { 80675, true }, - { 80682, true }, - { 80699, true }, - { 80712, true }, - { 80721, true }, + { 80478, true }, + { 80497, true }, + { 80514, true }, + { 80533, true }, + { 80551, true }, + { 80569, true }, + { 80578, true }, + { 80601, true }, + { 80615, true }, + { 80627, true }, + { 80640, true }, + { 80654, true }, + { 80664, true }, + { 80675, false }, + { 80685, true }, + { 80705, true }, + { 80715, true }, { 80728, true }, - { 80741, true }, - { 80754, true }, - { 80767, true }, - { 80785, true }, - { 80800, true }, - { 80816, true }, - { 80832, true }, + { 80743, true }, + { 80752, true }, + { 80764, true }, + { 80780, true }, + { 80790, true }, + { 80797, true }, + { 80814, true }, + { 80827, true }, + { 80836, true }, { 80843, true }, - { 80857, true }, - { 80874, true }, - { 80891, true }, - { 80901, true }, - { 80928, true }, - { 80963, true }, + { 80856, true }, + { 80869, true }, + { 80882, true }, + { 80900, true }, + { 80915, true }, + { 80931, true }, + { 80947, true }, + { 80958, true }, + { 80972, true }, { 80989, true }, - { 81001, false }, - { 81014, true }, - { 81035, true }, - { 81048, true }, - { 81067, true }, - { 81092, true }, - { 81114, true }, - { 81135, true }, + { 81006, true }, + { 81016, true }, + { 81043, true }, + { 81078, true }, + { 81104, true }, + { 81116, false }, + { 81129, true }, { 81150, true }, - { 81170, false }, - { 81180, true }, - { 81199, true }, - { 81216, true }, - { 81233, true }, - { 81243, true }, - { 81253, true }, - { 81266, true }, - { 81278, true }, - { 81289, true }, - { 81304, true }, - { 81317, true }, - { 81332, true }, - { 81345, true }, + { 81163, true }, + { 81182, true }, + { 81207, true }, + { 81229, true }, + { 81250, true }, + { 81265, true }, + { 81285, false }, + { 81295, true }, + { 81314, true }, + { 81331, true }, + { 81348, true }, { 81358, true }, - { 81372, true }, - { 81395, true }, - { 81410, true }, - { 81422, true }, - { 81435, true }, - { 81449, true }, - { 81468, true }, - { 81480, true }, - { 81504, true }, - { 81526, true }, - { 81547, true }, - { 81572, true }, + { 81368, true }, + { 81381, true }, + { 81393, true }, + { 81404, true }, + { 81419, true }, + { 81432, true }, + { 81447, true }, + { 81460, true }, + { 81473, true }, + { 81487, true }, + { 81510, true }, + { 81525, true }, + { 81537, true }, + { 81550, true }, + { 81564, true }, + { 81583, true }, { 81595, true }, - { 81615, true }, - { 81626, true }, - { 81638, true }, - { 81650, true }, - { 81670, true }, + { 81619, true }, + { 81641, true }, + { 81662, true }, { 81687, true }, - { 81704, true }, - { 81725, true }, - { 81748, true }, - { 81764, true }, - { 81784, true }, - { 81797, true }, - { 81813, true }, - { 81828, true }, - { 81838, true }, - { 81855, true }, - { 81866, true }, - { 81885, true }, - { 81895, true }, - { 81905, true }, - { 81913, true }, - { 81939, true }, - { 81959, true }, - { 81973, true }, - { 81986, true }, - { 81999, true }, - { 82008, true }, - { 82015, true }, - { 82022, false }, - { 82038, true }, - { 82047, true }, - { 82064, true }, - { 82079, true }, - { 82093, true }, - { 82105, true }, - { 82117, true }, - { 82140, true }, - { 82154, true }, - { 82169, true }, + { 81710, true }, + { 81730, true }, + { 81741, true }, + { 81753, true }, + { 81765, true }, + { 81785, true }, + { 81802, true }, + { 81819, true }, + { 81840, true }, + { 81863, true }, + { 81879, true }, + { 81899, true }, + { 81912, true }, + { 81928, true }, + { 81943, true }, + { 81953, true }, + { 81970, true }, + { 81981, true }, + { 82000, true }, + { 82010, true }, + { 82020, true }, + { 82028, true }, + { 82054, true }, + { 82074, true }, + { 82088, true }, + { 82101, true }, + { 82114, true }, + { 82123, true }, + { 82130, true }, + { 82137, false }, + { 82153, true }, + { 82162, true }, { 82179, true }, - { 82195, true }, - { 82207, true }, - { 82222, true }, - { 82238, true }, + { 82194, true }, + { 82208, true }, + { 82220, true }, + { 82232, true }, { 82255, true }, - { 82273, true }, + { 82269, true }, + { 82284, true }, { 82294, true }, - { 82311, true }, - { 82328, true }, - { 82345, true }, - { 82362, true }, - { 82379, true }, - { 82396, true }, - { 82413, true }, - { 82430, true }, - { 82449, true }, - { 82465, true }, - { 82479, true }, - { 82504, true }, - { 82515, true }, - { 82531, true }, - { 82547, true }, - { 82563, true }, - { 82585, false }, - { 82598, false }, - { 82618, true }, - { 82631, true }, - { 82640, false }, - { 82656, true }, - { 82670, true }, - { 82683, true }, - { 82693, true }, - { 82704, true }, - { 82718, true }, - { 82734, true }, + { 82310, true }, + { 82322, true }, + { 82337, true }, + { 82353, true }, + { 82370, true }, + { 82388, true }, + { 82409, true }, + { 82426, true }, + { 82443, true }, + { 82460, true }, + { 82477, true }, + { 82494, true }, + { 82511, true }, + { 82528, true }, + { 82545, true }, + { 82564, true }, + { 82580, true }, + { 82594, true }, + { 82619, true }, + { 82630, true }, + { 82646, true }, + { 82662, true }, + { 82678, true }, + { 82700, false }, + { 82713, false }, + { 82733, true }, { 82746, true }, - { 82760, true }, - { 82775, true }, + { 82755, false }, + { 82771, true }, { 82785, true }, - { 82794, true }, - { 82804, false }, - { 82814, true }, - { 82823, true }, + { 82798, true }, + { 82808, true }, + { 82819, true }, { 82833, true }, - { 82846, true }, - { 82865, true }, + { 82849, true }, + { 82861, true }, { 82875, true }, - { 82884, true }, - { 82894, true }, - { 82917, true }, - { 82933, false }, - { 82953, true }, - { 82976, true }, + { 82890, true }, + { 82900, true }, + { 82909, true }, + { 82919, false }, + { 82929, true }, + { 82938, true }, + { 82948, true }, + { 82961, true }, + { 82980, true }, { 82990, true }, - { 83002, true }, - { 83011, true }, - { 83028, true }, - { 83047, true }, - { 83064, true }, - { 83076, true }, - { 83087, true }, - { 83100, false }, - { 83112, true }, - { 83123, true }, - { 83137, true }, - { 83154, true }, - { 83169, true }, - { 83187, true }, - { 83197, true }, - { 83205, true }, - { 83216, true }, - { 83230, true }, - { 83244, true }, - { 83257, false }, - { 83270, true }, - { 83282, true }, - { 83297, true }, - { 83326, true }, - { 83340, true }, - { 83354, true }, - { 83369, true }, - { 83383, true }, - { 83395, true }, - { 83409, true }, - { 83423, true }, - { 83435, true }, - { 83449, true }, - { 83463, true }, - { 83475, true }, - { 83483, true }, - { 83493, true }, - { 83509, true }, - { 83525, true }, - { 83537, true }, - { 83551, true }, - { 83570, false }, - { 83599, true }, - { 83613, false }, - { 83627, true }, - { 83645, false }, + { 82999, true }, + { 83009, true }, + { 83032, true }, + { 83048, false }, + { 83068, true }, + { 83091, true }, + { 83105, true }, + { 83117, true }, + { 83126, true }, + { 83143, true }, + { 83162, true }, + { 83179, true }, + { 83191, true }, + { 83202, true }, + { 83215, false }, + { 83227, true }, + { 83238, true }, + { 83252, true }, + { 83269, true }, + { 83284, true }, + { 83302, true }, + { 83312, true }, + { 83320, true }, + { 83331, true }, + { 83345, true }, + { 83359, true }, + { 83372, false }, + { 83385, true }, + { 83397, true }, + { 83412, true }, + { 83441, true }, + { 83455, true }, + { 83469, true }, + { 83484, true }, + { 83498, true }, + { 83510, true }, + { 83524, true }, + { 83538, true }, + { 83550, true }, + { 83564, true }, + { 83578, true }, + { 83590, true }, + { 83598, true }, + { 83608, true }, + { 83624, true }, + { 83640, true }, + { 83652, true }, { 83666, true }, - { 83681, true }, - { 83694, true }, - { 83712, true }, - { 83732, true }, - { 83744, true }, - { 83756, true }, - { 83771, true }, - { 83794, true }, - { 83818, true }, - { 83842, true }, - { 83866, true }, - { 83876, true }, - { 83890, true }, - { 83912, true }, - { 83944, true }, - { 83955, true }, - { 83963, true }, - { 83977, true }, - { 83986, true }, - { 83996, true }, - { 84007, true }, - { 84019, true }, - { 84031, true }, - { 84046, true }, - { 84060, false }, - { 84080, true }, - { 84093, true }, - { 84104, true }, - { 84113, true }, - { 84120, true }, - { 84131, true }, - { 84140, true }, - { 84153, true }, - { 84170, true }, - { 84184, true }, - { 84202, true }, - { 84225, true }, - { 84240, false }, - { 84251, false }, - { 84263, false }, - { 84274, true }, - { 84290, true }, - { 84303, true }, - { 84316, true }, - { 84326, true }, - { 84352, false }, - { 84368, true }, - { 84378, true }, - { 84386, true }, - { 84395, true }, - { 84407, true }, - { 84419, false }, + { 83685, false }, + { 83714, true }, + { 83728, false }, + { 83742, true }, + { 83760, false }, + { 83781, true }, + { 83796, true }, + { 83809, true }, + { 83827, true }, + { 83847, true }, + { 83859, true }, + { 83871, true }, + { 83886, true }, + { 83909, true }, + { 83933, true }, + { 83957, true }, + { 83981, true }, + { 83991, true }, + { 84005, true }, + { 84027, true }, + { 84059, true }, + { 84070, true }, + { 84078, true }, + { 84092, true }, + { 84101, true }, + { 84111, true }, + { 84122, true }, + { 84134, true }, + { 84146, true }, + { 84161, true }, + { 84175, false }, + { 84195, true }, + { 84208, true }, + { 84219, true }, + { 84228, true }, + { 84235, true }, + { 84246, true }, + { 84255, true }, + { 84268, true }, + { 84285, true }, + { 84299, true }, + { 84317, true }, + { 84340, true }, + { 84355, false }, + { 84366, false }, + { 84378, false }, + { 84389, true }, + { 84405, true }, + { 84418, true }, { 84431, true }, - { 84445, true }, - { 84457, true }, - { 84474, true }, - { 84486, true }, - { 84506, true }, - { 84517, true }, - { 84533, true }, - { 84551, true }, - { 84563, true }, - { 84580, true }, - { 84600, true }, - { 84609, true }, - { 84625, true }, - { 84638, true }, - { 84657, true }, - { 84683, true }, - { 84696, true }, - { 84714, true }, - { 84727, true }, - { 84751, true }, - { 84765, true }, - { 84782, true }, - { 84797, true }, - { 84808, true }, - { 84820, true }, - { 84832, true }, - { 84847, true }, - { 84864, true }, - { 84872, true }, - { 84884, true }, - { 84903, true }, - { 84920, true }, - { 84937, true }, - { 84952, true }, - { 84977, true }, - { 84992, true }, - { 85005, true }, - { 85017, true }, - { 85037, true }, - { 85049, true }, - { 85062, true }, - { 85074, true }, - { 85088, true }, - { 85106, true }, - { 85118, true }, - { 85142, true }, - { 85155, true }, - { 85174, true }, - { 85186, true }, - { 85198, true }, - { 85222, true }, - { 85232, true }, - { 85253, true }, - { 85267, true }, - { 85281, true }, - { 85294, false }, - { 85310, true }, - { 85334, true }, - { 85346, true }, - { 85359, true }, - { 85392, true }, - { 85424, true }, - { 85433, true }, - { 85443, true }, - { 85454, true }, - { 85466, true }, - { 85476, true }, - { 85487, true }, - { 85499, true }, - { 85508, true }, - { 85517, true }, - { 85538, true }, - { 85559, true }, + { 84441, true }, + { 84467, false }, + { 84483, true }, + { 84493, true }, + { 84501, true }, + { 84510, true }, + { 84522, true }, + { 84534, false }, + { 84546, true }, + { 84560, true }, + { 84572, true }, + { 84589, true }, + { 84601, true }, + { 84621, true }, + { 84632, true }, + { 84648, true }, + { 84666, true }, + { 84678, true }, + { 84695, true }, + { 84715, true }, + { 84724, true }, + { 84740, true }, + { 84753, true }, + { 84772, true }, + { 84798, true }, + { 84811, true }, + { 84829, true }, + { 84842, true }, + { 84866, true }, + { 84880, true }, + { 84897, true }, + { 84912, true }, + { 84923, true }, + { 84935, true }, + { 84947, true }, + { 84962, true }, + { 84979, true }, + { 84987, true }, + { 84999, true }, + { 85018, true }, + { 85035, true }, + { 85052, true }, + { 85067, true }, + { 85092, true }, + { 85107, true }, + { 85120, true }, + { 85132, true }, + { 85152, true }, + { 85164, true }, + { 85177, true }, + { 85189, true }, + { 85203, true }, + { 85221, true }, + { 85233, true }, + { 85257, true }, + { 85270, true }, + { 85289, true }, + { 85301, true }, + { 85313, true }, + { 85337, true }, + { 85347, true }, + { 85368, true }, + { 85382, true }, + { 85396, true }, + { 85409, false }, + { 85425, true }, + { 85449, true }, + { 85461, true }, + { 85474, true }, + { 85507, true }, + { 85539, true }, + { 85548, true }, + { 85558, true }, { 85569, true }, - { 85583, true }, - { 85595, true }, - { 85611, true }, - { 85633, true }, - { 85652, true }, - { 85671, true }, - { 85681, false }, - { 85695, true }, - { 85708, true }, - { 85729, true }, - { 85741, true }, - { 85754, true }, - { 85763, true }, - { 85776, true }, - { 85784, false }, - { 85801, true }, - { 85815, true }, - { 85831, true }, - { 85850, true }, + { 85581, true }, + { 85591, true }, + { 85602, true }, + { 85614, true }, + { 85623, true }, + { 85632, true }, + { 85653, true }, + { 85674, true }, + { 85684, true }, + { 85698, true }, + { 85710, true }, + { 85726, true }, + { 85748, true }, + { 85767, true }, + { 85786, true }, + { 85796, false }, + { 85810, true }, + { 85823, true }, + { 85844, true }, + { 85856, true }, { 85869, true }, - { 85879, true }, - { 85893, true }, - { 85901, true }, - { 85915, true }, - { 85924, true }, - { 85943, true }, - { 85952, true }, + { 85878, true }, + { 85891, true }, + { 85899, false }, + { 85916, true }, + { 85930, true }, + { 85946, true }, { 85965, true }, - { 85978, true }, - { 85993, true }, - { 86006, true }, - { 86026, false }, + { 85984, true }, + { 85994, true }, + { 86008, true }, + { 86016, true }, + { 86030, true }, { 86039, true }, - { 86056, true }, - { 86069, true }, - { 86082, true }, - { 86106, true }, - { 86133, true }, - { 86143, true }, - { 86156, false }, - { 86170, true }, - { 86182, true }, - { 86195, true }, - { 86209, true }, + { 86058, true }, + { 86067, true }, + { 86080, true }, + { 86093, true }, + { 86108, true }, + { 86121, true }, + { 86141, false }, + { 86154, true }, + { 86171, true }, + { 86184, true }, + { 86197, true }, { 86221, true }, - { 86236, true }, - { 86254, true }, - { 86267, true }, - { 86280, true }, - { 86303, true }, - { 86326, false }, - { 86337, true }, - { 86353, true }, - { 86371, true }, - { 86391, true }, - { 86413, true }, - { 86429, true }, - { 86446, true }, - { 86463, true }, - { 86480, true }, - { 86498, true }, - { 86512, true }, - { 86525, true }, - { 86542, true }, - { 86556, true }, - { 86572, true }, - { 86581, true }, - { 86600, true }, - { 86615, true }, - { 86623, true }, - { 86632, true }, - { 86643, true }, - { 86658, false }, - { 86669, true }, - { 86685, true }, - { 86699, true }, - { 86711, true }, - { 86725, true }, - { 86733, true }, - { 86753, true }, - { 86774, true }, + { 86248, true }, + { 86258, true }, + { 86271, false }, + { 86285, true }, + { 86297, true }, + { 86310, true }, + { 86324, true }, + { 86336, true }, + { 86351, true }, + { 86369, true }, + { 86382, true }, + { 86395, true }, + { 86418, true }, + { 86441, false }, + { 86452, true }, + { 86468, true }, + { 86486, true }, + { 86506, true }, + { 86528, true }, + { 86544, true }, + { 86561, true }, + { 86578, true }, + { 86595, true }, + { 86613, true }, + { 86627, true }, + { 86640, true }, + { 86657, true }, + { 86671, true }, + { 86687, true }, + { 86696, true }, + { 86715, true }, + { 86730, true }, + { 86738, true }, + { 86747, true }, + { 86758, true }, + { 86773, false }, { 86784, true }, - { 86793, true }, - { 86809, true }, - { 86819, true }, - { 86825, true }, - { 86837, true }, - { 86845, true }, - { 86867, true }, - { 86881, true }, + { 86800, true }, + { 86814, true }, + { 86826, true }, + { 86840, true }, + { 86848, true }, + { 86868, true }, { 86889, true }, - { 86904, true }, - { 86915, true }, - { 86928, true }, - { 86944, true }, - { 86962, false }, - { 86975, true }, - { 86989, true }, - { 86998, true }, - { 87007, true }, - { 87018, true }, - { 87038, true }, - { 87050, true }, - { 87062, true }, - { 87081, true }, - { 87100, true }, - { 87108, true }, - { 87125, true }, - { 87144, true }, + { 86899, true }, + { 86908, true }, + { 86924, true }, + { 86934, true }, + { 86940, true }, + { 86952, true }, + { 86960, true }, + { 86982, true }, + { 86996, true }, + { 87004, true }, + { 87019, true }, + { 87030, true }, + { 87043, true }, + { 87059, true }, + { 87077, false }, + { 87090, true }, + { 87104, true }, + { 87113, true }, + { 87122, true }, + { 87133, true }, { 87153, true }, - { 87162, true }, - { 87181, true }, - { 87192, true }, - { 87208, true }, + { 87165, true }, + { 87177, true }, + { 87196, true }, { 87215, true }, - { 87227, true }, - { 87248, true }, - { 87265, true }, - { 87278, true }, - { 87288, true }, - { 87301, true }, - { 87312, true }, - { 87337, true }, - { 87352, true }, - { 87371, true }, - { 87398, true }, - { 87417, false }, - { 87431, true }, - { 87442, true }, - { 87457, true }, - { 87469, true }, - { 87480, true }, - { 87495, true }, - { 87504, true }, - { 87518, true }, - { 87532, true }, - { 87549, true }, - { 87560, true }, - { 87576, true }, - { 87596, true }, - { 87605, true }, - { 87618, false }, - { 87632, true }, - { 87652, false }, - { 87676, true }, - { 87691, true }, - { 87702, false }, - { 87710, true }, - { 87728, true }, - { 87752, true }, - { 87770, true }, - { 87792, true }, - { 87814, true }, - { 87839, true }, - { 87856, true }, - { 87872, true }, - { 87884, true }, - { 87896, true }, - { 87917, true }, - { 87931, true }, + { 87223, true }, + { 87240, true }, + { 87259, true }, + { 87268, true }, + { 87277, true }, + { 87296, true }, + { 87307, true }, + { 87323, true }, + { 87330, true }, + { 87342, true }, + { 87363, true }, + { 87380, true }, + { 87393, true }, + { 87403, true }, + { 87416, true }, + { 87427, true }, + { 87452, true }, + { 87467, true }, + { 87486, true }, + { 87505, false }, + { 87519, true }, + { 87530, true }, + { 87545, true }, + { 87557, true }, + { 87568, true }, + { 87583, true }, + { 87592, true }, + { 87606, true }, + { 87620, true }, + { 87637, true }, + { 87648, true }, + { 87664, true }, + { 87684, true }, + { 87693, true }, + { 87706, false }, + { 87720, true }, + { 87740, false }, + { 87764, true }, + { 87779, true }, + { 87790, false }, + { 87798, true }, + { 87816, true }, + { 87840, true }, + { 87858, true }, + { 87880, true }, + { 87902, true }, + { 87927, true }, { 87944, true }, - { 87957, false }, - { 87974, true }, - { 87997, true }, - { 88006, true }, - { 88028, true }, - { 88048, true }, - { 88075, true }, + { 87960, true }, + { 87972, true }, + { 87984, true }, + { 88005, true }, + { 88019, true }, + { 88032, true }, + { 88045, false }, + { 88062, true }, + { 88085, true }, { 88094, true }, - { 88106, true }, - { 88126, true }, - { 88143, true }, - { 88159, true }, - { 88167, true }, - { 88176, true }, - { 88193, true }, - { 88208, true }, - { 88223, true }, - { 88252, true }, - { 88268, true }, - { 88283, true }, - { 88306, true }, - { 88328, true }, - { 88350, true }, - { 88368, true }, - { 88382, true }, - { 88395, true }, - { 88409, true }, - { 88424, true }, - { 88437, true }, - { 88450, true }, - { 88460, true }, - { 88473, true }, - { 88489, true }, - { 88502, true }, - { 88520, true }, + { 88116, true }, + { 88136, true }, + { 88163, true }, + { 88182, true }, + { 88194, true }, + { 88214, true }, + { 88231, true }, + { 88247, true }, + { 88255, true }, + { 88264, true }, + { 88281, true }, + { 88296, true }, + { 88311, true }, + { 88340, true }, + { 88356, true }, + { 88371, true }, + { 88394, true }, + { 88416, true }, + { 88438, true }, + { 88456, true }, + { 88470, true }, + { 88483, true }, + { 88497, true }, + { 88512, true }, + { 88525, true }, { 88538, true }, - { 88546, true }, - { 88559, true }, - { 88566, false }, - { 88586, true }, - { 88595, true }, - { 88610, true }, - { 88628, true }, - { 88640, true }, - { 88654, true }, - { 88663, true }, - { 88671, true }, - { 88692, true }, - { 88706, true }, - { 88723, true }, - { 88736, true }, - { 88747, true }, - { 88757, true }, - { 88774, true }, - { 88796, true }, - { 88817, true }, - { 88832, true }, - { 88849, true }, - { 88859, true }, - { 88874, true }, - { 88890, true }, - { 88901, true }, - { 88913, true }, - { 88932, true }, - { 88954, true }, - { 88967, true }, - { 88982, true }, - { 89002, true }, - { 89018, true }, - { 89034, true }, - { 89044, true }, - { 89056, true }, - { 89064, true }, - { 89082, true }, - { 89101, false }, - { 89120, true }, - { 89133, true }, - { 89150, true }, - { 89162, true }, - { 89176, true }, - { 89196, true }, - { 89210, true }, - { 89222, true }, - { 89235, true }, - { 89249, true }, - { 89274, true }, - { 89289, true }, - { 89303, true }, - { 89322, true }, - { 89344, true }, - { 89360, true }, - { 89379, true }, - { 89392, true }, + { 88548, true }, + { 88561, true }, + { 88577, true }, + { 88590, true }, + { 88608, true }, + { 88626, true }, + { 88634, true }, + { 88647, true }, + { 88654, false }, + { 88674, true }, + { 88683, true }, + { 88698, true }, + { 88716, true }, + { 88728, true }, + { 88742, true }, + { 88751, true }, + { 88759, true }, + { 88780, true }, + { 88794, true }, + { 88811, true }, + { 88824, true }, + { 88835, true }, + { 88845, true }, + { 88862, true }, + { 88884, true }, + { 88905, true }, + { 88920, true }, + { 88937, true }, + { 88947, true }, + { 88962, true }, + { 88978, true }, + { 88989, true }, + { 89001, true }, + { 89020, true }, + { 89042, true }, + { 89055, true }, + { 89070, true }, + { 89090, true }, + { 89106, true }, + { 89122, true }, + { 89132, true }, + { 89144, true }, + { 89152, true }, + { 89170, true }, + { 89189, false }, + { 89208, true }, + { 89221, true }, + { 89238, true }, + { 89250, true }, + { 89264, true }, + { 89284, true }, + { 89298, true }, + { 89310, true }, + { 89323, true }, + { 89337, true }, + { 89362, true }, + { 89377, true }, + { 89391, true }, { 89410, true }, - { 89423, true }, - { 89433, true }, + { 89432, true }, { 89448, true }, - { 89465, true }, + { 89467, true }, { 89480, true }, - { 89490, true }, - { 89503, true }, - { 89528, true }, - { 89543, true }, - { 89561, true }, - { 89579, true }, - { 89596, true }, - { 89612, true }, - { 89625, true }, - { 89636, true }, - { 89650, true }, - { 89663, true }, - { 89681, true }, + { 89498, true }, + { 89511, true }, + { 89521, true }, + { 89536, true }, + { 89553, true }, + { 89568, true }, + { 89578, true }, + { 89591, true }, + { 89616, true }, + { 89631, true }, + { 89649, true }, + { 89667, true }, + { 89684, true }, { 89700, true }, - { 89714, true }, - { 89730, true }, - { 89749, true }, - { 89761, true }, - { 89774, true }, - { 89786, true }, - { 89802, true }, - { 89818, true }, - { 89831, true }, - { 89847, true }, - { 89858, true }, - { 89873, true }, - { 89888, true }, + { 89713, true }, + { 89725, true }, + { 89736, true }, + { 89750, true }, + { 89763, true }, + { 89781, true }, + { 89800, true }, + { 89814, true }, + { 89830, true }, + { 89849, true }, + { 89861, true }, + { 89874, true }, + { 89886, true }, { 89902, true }, - { 89920, true }, - { 89940, true }, - { 89959, true }, - { 89972, true }, - { 89996, true }, - { 90006, true }, - { 90019, true }, - { 90031, true }, - { 90043, true }, - { 90053, true }, - { 90065, true }, - { 90081, true }, - { 90091, true }, - { 90099, true }, - { 90107, true }, - { 90122, true }, - { 90135, true }, - { 90146, true }, - { 90159, false }, - { 90170, true }, - { 90186, true }, - { 90197, true }, - { 90209, true }, - { 90219, true }, - { 90236, true }, - { 90254, false }, - { 90267, true }, - { 90282, true }, - { 90299, true }, - { 90317, true }, - { 90331, false }, - { 90349, true }, - { 90365, true }, - { 90381, true }, - { 90390, true }, + { 89918, true }, + { 89931, true }, + { 89947, true }, + { 89958, true }, + { 89973, true }, + { 89988, true }, + { 90002, true }, + { 90020, true }, + { 90040, true }, + { 90059, true }, + { 90072, true }, + { 90096, true }, + { 90106, true }, + { 90119, true }, + { 90131, true }, + { 90143, true }, + { 90153, true }, + { 90165, true }, + { 90181, true }, + { 90191, true }, + { 90199, true }, + { 90207, true }, + { 90222, true }, + { 90235, true }, + { 90246, true }, + { 90259, false }, + { 90270, true }, + { 90286, true }, + { 90297, true }, + { 90309, true }, + { 90319, true }, + { 90336, true }, + { 90354, false }, + { 90367, true }, + { 90382, true }, { 90399, true }, - { 90414, true }, - { 90429, true }, - { 90439, true }, - { 90454, true }, - { 90464, true }, - { 90475, true }, - { 90489, true }, - { 90501, true }, - { 90518, true }, - { 90532, true }, - { 90540, true }, - { 90548, true }, - { 90557, true }, - { 90569, true }, - { 90580, true }, - { 90589, false }, - { 90597, true }, - { 90623, true }, - { 90636, true }, - { 90649, true }, + { 90417, true }, + { 90431, false }, + { 90449, true }, + { 90465, true }, + { 90481, true }, + { 90490, true }, + { 90499, true }, + { 90514, true }, + { 90529, true }, + { 90539, true }, + { 90554, true }, + { 90564, true }, + { 90575, true }, + { 90589, true }, + { 90601, true }, + { 90618, true }, + { 90632, true }, + { 90640, true }, + { 90648, true }, { 90657, true }, - { 90671, true }, - { 90681, true }, - { 90698, true }, - { 90708, true }, - { 90720, true }, - { 90735, true }, - { 90744, true }, - { 90755, true }, - { 90766, true }, - { 90777, true }, - { 90792, true }, - { 90805, true }, - { 90817, true }, - { 90830, true }, + { 90669, true }, + { 90680, true }, + { 90689, false }, + { 90697, true }, + { 90723, true }, + { 90736, true }, + { 90749, true }, + { 90757, true }, + { 90771, true }, + { 90781, true }, + { 90798, true }, + { 90808, true }, + { 90820, true }, + { 90835, true }, { 90844, true }, - { 90859, true }, - { 90870, false }, - { 90884, true }, + { 90855, true }, + { 90866, true }, + { 90877, true }, + { 90892, true }, { 90905, true }, - { 90916, true }, - { 90929, true }, - { 90943, true }, - { 90961, true }, - { 90972, true }, - { 90985, true }, - { 91004, true }, - { 91018, true }, - { 91034, true }, - { 91047, true }, - { 91062, true }, - { 91075, true }, - { 91089, false }, - { 91105, true }, - { 91125, true }, - { 91136, true }, - { 91155, true }, - { 91168, true }, - { 91191, true }, - { 91200, true }, - { 91211, true }, - { 91222, true }, - { 91231, true }, - { 91249, true }, - { 91263, true }, - { 91280, true }, - { 91298, true }, - { 91317, true }, - { 91330, true }, - { 91343, true }, - { 91354, true }, + { 90917, true }, + { 90930, true }, + { 90944, true }, + { 90959, true }, + { 90970, false }, + { 90984, true }, + { 91005, true }, + { 91016, true }, + { 91029, true }, + { 91043, true }, + { 91061, true }, + { 91072, true }, + { 91085, true }, + { 91104, true }, + { 91118, true }, + { 91134, true }, + { 91147, true }, + { 91162, true }, + { 91175, true }, + { 91189, false }, + { 91205, true }, + { 91225, true }, + { 91236, true }, + { 91255, true }, + { 91268, true }, + { 91291, true }, + { 91300, true }, + { 91311, true }, + { 91322, true }, + { 91331, true }, + { 91349, true }, { 91363, true }, { 91380, true }, - { 91400, true }, - { 91414, true }, - { 91422, true }, - { 91432, true }, - { 91442, true }, - { 91450, true }, - { 91457, true }, - { 91470, true }, - { 91481, true }, - { 91495, true }, - { 91509, true }, - { 91523, true }, - { 91533, true }, - { 91543, true }, - { 91556, true }, - { 91566, true }, - { 91578, true }, - { 91585, true }, - { 91608, true }, - { 91617, true }, - { 91632, true }, - { 91639, true }, - { 91655, true }, - { 91661, true }, - { 91669, true }, - { 91681, true }, - { 91691, true }, - { 91702, true }, - { 91712, true }, - { 91719, true }, - { 91733, true }, - { 91746, true }, + { 91398, true }, + { 91417, true }, + { 91430, true }, + { 91443, true }, + { 91454, true }, + { 91463, true }, + { 91480, true }, + { 91500, true }, + { 91514, true }, + { 91522, true }, + { 91532, true }, + { 91542, true }, + { 91550, true }, + { 91557, true }, + { 91570, true }, + { 91581, true }, + { 91595, true }, + { 91609, true }, + { 91623, true }, + { 91633, true }, + { 91643, true }, + { 91656, true }, + { 91666, true }, + { 91678, true }, + { 91685, true }, + { 91708, true }, + { 91717, true }, + { 91732, true }, + { 91739, true }, { 91755, true }, - { 91764, true }, - { 91778, true }, - { 91796, true }, + { 91761, true }, + { 91769, true }, + { 91781, true }, + { 91791, true }, + { 91802, true }, { 91812, true }, - { 91834, true }, - { 91847, true }, - { 91856, true }, - { 91870, true }, - { 91883, true }, - { 91895, true }, - { 91905, true }, - { 91914, true }, - { 91936, true }, - { 91951, true }, - { 91966, true }, - { 91985, true }, - { 92003, true }, - { 92013, true }, - { 92032, true }, + { 91819, true }, + { 91833, true }, + { 91846, true }, + { 91855, true }, + { 91864, true }, + { 91878, true }, + { 91896, true }, + { 91912, true }, + { 91934, true }, + { 91947, true }, + { 91956, true }, + { 91970, true }, + { 91983, true }, + { 91995, true }, + { 92005, true }, + { 92014, true }, + { 92036, true }, { 92051, true }, - { 92069, true }, + { 92066, true }, { 92085, true }, - { 92105, true }, - { 92115, true }, - { 92126, true }, - { 92144, true }, - { 92156, true }, - { 92167, true }, - { 92183, true }, - { 92200, true }, + { 92103, true }, + { 92113, true }, + { 92132, true }, + { 92151, true }, + { 92169, true }, + { 92185, true }, + { 92205, true }, { 92215, true }, - { 92231, true }, - { 92247, true }, + { 92226, true }, + { 92244, true }, { 92256, true }, - { 92273, true }, - { 92285, true }, - { 92302, true }, - { 92320, true }, - { 92332, true }, - { 92349, true }, - { 92363, true }, - { 92377, true }, - { 92392, true }, - { 92407, true }, - { 92422, true }, - { 92438, true }, - { 92456, true }, - { 92469, true }, - { 92481, true }, - { 92498, true }, - { 92519, true }, - { 92543, true }, - { 92565, true }, - { 92577, true }, - { 92590, true }, - { 92605, true }, - { 92622, true }, - { 92638, true }, - { 92652, true }, + { 92267, true }, + { 92283, true }, + { 92300, true }, + { 92315, true }, + { 92331, true }, + { 92347, true }, + { 92356, true }, + { 92373, true }, + { 92385, true }, + { 92402, true }, + { 92420, true }, + { 92432, true }, + { 92449, true }, + { 92463, true }, + { 92477, true }, + { 92492, true }, + { 92507, true }, + { 92522, true }, + { 92538, true }, + { 92556, true }, + { 92569, true }, + { 92581, true }, + { 92598, true }, + { 92619, true }, + { 92643, true }, { 92665, true }, - { 92685, true }, - { 92703, true }, - { 92716, false }, - { 92737, true }, - { 92755, true }, - { 92778, true }, - { 92793, true }, - { 92809, true }, + { 92677, true }, + { 92690, true }, + { 92705, true }, + { 92722, true }, + { 92738, true }, + { 92752, true }, + { 92765, true }, + { 92785, true }, + { 92803, true }, { 92824, true }, - { 92841, true }, - { 92855, true }, + { 92837, false }, + { 92858, true }, { 92876, true }, - { 92889, true }, - { 92900, true }, - { 92925, true }, - { 92941, true }, - { 92958, true }, - { 92975, true }, - { 92987, false }, - { 93004, true }, - { 93018, true }, - { 93031, true }, - { 93049, true }, - { 93064, true }, - { 93076, false }, - { 93087, true }, - { 93103, true }, - { 93119, true }, - { 93131, true }, - { 93147, true }, - { 93161, true }, - { 93174, true }, - { 93184, true }, - { 93201, true }, - { 93220, true }, - { 93235, true }, - { 93244, true }, - { 93251, true }, - { 93262, true }, - { 93271, true }, - { 93288, true }, - { 93300, true }, - { 93309, true }, + { 92899, true }, + { 92914, true }, + { 92930, true }, + { 92945, true }, + { 92962, true }, + { 92976, true }, + { 92997, true }, + { 93010, true }, + { 93021, true }, + { 93046, true }, + { 93062, true }, + { 93079, true }, + { 93096, true }, + { 93108, false }, + { 93125, true }, + { 93139, true }, + { 93152, true }, + { 93170, true }, + { 93185, true }, + { 93197, false }, + { 93208, true }, + { 93224, true }, + { 93240, true }, + { 93252, true }, + { 93268, true }, + { 93282, true }, + { 93295, true }, + { 93305, true }, { 93322, true }, - { 93334, true }, { 93341, true }, { 93356, true }, - { 93363, false }, - { 93370, false }, - { 93379, true }, - { 93415, true }, - { 93426, true }, - { 93438, true }, - { 93450, true }, - { 93461, true }, - { 93482, true }, - { 93508, true }, - { 93518, true }, - { 93527, true }, - { 93536, true }, - { 93543, true }, - { 93555, false }, - { 93567, false }, + { 93365, true }, + { 93372, true }, + { 93383, true }, + { 93392, true }, + { 93409, true }, + { 93421, true }, + { 93430, true }, + { 93443, true }, + { 93455, true }, + { 93462, true }, + { 93477, false }, + { 93484, false }, + { 93493, true }, + { 93529, true }, + { 93540, true }, + { 93552, true }, + { 93564, true }, { 93575, true }, - { 93587, true }, - { 93600, true }, - { 93614, false }, - { 93629, true }, - { 93643, true }, - { 93656, true }, - { 93668, true }, - { 93680, true }, - { 93691, true }, - { 93705, true }, - { 93725, true }, - { 93736, true }, - { 93748, true }, - { 93761, true }, - { 93773, true }, - { 93784, true }, - { 93796, true }, - { 93813, true }, - { 93823, true }, - { 93840, true }, - { 93850, false }, - { 93868, true }, - { 93886, true }, - { 93908, true }, - { 93930, true }, - { 93941, true }, - { 93953, true }, - { 93968, true }, - { 93984, true }, - { 93995, true }, - { 94011, true }, - { 94035, true }, - { 94058, true }, - { 94076, true }, - { 94087, true }, - { 94108, true }, - { 94126, true }, - { 94139, true }, - { 94166, true }, - { 94186, true }, - { 94198, true }, - { 94216, true }, - { 94230, true }, - { 94246, true }, - { 94262, true }, - { 94276, true }, - { 94289, true }, - { 94303, true }, - { 94317, true }, - { 94341, true }, - { 94369, false }, - { 94380, true }, - { 94391, true }, - { 94409, true }, - { 94427, true }, - { 94451, true }, - { 94472, true }, - { 94493, true }, - { 94514, true }, - { 94528, true }, + { 93596, true }, + { 93622, true }, + { 93632, true }, + { 93641, true }, + { 93650, true }, + { 93657, true }, + { 93669, false }, + { 93681, false }, + { 93689, true }, + { 93701, true }, + { 93714, true }, + { 93728, false }, + { 93743, true }, + { 93757, true }, + { 93770, true }, + { 93782, true }, + { 93794, true }, + { 93805, true }, + { 93819, true }, + { 93839, true }, + { 93850, true }, + { 93862, true }, + { 93875, true }, + { 93887, true }, + { 93898, true }, + { 93910, true }, + { 93927, true }, + { 93937, true }, + { 93954, true }, + { 93964, false }, + { 93982, true }, + { 94000, true }, + { 94022, true }, + { 94044, true }, + { 94055, true }, + { 94067, true }, + { 94082, true }, + { 94098, true }, + { 94109, true }, + { 94125, true }, + { 94149, true }, + { 94172, true }, + { 94190, true }, + { 94201, true }, + { 94222, true }, + { 94240, true }, + { 94253, true }, + { 94280, true }, + { 94300, true }, + { 94312, true }, + { 94330, true }, + { 94344, true }, + { 94360, true }, + { 94376, true }, + { 94390, true }, + { 94403, true }, + { 94417, true }, + { 94431, true }, + { 94455, true }, + { 94483, false }, + { 94494, true }, + { 94505, true }, + { 94523, true }, { 94541, true }, - { 94563, true }, - { 94574, true }, - { 94593, true }, - { 94611, true }, - { 94621, true }, - { 94639, true }, - { 94658, true }, - { 94676, true }, - { 94697, true }, - { 94718, true }, - { 94738, true }, - { 94748, true }, - { 94762, true }, - { 94784, true }, - { 94800, true }, - { 94816, true }, - { 94827, true }, - { 94838, true }, - { 94848, true }, - { 94858, true }, - { 94875, false }, - { 94888, true }, - { 94900, true }, - { 94911, true }, - { 94928, true }, - { 94938, true }, + { 94565, true }, + { 94586, true }, + { 94607, true }, + { 94628, true }, + { 94642, true }, + { 94655, true }, + { 94677, true }, + { 94688, true }, + { 94707, true }, + { 94725, true }, + { 94735, true }, + { 94753, true }, + { 94772, true }, + { 94790, true }, + { 94811, true }, + { 94832, true }, + { 94852, true }, + { 94862, true }, + { 94876, true }, + { 94898, true }, + { 94914, true }, + { 94930, true }, + { 94941, true }, { 94952, true }, - { 94971, true }, - { 94989, true }, - { 95009, true }, - { 95020, true }, - { 95033, true }, - { 95049, true }, - { 95062, true }, - { 95072, true }, - { 95087, true }, - { 95101, true }, - { 95115, true }, - { 95127, true }, - { 95145, true }, - { 95160, true }, - { 95173, true }, - { 95190, true }, - { 95207, true }, - { 95221, true }, - { 95235, true }, - { 95247, true }, - { 95256, true }, - { 95275, false }, - { 95286, true }, - { 95312, true }, - { 95322, true }, - { 95333, true }, - { 95346, true }, - { 95360, true }, + { 94962, true }, + { 94972, true }, + { 94989, false }, + { 95002, true }, + { 95014, true }, + { 95025, true }, + { 95042, true }, + { 95052, true }, + { 95066, true }, + { 95085, true }, + { 95103, true }, + { 95123, true }, + { 95134, true }, + { 95147, true }, + { 95163, true }, + { 95176, true }, + { 95186, true }, + { 95201, true }, + { 95215, true }, + { 95229, true }, + { 95241, true }, + { 95259, true }, + { 95274, true }, + { 95287, true }, + { 95304, true }, + { 95321, true }, + { 95335, true }, + { 95349, true }, + { 95361, true }, { 95370, true }, - { 95387, true }, - { 95396, true }, - { 95410, true }, - { 95418, true }, - { 95425, true }, - { 95437, true }, - { 95444, true }, - { 95453, true }, - { 95472, true }, - { 95487, true }, - { 95502, true }, - { 95515, true }, - { 95536, true }, - { 95556, true }, - { 95575, true }, - { 95592, true }, - { 95608, true }, - { 95628, true }, - { 95657, true }, - { 95676, true }, - { 95697, true }, - { 95714, true }, - { 95727, true }, - { 95740, true }, - { 95754, true }, - { 95764, true }, - { 95774, true }, - { 95789, true }, - { 95801, false }, - { 95814, false }, - { 95821, true }, - { 95829, true }, - { 95839, true }, + { 95389, false }, + { 95400, true }, + { 95426, true }, + { 95436, true }, + { 95447, true }, + { 95460, true }, + { 95474, true }, + { 95484, true }, + { 95501, true }, + { 95510, true }, + { 95524, true }, + { 95532, true }, + { 95539, true }, + { 95551, true }, + { 95558, true }, + { 95567, true }, + { 95586, true }, + { 95601, true }, + { 95616, true }, + { 95629, true }, + { 95650, true }, + { 95670, true }, + { 95689, true }, + { 95706, true }, + { 95722, true }, + { 95742, true }, + { 95771, true }, + { 95790, true }, + { 95811, true }, + { 95828, true }, + { 95841, true }, { 95854, true }, - { 95867, true }, + { 95868, true }, { 95878, true }, - { 95893, true }, - { 95915, true }, - { 95934, true }, - { 95946, true }, - { 95958, true }, - { 95969, true }, - { 95984, true }, - { 96000, true }, - { 96017, true }, - { 96035, true }, - { 96053, true }, - { 96061, true }, + { 95888, true }, + { 95903, true }, + { 95915, false }, + { 95928, false }, + { 95935, true }, + { 95943, true }, + { 95953, true }, + { 95968, true }, + { 95981, true }, + { 95992, true }, + { 96007, true }, + { 96029, true }, + { 96048, true }, + { 96060, true }, { 96072, true }, - { 96092, true }, - { 96106, true }, - { 96116, true }, - { 96129, true }, - { 96136, true }, - { 96147, false }, - { 96160, true }, - { 96169, true }, - { 96181, false }, - { 96201, false }, - { 96217, true }, - { 96228, true }, + { 96083, true }, + { 96098, true }, + { 96114, true }, + { 96131, true }, + { 96149, true }, + { 96167, true }, + { 96175, true }, + { 96186, true }, + { 96206, true }, + { 96220, true }, + { 96230, true }, { 96243, true }, - { 96256, true }, - { 96269, true }, - { 96281, true }, - { 96294, true }, - { 96311, false }, - { 96322, false }, - { 96332, true }, - { 96343, true }, - { 96358, true }, - { 96373, true }, - { 96388, true }, - { 96404, true }, - { 96433, true }, - { 96452, true }, - { 96466, true }, - { 96483, true }, - { 96496, true }, - { 96511, true }, - { 96526, true }, - { 96541, true }, - { 96555, true }, - { 96574, true }, - { 96584, true }, - { 96609, true }, - { 96626, true }, - { 96642, true }, - { 96663, true }, - { 96680, true }, - { 96696, true }, - { 96715, true }, - { 96749, true }, - { 96773, true }, - { 96802, true }, - { 96826, true }, - { 96842, true }, - { 96862, true }, + { 96250, true }, + { 96261, false }, + { 96274, true }, + { 96283, true }, + { 96295, false }, + { 96315, false }, + { 96331, true }, + { 96342, true }, + { 96357, true }, + { 96370, true }, + { 96383, true }, + { 96395, true }, + { 96408, true }, + { 96425, false }, + { 96436, false }, + { 96446, true }, + { 96457, true }, + { 96472, true }, + { 96487, true }, + { 96502, true }, + { 96518, true }, + { 96547, true }, + { 96566, true }, + { 96580, true }, + { 96597, true }, + { 96610, true }, + { 96625, true }, + { 96640, true }, + { 96655, true }, + { 96669, true }, + { 96688, true }, + { 96698, true }, + { 96723, true }, + { 96740, true }, + { 96756, true }, + { 96777, true }, + { 96794, true }, + { 96810, true }, + { 96829, true }, + { 96863, true }, { 96887, true }, - { 96899, true }, - { 96926, true }, + { 96916, true }, { 96940, true }, - { 96958, true }, - { 96967, true }, - { 96976, false }, - { 96986, true }, - { 96998, true }, + { 96956, true }, + { 96976, true }, + { 97001, true }, { 97013, true }, - { 97021, true }, - { 97030, true }, - { 97038, true }, - { 97052, true }, - { 97060, true }, - { 97076, true }, - { 97098, true }, - { 97110, true }, - { 97122, true }, - { 97130, true }, - { 97141, true }, - { 97149, true }, - { 97159, false }, - { 97171, true }, - { 97187, true }, - { 97203, true }, - { 97219, true }, - { 97232, true }, - { 97247, true }, - { 97261, true }, - { 97272, true }, - { 97287, true }, - { 97312, true }, - { 97330, true }, - { 97345, true }, - { 97356, false }, - { 97368, true }, - { 97382, true }, - { 97393, true }, - { 97404, true }, - { 97415, true }, - { 97425, true }, - { 97446, true }, - { 97463, true }, - { 97481, true }, - { 97491, true }, - { 97514, true }, + { 97040, true }, + { 97054, true }, + { 97072, true }, + { 97081, true }, + { 97090, false }, + { 97100, true }, + { 97112, true }, + { 97127, true }, + { 97135, true }, + { 97144, true }, + { 97152, true }, + { 97166, true }, + { 97174, true }, + { 97190, true }, + { 97212, true }, + { 97224, true }, + { 97236, true }, + { 97244, true }, + { 97255, true }, + { 97263, true }, + { 97273, true }, + { 97283, false }, + { 97295, true }, + { 97311, true }, + { 97327, true }, + { 97343, true }, + { 97356, true }, + { 97371, true }, + { 97385, true }, + { 97396, true }, + { 97411, true }, + { 97436, true }, + { 97454, true }, + { 97469, true }, + { 97480, false }, + { 97492, true }, + { 97506, true }, + { 97517, true }, { 97528, true }, - { 97544, true }, - { 97563, true }, - { 97576, true }, - { 97593, true }, - { 97611, false }, - { 97624, true }, - { 97645, true }, - { 97659, true }, - { 97669, true }, - { 97680, true }, + { 97539, true }, + { 97549, true }, + { 97570, true }, + { 97587, true }, + { 97605, true }, + { 97615, true }, + { 97638, true }, + { 97652, true }, + { 97668, true }, { 97687, true }, - { 97703, true }, - { 97710, true }, - { 97731, true }, - { 97741, false }, - { 97756, true }, - { 97771, true }, - { 97788, true }, - { 97798, true }, - { 97817, true }, - { 97829, true }, - { 97848, true }, - { 97866, true }, - { 97876, true }, - { 97886, true }, - { 97899, false }, - { 97910, true }, - { 97925, true }, - { 97936, true }, - { 97952, true }, - { 97965, true }, - { 97975, true }, - { 97994, true }, + { 97700, true }, + { 97717, true }, + { 97735, false }, + { 97748, true }, + { 97769, true }, + { 97783, true }, + { 97793, true }, + { 97804, true }, + { 97811, true }, + { 97827, true }, + { 97834, true }, + { 97855, true }, + { 97865, false }, + { 97880, true }, + { 97895, true }, + { 97912, true }, + { 97922, true }, + { 97941, true }, + { 97953, true }, + { 97972, true }, + { 97990, true }, + { 98000, true }, { 98010, true }, - { 98032, true }, - { 98044, true }, - { 98057, false }, - { 98071, true }, - { 98084, true }, - { 98098, true }, - { 98113, true }, - { 98129, true }, - { 98141, true }, - { 98152, true }, - { 98164, true }, - { 98177, true }, - { 98187, true }, - { 98204, true }, - { 98223, true }, - { 98239, true }, - { 98251, false }, - { 98261, true }, - { 98277, true }, + { 98023, false }, + { 98034, true }, + { 98049, true }, + { 98060, true }, + { 98076, true }, + { 98089, true }, + { 98099, true }, + { 98118, true }, + { 98134, true }, + { 98156, true }, + { 98168, true }, + { 98181, false }, + { 98195, true }, + { 98208, true }, + { 98222, true }, + { 98237, true }, + { 98253, true }, + { 98265, true }, + { 98276, true }, { 98288, true }, - { 98308, false }, - { 98316, true }, + { 98301, true }, + { 98311, true }, { 98328, true }, - { 98339, true }, - { 98351, true }, - { 98370, false }, - { 98390, true }, - { 98399, true }, - { 98410, true }, - { 98441, true }, - { 98455, true }, - { 98471, true }, - { 98485, true }, - { 98505, true }, - { 98524, true }, - { 98538, true }, - { 98562, true }, - { 98578, true }, - { 98593, true }, - { 98607, true }, - { 98621, true }, - { 98635, true }, - { 98643, true }, - { 98656, true }, - { 98667, true }, - { 98679, true }, - { 98691, true }, - { 98707, true }, - { 98718, true }, - { 98733, true }, - { 98758, true }, - { 98774, true }, - { 98790, true }, - { 98812, true }, - { 98828, true }, - { 98847, true }, - { 98871, true }, - { 98887, true }, - { 98903, true }, - { 98913, true }, - { 98925, true }, - { 98942, true }, - { 98960, true }, - { 98972, true }, - { 98986, true }, - { 99001, true }, - { 99021, true }, - { 99036, true }, - { 99056, true }, - { 99077, false }, - { 99093, true }, - { 99111, true }, - { 99126, true }, - { 99142, true }, - { 99157, true }, - { 99169, true }, - { 99188, false }, - { 99196, true }, - { 99210, true }, - { 99227, true }, - { 99241, true }, - { 99253, true }, - { 99267, true }, - { 99280, true }, - { 99298, true }, - { 99312, true }, - { 99328, true }, - { 99348, true }, - { 99379, true }, - { 99410, true }, - { 99432, true }, - { 99450, true }, - { 99464, true }, - { 99486, true }, - { 99501, true }, - { 99520, true }, - { 99530, true }, - { 99545, true }, - { 99560, true }, - { 99575, true }, - { 99590, true }, - { 99607, true }, - { 99620, true }, - { 99635, true }, - { 99648, true }, - { 99661, true }, - { 99671, true }, - { 99694, true }, - { 99709, true }, - { 99720, true }, + { 98347, true }, + { 98363, true }, + { 98375, false }, + { 98385, true }, + { 98401, true }, + { 98412, true }, + { 98432, false }, + { 98440, true }, + { 98452, true }, + { 98463, true }, + { 98475, true }, + { 98494, false }, + { 98514, true }, + { 98523, true }, + { 98534, true }, + { 98565, true }, + { 98579, true }, + { 98595, true }, + { 98609, true }, + { 98629, true }, + { 98648, true }, + { 98662, true }, + { 98686, true }, + { 98702, true }, + { 98717, true }, + { 98731, true }, + { 98745, true }, + { 98759, true }, + { 98767, true }, + { 98780, true }, + { 98791, true }, + { 98803, true }, + { 98815, true }, + { 98831, true }, + { 98842, true }, + { 98857, true }, + { 98882, true }, + { 98898, true }, + { 98914, true }, + { 98936, true }, + { 98952, true }, + { 98971, true }, + { 98995, true }, + { 99011, true }, + { 99027, true }, + { 99037, true }, + { 99049, true }, + { 99066, true }, + { 99084, true }, + { 99096, true }, + { 99110, true }, + { 99125, true }, + { 99145, true }, + { 99160, true }, + { 99180, true }, + { 99201, false }, + { 99217, true }, + { 99235, true }, + { 99250, true }, + { 99266, true }, + { 99281, true }, + { 99293, true }, + { 99312, false }, + { 99320, true }, + { 99334, true }, + { 99351, true }, + { 99365, true }, + { 99377, true }, + { 99391, true }, + { 99404, true }, + { 99422, true }, + { 99436, true }, + { 99452, true }, + { 99472, true }, + { 99503, true }, + { 99534, true }, + { 99556, true }, + { 99574, true }, + { 99588, true }, + { 99610, true }, + { 99625, true }, + { 99644, true }, + { 99654, true }, + { 99669, true }, + { 99684, true }, + { 99699, true }, + { 99714, true }, { 99731, true }, - { 99748, true }, - { 99765, true }, - { 99780, true }, - { 99787, true }, - { 99800, true }, - { 99810, true }, - { 99827, true }, - { 99837, true }, - { 99847, true }, - { 99856, true }, - { 99866, true }, - { 99885, true }, - { 99903, true }, + { 99744, true }, + { 99759, true }, + { 99772, true }, + { 99785, true }, + { 99795, true }, + { 99818, true }, + { 99833, true }, + { 99844, true }, + { 99855, true }, + { 99872, true }, + { 99889, true }, + { 99904, true }, + { 99911, true }, { 99924, true }, - { 99944, true }, - { 99957, true }, - { 99974, true }, - { 99987, true }, + { 99934, true }, + { 99951, true }, + { 99961, true }, + { 99971, true }, + { 99980, true }, + { 99990, true }, { 100009, true }, - { 100021, true }, - { 100031, true }, - { 100044, true }, - { 100066, true }, - { 100080, true }, - { 100102, true }, - { 100123, true }, - { 100131, true }, - { 100143, true }, - { 100156, true }, - { 100171, true }, + { 100027, true }, + { 100048, true }, + { 100068, true }, + { 100081, true }, + { 100098, true }, + { 100111, true }, + { 100133, true }, + { 100145, true }, + { 100155, true }, + { 100168, true }, { 100190, true }, - { 100200, true }, - { 100211, true }, - { 100230, true }, - { 100242, true }, - { 100263, true }, - { 100274, true }, - { 100283, true }, - { 100293, true }, - { 100313, true }, - { 100330, true }, - { 100352, true }, - { 100364, true }, - { 100382, true }, - { 100395, true }, - { 100408, true }, - { 100419, true }, - { 100434, true }, - { 100447, true }, - { 100470, true }, - { 100484, true }, - { 100494, true }, - { 100508, true }, - { 100523, true }, - { 100538, true }, - { 100550, true }, - { 100560, true }, - { 100568, true }, - { 100584, true }, - { 100602, true }, - { 100616, true }, - { 100624, true }, + { 100204, true }, + { 100226, true }, + { 100247, true }, + { 100255, true }, + { 100267, true }, + { 100280, true }, + { 100295, true }, + { 100314, true }, + { 100324, true }, + { 100335, true }, + { 100354, true }, + { 100366, true }, + { 100387, true }, + { 100398, true }, + { 100407, true }, + { 100417, true }, + { 100437, true }, + { 100454, true }, + { 100476, true }, + { 100488, true }, + { 100506, true }, + { 100519, true }, + { 100532, true }, + { 100543, true }, + { 100558, true }, + { 100571, true }, + { 100594, true }, + { 100608, true }, + { 100618, true }, { 100632, true }, - { 100643, true }, - { 100657, true }, - { 100669, true }, - { 100681, true }, - { 100694, true }, - { 100710, true }, - { 100720, false }, - { 100736, true }, - { 100749, true }, - { 100764, true }, - { 100775, true }, - { 100791, true }, - { 100809, true }, - { 100830, true }, - { 100853, true }, - { 100865, true }, - { 100874, true }, - { 100887, false }, - { 100905, true }, - { 100917, true }, - { 100940, true }, - { 100950, false }, - { 100968, true }, - { 100986, true }, - { 101005, true }, - { 101024, true }, - { 101055, true }, - { 101066, true }, - { 101080, true }, - { 101100, true }, - { 101120, false }, - { 101140, false }, - { 101152, true }, - { 101165, true }, + { 100647, true }, + { 100662, true }, + { 100674, true }, + { 100684, true }, + { 100692, true }, + { 100708, true }, + { 100726, true }, + { 100740, true }, + { 100748, true }, + { 100756, true }, + { 100770, true }, + { 100782, true }, + { 100794, true }, + { 100807, true }, + { 100823, true }, + { 100833, false }, + { 100849, true }, + { 100862, true }, + { 100877, true }, + { 100888, true }, + { 100904, true }, + { 100922, true }, + { 100943, true }, + { 100966, true }, + { 100978, true }, + { 100987, true }, + { 101000, false }, + { 101018, true }, + { 101030, true }, + { 101053, true }, + { 101063, false }, + { 101081, true }, + { 101099, true }, + { 101118, true }, + { 101137, true }, + { 101168, true }, + { 101179, true }, { 101193, true }, - { 101212, true }, - { 101226, true }, - { 101241, false }, - { 101251, true }, - { 101261, true }, - { 101271, true }, - { 101286, true }, - { 101301, true }, - { 101310, true }, - { 101318, true }, - { 101331, true }, - { 101358, true }, - { 101366, true }, - { 101383, true }, - { 101395, true }, - { 101412, true }, - { 101433, true }, - { 101447, true }, - { 101457, true }, - { 101465, true }, - { 101474, true }, - { 101483, true }, - { 101500, true }, - { 101512, true }, - { 101520, true }, - { 101538, true }, - { 101559, true }, + { 101213, true }, + { 101233, false }, + { 101253, false }, + { 101265, true }, + { 101278, true }, + { 101306, true }, + { 101325, true }, + { 101339, true }, + { 101354, false }, + { 101364, true }, + { 101374, true }, + { 101384, true }, + { 101399, true }, + { 101414, true }, + { 101423, true }, + { 101431, true }, + { 101444, true }, + { 101471, true }, + { 101479, true }, + { 101496, true }, + { 101508, true }, + { 101525, true }, + { 101546, true }, + { 101560, true }, + { 101570, true }, { 101578, true }, - { 101592, true }, - { 101604, true }, - { 101622, true }, - { 101634, true }, - { 101645, true }, - { 101652, true }, - { 101664, true }, - { 101673, true }, - { 101682, true }, - { 101698, true }, + { 101587, true }, + { 101596, true }, + { 101613, true }, + { 101625, true }, + { 101633, true }, + { 101651, true }, + { 101672, true }, + { 101691, true }, { 101705, true }, - { 101713, true }, - { 101727, false }, - { 101738, true }, - { 101749, true }, - { 101764, true }, - { 101774, true }, + { 101717, true }, + { 101735, true }, + { 101747, true }, + { 101758, true }, + { 101765, true }, + { 101777, true }, { 101786, true }, - { 101797, true }, - { 101807, true }, - { 101817, true }, - { 101825, true }, - { 101839, true }, - { 101859, true }, - { 101874, true }, - { 101885, true }, - { 101898, true }, + { 101795, true }, + { 101811, true }, + { 101818, true }, + { 101826, true }, + { 101840, false }, + { 101851, true }, + { 101862, true }, + { 101877, true }, + { 101887, true }, + { 101899, true }, { 101910, true }, - { 101925, true }, + { 101920, true }, + { 101930, true }, { 101938, true }, - { 101965, true }, - { 101979, true }, - { 101993, true }, - { 102010, true }, - { 102030, true }, - { 102045, true }, - { 102055, true }, - { 102068, true }, - { 102085, true }, - { 102098, true }, - { 102108, true }, - { 102135, true }, - { 102145, true }, + { 101952, true }, + { 101972, true }, + { 101987, true }, + { 101998, true }, + { 102011, true }, + { 102023, true }, + { 102038, true }, + { 102051, true }, + { 102078, true }, + { 102092, true }, + { 102106, true }, + { 102123, true }, + { 102143, true }, { 102158, true }, - { 102167, true }, - { 102183, true }, - { 102195, true }, - { 102206, true }, - { 102217, true }, - { 102231, true }, - { 102242, true }, - { 102252, true }, - { 102273, true }, - { 102281, true }, - { 102292, true }, - { 102304, true }, - { 102318, true }, - { 102337, true }, - { 102354, true }, - { 102362, true }, - { 102390, true }, - { 102401, true }, - { 102412, true }, - { 102430, true }, - { 102440, true }, - { 102449, true }, - { 102465, true }, - { 102481, true }, - { 102490, true }, - { 102508, true }, - { 102540, true }, - { 102568, true }, - { 102589, true }, - { 102610, true }, - { 102630, true }, - { 102651, true }, - { 102668, true }, - { 102682, true }, - { 102693, true }, - { 102713, true }, - { 102725, true }, - { 102746, true }, - { 102760, true }, - { 102779, true }, - { 102797, true }, - { 102808, true }, - { 102816, true }, - { 102825, true }, - { 102837, true }, - { 102851, true }, - { 102863, true }, - { 102876, true }, - { 102886, true }, - { 102898, true }, - { 102909, true }, + { 102168, true }, + { 102181, true }, + { 102198, true }, + { 102211, true }, + { 102221, true }, + { 102248, true }, + { 102258, true }, + { 102271, true }, + { 102280, true }, + { 102296, true }, + { 102308, true }, + { 102319, true }, + { 102330, true }, + { 102344, true }, + { 102355, true }, + { 102365, true }, + { 102386, true }, + { 102394, true }, + { 102405, true }, + { 102417, true }, + { 102431, true }, + { 102450, true }, + { 102467, true }, + { 102475, true }, + { 102503, true }, + { 102514, true }, + { 102525, true }, + { 102543, true }, + { 102553, true }, + { 102562, true }, + { 102578, true }, + { 102594, true }, + { 102603, true }, + { 102621, true }, + { 102653, true }, + { 102681, true }, + { 102702, true }, + { 102723, true }, + { 102743, true }, + { 102764, true }, + { 102781, true }, + { 102795, true }, + { 102806, true }, + { 102826, true }, + { 102838, true }, + { 102859, true }, + { 102873, true }, + { 102892, true }, + { 102910, true }, { 102921, true }, - { 102935, true }, - { 102958, false }, - { 102973, true }, - { 102988, true }, - { 103007, true }, - { 103025, true }, - { 103039, true }, - { 103053, true }, - { 103063, true }, - { 103076, true }, - { 103089, true }, - { 103104, true }, - { 103116, true }, - { 103130, true }, - { 103146, true }, + { 102929, true }, + { 102938, true }, + { 102950, true }, + { 102964, true }, + { 102976, true }, + { 102989, true }, + { 102999, true }, + { 103011, true }, + { 103022, true }, + { 103034, true }, + { 103048, true }, + { 103071, true }, + { 103086, true }, + { 103105, true }, + { 103123, true }, + { 103137, true }, + { 103151, true }, { 103161, true }, - { 103170, true }, - { 103186, true }, - { 103204, true }, - { 103231, true }, - { 103246, true }, + { 103174, true }, + { 103187, true }, + { 103202, true }, + { 103214, true }, + { 103228, true }, + { 103244, true }, { 103259, true }, - { 103275, true }, - { 103292, false }, - { 103309, true }, - { 103331, true }, - { 103353, true }, - { 103375, true }, - { 103389, true }, - { 103401, true }, - { 103415, true }, - { 103426, true }, - { 103441, true }, - { 103450, true }, - { 103466, true }, - { 103483, true }, - { 103494, true }, - { 103503, true }, - { 103517, true }, - { 103530, true }, - { 103544, true }, - { 103558, true }, - { 103570, true }, - { 103582, true }, - { 103595, true }, - { 103608, true }, - { 103618, true }, - { 103632, true }, - { 103645, true }, - { 103667, true }, - { 103689, true }, - { 103700, true }, - { 103715, true }, - { 103726, false }, - { 103746, true }, - { 103766, true }, - { 103783, true }, - { 103802, true }, - { 103820, true }, - { 103839, true }, - { 103851, true }, - { 103872, true }, - { 103884, true }, - { 103903, true }, + { 103268, true }, + { 103284, true }, + { 103302, true }, + { 103329, true }, + { 103344, true }, + { 103357, true }, + { 103373, true }, + { 103390, false }, + { 103407, true }, + { 103429, true }, + { 103451, true }, + { 103473, true }, + { 103487, true }, + { 103499, true }, + { 103513, true }, + { 103524, true }, + { 103539, true }, + { 103548, true }, + { 103564, true }, + { 103581, true }, + { 103592, true }, + { 103601, true }, + { 103615, true }, + { 103628, true }, + { 103642, true }, + { 103656, true }, + { 103668, true }, + { 103680, true }, + { 103693, true }, + { 103706, true }, + { 103716, true }, + { 103730, true }, + { 103743, true }, + { 103765, true }, + { 103787, true }, + { 103798, true }, + { 103813, true }, + { 103824, false }, + { 103844, true }, + { 103864, true }, + { 103881, true }, + { 103900, true }, { 103918, true }, - { 103938, true }, - { 103951, false }, - { 103959, true }, - { 103968, true }, - { 103980, true }, - { 103996, true }, - { 104014, true }, - { 104031, true }, - { 104045, true }, - { 104055, true }, - { 104068, true }, - { 104086, true }, - { 104093, true }, - { 104107, true }, - { 104114, true }, - { 104121, true }, - { 104132, true }, - { 104145, true }, - { 104159, true }, + { 103937, true }, + { 103949, true }, + { 103970, true }, + { 103982, true }, + { 104001, true }, + { 104016, true }, + { 104036, true }, + { 104049, false }, + { 104057, true }, + { 104066, true }, + { 104078, true }, + { 104094, true }, + { 104112, true }, + { 104129, true }, + { 104143, true }, + { 104153, true }, { 104166, true }, - { 104180, true }, - { 104196, true }, - { 104207, true }, - { 104214, true }, - { 104227, true }, - { 104240, true }, - { 104249, true }, - { 104263, true }, - { 104277, true }, - { 104293, false }, - { 104308, true }, - { 104336, true }, - { 104351, true }, - { 104372, true }, - { 104386, true }, - { 104400, true }, - { 104421, true }, - { 104437, true }, - { 104452, true }, - { 104464, true }, - { 104474, true }, - { 104485, true }, - { 104495, true }, - { 104508, true }, - { 104518, true }, - { 104534, true }, - { 104547, true }, - { 104567, true }, - { 104586, true }, - { 104605, true }, - { 104625, true }, - { 104643, true }, - { 104660, true }, - { 104672, true }, + { 104184, true }, + { 104191, true }, + { 104205, true }, + { 104212, true }, + { 104219, true }, + { 104230, true }, + { 104243, true }, + { 104257, true }, + { 104264, true }, + { 104278, true }, + { 104294, true }, + { 104305, true }, + { 104312, true }, + { 104325, true }, + { 104338, true }, + { 104347, true }, + { 104361, true }, + { 104375, true }, + { 104391, false }, + { 104406, true }, + { 104434, true }, + { 104449, true }, + { 104470, true }, + { 104484, true }, + { 104498, true }, + { 104519, true }, + { 104535, true }, + { 104550, true }, + { 104562, true }, + { 104572, true }, + { 104583, true }, + { 104593, true }, + { 104606, true }, + { 104616, true }, + { 104632, true }, + { 104645, true }, + { 104665, true }, { 104684, true }, - { 104709, true }, - { 104720, true }, - { 104733, true }, - { 104748, true }, - { 104766, true }, - { 104778, true }, - { 104793, true }, - { 104819, true }, - { 104830, true }, - { 104841, true }, - { 104852, true }, + { 104703, true }, + { 104723, true }, + { 104741, true }, + { 104758, true }, + { 104770, true }, + { 104782, true }, + { 104807, true }, + { 104818, true }, + { 104831, true }, + { 104846, true }, { 104864, true }, - { 104875, true }, - { 104885, true }, - { 104899, true }, - { 104912, true }, - { 104921, true }, - { 104930, true }, - { 104943, true }, - { 104950, false }, - { 104958, true }, - { 104966, true }, - { 104977, true }, - { 104989, true }, - { 105003, false }, - { 105015, true }, - { 105029, true }, - { 105053, true }, - { 105068, true }, - { 105081, true }, - { 105095, true }, + { 104876, true }, + { 104891, true }, + { 104917, true }, + { 104928, true }, + { 104939, true }, + { 104950, true }, + { 104962, true }, + { 104973, true }, + { 104983, true }, + { 104997, true }, + { 105010, true }, + { 105019, true }, + { 105028, true }, + { 105041, true }, + { 105048, false }, + { 105056, true }, + { 105064, true }, + { 105075, true }, + { 105087, true }, + { 105101, false }, { 105113, true }, - { 105128, true }, - { 105136, true }, - { 105153, true }, - { 105178, true }, - { 105198, true }, - { 105222, true }, + { 105127, true }, + { 105151, true }, + { 105166, true }, + { 105179, true }, + { 105193, true }, + { 105211, true }, + { 105226, true }, { 105234, true }, - { 105245, true }, - { 105261, true }, - { 105275, true }, - { 105284, true }, - { 105300, true }, - { 105318, true }, - { 105333, true }, - { 105353, true }, - { 105366, true }, + { 105251, true }, + { 105276, true }, + { 105296, true }, + { 105320, true }, + { 105332, true }, + { 105343, true }, + { 105359, true }, + { 105373, true }, { 105382, true }, - { 105396, true }, - { 105412, true }, - { 105432, true }, - { 105450, true }, - { 105469, true }, - { 105486, true }, - { 105497, true }, - { 105513, true }, - { 105523, true }, - { 105552, true }, - { 105572, true }, - { 105589, true }, - { 105606, true }, - { 105631, true }, - { 105647, true }, - { 105656, true }, - { 105669, true }, - { 105681, true }, - { 105690, true }, - { 105707, true }, - { 105724, true }, - { 105757, true }, - { 105777, true }, - { 105789, true }, - { 105803, true }, - { 105816, true }, - { 105829, true }, - { 105844, true }, + { 105398, true }, + { 105416, true }, + { 105431, true }, + { 105451, true }, + { 105464, true }, + { 105480, true }, + { 105494, true }, + { 105510, true }, + { 105530, true }, + { 105548, true }, + { 105567, true }, + { 105584, true }, + { 105595, true }, + { 105611, true }, + { 105621, true }, + { 105650, true }, + { 105670, true }, + { 105687, true }, + { 105704, true }, + { 105729, true }, + { 105745, true }, + { 105754, true }, + { 105767, true }, + { 105779, true }, + { 105788, true }, + { 105805, true }, + { 105822, true }, { 105855, true }, - { 105872, true }, - { 105884, true }, - { 105896, true }, - { 105908, true }, - { 105917, true }, - { 105929, true }, - { 105946, true }, - { 105960, true }, - { 105981, true }, - { 105995, true }, - { 106011, true }, - { 106026, true }, - { 106040, true }, + { 105875, true }, + { 105887, true }, + { 105901, true }, + { 105914, true }, + { 105927, true }, + { 105942, true }, + { 105953, true }, + { 105970, true }, + { 105982, true }, + { 105994, true }, + { 106006, true }, + { 106015, true }, + { 106027, true }, + { 106044, true }, { 106058, true }, { 106079, true }, { 106093, true }, - { 106107, true }, - { 106118, true }, - { 106129, true }, - { 106145, true }, - { 106157, true }, - { 106168, true }, - { 106182, true }, + { 106109, true }, + { 106124, true }, + { 106138, true }, + { 106156, true }, + { 106177, true }, { 106191, true }, - { 106200, true }, - { 106215, true }, - { 106224, true }, - { 106237, true }, - { 106245, true }, - { 106256, false }, - { 106267, true }, - { 106281, true }, - { 106296, true }, - { 106310, true }, - { 106320, true }, - { 106331, true }, - { 106341, true }, - { 106351, true }, - { 106359, true }, - { 106368, true }, - { 106380, true }, - { 106389, true }, - { 106412, true }, - { 106427, true }, - { 106443, true }, - { 106465, true }, - { 106480, true }, - { 106488, true }, - { 106498, true }, + { 106205, true }, + { 106216, true }, + { 106227, true }, + { 106243, true }, + { 106255, true }, + { 106266, true }, + { 106280, true }, + { 106289, true }, + { 106298, true }, + { 106313, true }, + { 106322, true }, + { 106335, true }, + { 106343, true }, + { 106354, false }, + { 106365, true }, + { 106379, true }, + { 106394, true }, + { 106408, true }, + { 106418, true }, + { 106429, true }, + { 106439, true }, + { 106449, true }, + { 106457, true }, + { 106466, true }, + { 106478, true }, + { 106487, true }, { 106510, true }, - { 106522, true }, - { 106537, true }, - { 106550, true }, - { 106560, false }, - { 106569, false }, - { 106578, false }, - { 106587, true }, - { 106604, true }, - { 106619, true }, - { 106642, true }, - { 106657, true }, - { 106676, true }, - { 106686, true }, - { 106701, true }, - { 106715, true }, - { 106730, true }, - { 106749, true }, - { 106762, true }, - { 106778, true }, - { 106795, true }, - { 106811, true }, - { 106826, true }, - { 106836, true }, - { 106852, true }, - { 106870, true }, - { 106889, true }, - { 106904, true }, - { 106915, true }, - { 106933, true }, - { 106947, true }, - { 106964, true }, - { 106972, true }, - { 106986, true }, - { 107000, true }, - { 107014, false }, - { 107034, true }, - { 107047, true }, - { 107059, true }, - { 107074, true }, - { 107092, true }, + { 106525, true }, + { 106541, true }, + { 106563, true }, + { 106578, true }, + { 106586, true }, + { 106596, true }, + { 106608, true }, + { 106620, true }, + { 106635, true }, + { 106648, true }, + { 106658, false }, + { 106667, false }, + { 106676, false }, + { 106685, true }, + { 106702, true }, + { 106717, true }, + { 106740, true }, + { 106755, true }, + { 106774, true }, + { 106784, true }, + { 106799, true }, + { 106813, true }, + { 106828, true }, + { 106847, true }, + { 106860, true }, + { 106876, true }, + { 106893, true }, + { 106909, true }, + { 106924, true }, + { 106934, true }, + { 106950, true }, + { 106968, true }, + { 106987, true }, + { 107002, true }, + { 107021, true }, + { 107032, true }, + { 107050, true }, + { 107064, true }, + { 107081, true }, + { 107089, true }, { 107103, true }, - { 107115, true }, - { 107125, true }, - { 107135, true }, - { 107149, true }, - { 107158, true }, - { 107171, true }, - { 107187, true }, - { 107202, true }, - { 107227, true }, - { 107247, true }, - { 107273, true }, + { 107117, true }, + { 107131, false }, + { 107151, true }, + { 107164, true }, + { 107176, true }, + { 107191, true }, + { 107209, true }, + { 107220, true }, + { 107232, true }, + { 107242, true }, + { 107252, true }, + { 107266, true }, + { 107275, true }, { 107288, true }, - { 107300, true }, - { 107325, true }, - { 107332, true }, - { 107354, true }, - { 107369, true }, - { 107385, true }, - { 107396, true }, - { 107404, true }, - { 107412, true }, - { 107423, true }, - { 107439, true }, - { 107455, true }, - { 107472, true }, - { 107498, true }, - { 107512, true }, - { 107526, true }, - { 107542, true }, - { 107569, true }, - { 107583, true }, - { 107592, true }, - { 107605, true }, - { 107617, true }, - { 107633, true }, - { 107656, true }, - { 107676, true }, - { 107695, true }, - { 107717, true }, - { 107739, false }, + { 107304, true }, + { 107319, true }, + { 107344, true }, + { 107364, true }, + { 107390, true }, + { 107405, true }, + { 107417, true }, + { 107442, true }, + { 107449, true }, + { 107471, true }, + { 107486, true }, + { 107502, true }, + { 107513, true }, + { 107521, true }, + { 107529, true }, + { 107540, true }, + { 107556, true }, + { 107572, true }, + { 107589, true }, + { 107615, true }, + { 107629, true }, + { 107643, true }, + { 107659, true }, + { 107686, true }, + { 107700, true }, + { 107709, true }, + { 107722, true }, + { 107734, true }, { 107750, true }, - { 107767, true }, - { 107787, true }, + { 107773, true }, + { 107793, true }, { 107812, true }, - { 107828, true }, - { 107840, true }, - { 107862, true }, - { 107877, true }, - { 107893, true }, - { 107908, true }, - { 107925, true }, - { 107940, true }, - { 107955, true }, - { 107967, true }, - { 107982, true }, - { 107996, false }, - { 108006, true }, - { 108023, true }, - { 108034, false }, - { 108049, true }, - { 108066, true }, - { 108080, true }, - { 108093, true }, - { 108109, true }, - { 108122, true }, - { 108134, true }, - { 108146, true }, - { 108156, true }, - { 108168, true }, - { 108183, true }, - { 108195, true }, - { 108206, true }, - { 108226, true }, - { 108238, true }, - { 108249, true }, - { 108264, true }, - { 108280, true }, - { 108291, true }, - { 108316, true }, - { 108325, true }, - { 108340, true }, - { 108348, true }, - { 108361, true }, - { 108384, true }, - { 108401, true }, - { 108412, true }, - { 108430, true }, - { 108448, true }, - { 108464, false }, - { 108476, true }, - { 108484, true }, - { 108494, true }, - { 108509, true }, - { 108523, true }, - { 108533, false }, - { 108551, true }, - { 108575, true }, - { 108590, true }, - { 108602, true }, - { 108630, true }, - { 108646, true }, - { 108658, true }, - { 108672, true }, - { 108700, true }, - { 108716, true }, + { 107834, true }, + { 107856, false }, + { 107867, true }, + { 107884, true }, + { 107898, true }, + { 107918, true }, + { 107943, true }, + { 107959, true }, + { 107971, true }, + { 107993, true }, + { 108008, true }, + { 108024, true }, + { 108039, true }, + { 108056, true }, + { 108071, true }, + { 108086, true }, + { 108098, true }, + { 108113, true }, + { 108127, false }, + { 108137, true }, + { 108154, true }, + { 108165, false }, + { 108180, true }, + { 108197, true }, + { 108211, true }, + { 108224, true }, + { 108240, true }, + { 108253, true }, + { 108265, true }, + { 108277, true }, + { 108287, true }, + { 108299, true }, + { 108314, true }, + { 108326, true }, + { 108337, true }, + { 108357, true }, + { 108369, true }, + { 108380, true }, + { 108395, true }, + { 108411, true }, + { 108422, true }, + { 108447, true }, + { 108456, true }, + { 108471, true }, + { 108479, true }, + { 108492, true }, + { 108515, true }, + { 108532, true }, + { 108543, true }, + { 108561, true }, + { 108579, true }, + { 108595, false }, + { 108607, true }, + { 108615, true }, + { 108625, true }, + { 108640, true }, + { 108654, true }, + { 108664, false }, + { 108682, true }, + { 108706, true }, + { 108721, true }, { 108733, true }, - { 108747, true }, - { 108764, true }, - { 108786, true }, - { 108796, true }, - { 108806, true }, - { 108824, true }, - { 108833, true }, + { 108761, true }, + { 108777, true }, + { 108789, true }, + { 108803, true }, + { 108831, true }, { 108847, true }, - { 108860, true }, + { 108864, true }, { 108878, true }, - { 108897, true }, - { 108922, true }, - { 108938, true }, - { 108957, true }, + { 108895, true }, + { 108917, true }, + { 108927, true }, + { 108937, true }, + { 108955, true }, + { 108964, true }, { 108978, true }, - { 108995, true }, + { 108991, true }, { 109009, true }, - { 109022, true }, - { 109051, true }, - { 109081, true }, - { 109093, true }, - { 109101, true }, - { 109110, true }, - { 109123, true }, - { 109134, true }, - { 109156, true }, - { 109167, true }, - { 109185, true }, - { 109195, true }, + { 109028, true }, + { 109053, true }, + { 109069, true }, + { 109088, true }, + { 109109, true }, + { 109126, true }, + { 109140, true }, + { 109153, true }, + { 109182, true }, + { 109212, true }, { 109224, true }, - { 109237, true }, - { 109253, true }, - { 109270, true }, - { 109293, true }, - { 109309, true }, - { 109332, true }, - { 109358, true }, - { 109372, true }, - { 109386, true }, - { 109405, true }, - { 109419, false }, - { 109429, true }, - { 109441, true }, - { 109457, true }, - { 109465, true }, - { 109484, true }, - { 109496, false }, - { 109507, true }, - { 109515, true }, - { 109530, true }, - { 109546, true }, + { 109232, true }, + { 109241, true }, + { 109254, true }, + { 109265, true }, + { 109287, true }, + { 109298, true }, + { 109316, true }, + { 109326, true }, + { 109355, true }, + { 109368, true }, + { 109384, true }, + { 109401, true }, + { 109424, true }, + { 109440, true }, + { 109463, true }, + { 109489, true }, + { 109503, true }, + { 109517, true }, + { 109536, true }, + { 109550, false }, { 109560, true }, { 109572, true }, - { 109585, false }, - { 109594, true }, - { 109608, true }, - { 109627, true }, - { 109636, true }, - { 109647, true }, - { 109659, true }, - { 109679, true }, - { 109692, true }, - { 109702, true }, - { 109715, true }, - { 109727, true }, - { 109743, true }, - { 109751, false }, - { 109759, true }, - { 109781, true }, - { 109789, true }, + { 109588, true }, + { 109596, true }, + { 109615, true }, + { 109627, false }, + { 109638, true }, + { 109646, true }, + { 109661, true }, + { 109677, true }, + { 109691, true }, + { 109703, true }, + { 109716, false }, + { 109725, true }, + { 109739, true }, + { 109758, true }, + { 109767, true }, + { 109778, true }, + { 109790, true }, { 109810, true }, - { 109834, true }, - { 109850, true }, - { 109866, true }, - { 109876, true }, + { 109823, true }, + { 109833, true }, + { 109846, true }, + { 109858, true }, + { 109874, true }, + { 109882, false }, { 109890, true }, - { 109907, true }, - { 109917, true }, - { 109927, true }, - { 109942, true }, - { 109954, true }, - { 109964, true }, - { 109974, true }, - { 109983, true }, - { 109993, true }, - { 110008, true }, - { 110020, true }, - { 110043, true }, - { 110056, true }, - { 110069, true }, - { 110083, true }, - { 110098, true }, - { 110111, true }, - { 110123, true }, - { 110132, true }, - { 110150, true }, - { 110163, true }, - { 110178, true }, - { 110193, true }, - { 110213, true }, - { 110227, true }, - { 110250, true }, - { 110262, true }, - { 110277, true }, - { 110285, true }, - { 110296, true }, - { 110318, true }, - { 110329, false }, - { 110342, true }, - { 110352, true }, - { 110360, true }, - { 110368, true }, - { 110383, true }, + { 109912, true }, + { 109920, true }, + { 109941, true }, + { 109965, true }, + { 109981, true }, + { 109997, true }, + { 110007, true }, + { 110021, true }, + { 110038, true }, + { 110048, true }, + { 110058, true }, + { 110073, true }, + { 110085, true }, + { 110095, true }, + { 110105, true }, + { 110114, true }, + { 110124, true }, + { 110139, true }, + { 110151, true }, + { 110174, true }, + { 110187, true }, + { 110200, true }, + { 110214, true }, + { 110229, true }, + { 110242, true }, + { 110254, true }, + { 110263, true }, + { 110281, true }, + { 110294, true }, + { 110309, true }, + { 110324, true }, + { 110344, true }, + { 110358, true }, + { 110381, true }, { 110393, true }, - { 110403, true }, - { 110428, true }, - { 110443, true }, - { 110451, true }, - { 110459, true }, - { 110468, true }, - { 110479, true }, + { 110408, true }, + { 110416, true }, + { 110427, true }, + { 110449, true }, + { 110460, false }, + { 110473, true }, + { 110483, true }, { 110491, true }, - { 110503, true }, - { 110513, true }, - { 110523, true }, - { 110535, true }, - { 110549, true }, - { 110564, true }, - { 110581, true }, - { 110593, true }, - { 110604, true }, - { 110611, true }, - { 110625, true }, - { 110636, true }, - { 110647, true }, - { 110658, true }, + { 110499, true }, + { 110514, true }, + { 110524, true }, + { 110534, true }, + { 110559, true }, + { 110574, true }, + { 110582, true }, + { 110590, true }, + { 110599, true }, + { 110610, true }, + { 110622, true }, + { 110634, true }, + { 110644, true }, + { 110654, true }, { 110666, true }, - { 110681, true }, + { 110680, true }, { 110695, true }, - { 110709, true }, + { 110712, true }, { 110724, true }, - { 110739, true }, - { 110752, true }, - { 110763, true }, + { 110735, true }, + { 110742, true }, + { 110756, true }, + { 110767, true }, { 110778, true }, - { 110796, true }, - { 110809, true }, - { 110816, true }, - { 110836, true }, - { 110845, true }, - { 110858, true }, - { 110875, true }, - { 110890, true }, - { 110902, true }, - { 110917, true }, - { 110930, true }, - { 110946, true }, - { 110966, true }, - { 110986, true }, - { 111009, true }, + { 110789, true }, + { 110797, true }, + { 110812, true }, + { 110826, true }, + { 110840, true }, + { 110855, true }, + { 110870, true }, + { 110883, true }, + { 110894, true }, + { 110909, true }, + { 110927, true }, + { 110940, true }, + { 110947, true }, + { 110967, true }, + { 110976, true }, + { 110989, true }, + { 111006, true }, { 111021, true }, - { 111030, true }, - { 111046, true }, - { 111058, true }, - { 111068, true }, + { 111033, true }, + { 111048, true }, + { 111061, true }, { 111077, true }, - { 111085, true }, - { 111095, false }, - { 111102, true }, - { 111113, true }, - { 111126, true }, - { 111141, true }, - { 111158, true }, - { 111170, true }, - { 111191, true }, - { 111198, true }, - { 111218, true }, - { 111228, true }, - { 111239, false }, - { 111252, true }, - { 111266, true }, - { 111281, true }, - { 111291, true }, - { 111302, true }, - { 111314, true }, - { 111334, true }, - { 111343, false }, - { 111352, true }, - { 111371, true }, - { 111379, true }, - { 111391, true }, - { 111409, true }, - { 111425, true }, - { 111437, true }, - { 111449, true }, - { 111462, true }, - { 111481, true }, - { 111494, true }, - { 111511, true }, - { 111530, true }, - { 111543, false }, - { 111552, true }, - { 111563, true }, - { 111576, true }, + { 111097, true }, + { 111117, true }, + { 111140, true }, + { 111152, true }, + { 111161, true }, + { 111177, true }, + { 111189, true }, + { 111199, true }, + { 111208, true }, + { 111216, true }, + { 111226, false }, + { 111233, true }, + { 111244, true }, + { 111257, true }, + { 111272, true }, + { 111289, true }, + { 111301, true }, + { 111322, true }, + { 111329, true }, + { 111349, true }, + { 111359, true }, + { 111370, false }, + { 111383, true }, + { 111397, true }, + { 111412, true }, + { 111422, true }, + { 111433, true }, + { 111445, true }, + { 111465, true }, + { 111474, false }, + { 111483, true }, + { 111502, true }, + { 111510, true }, + { 111522, true }, + { 111540, true }, + { 111556, true }, + { 111568, true }, + { 111580, true }, { 111593, true }, - { 111605, true }, - { 111616, true }, - { 111632, false }, - { 111647, true }, + { 111612, true }, + { 111625, true }, + { 111642, true }, { 111661, true }, - { 111674, true }, - { 111693, true }, - { 111706, true }, - { 111723, true }, - { 111734, true }, - { 111745, true }, - { 111762, false }, - { 111783, false }, - { 111799, false }, - { 111819, true }, - { 111831, true }, - { 111838, true }, - { 111861, true }, - { 111873, true }, - { 111886, true }, - { 111898, true }, - { 111910, true }, - { 111927, true }, - { 111942, false }, - { 111953, true }, - { 111968, true }, - { 111977, true }, - { 111988, true }, - { 112003, true }, - { 112024, true }, - { 112042, true }, - { 112069, true }, - { 112079, true }, - { 112087, true }, - { 112101, true }, - { 112113, true }, - { 112128, true }, - { 112138, true }, - { 112149, true }, - { 112163, true }, - { 112172, true }, - { 112191, true }, - { 112204, true }, - { 112216, true }, - { 112226, true }, - { 112234, true }, - { 112241, true }, - { 112254, true }, - { 112263, true }, - { 112275, false }, - { 112285, true }, + { 111674, false }, + { 111683, true }, + { 111694, true }, + { 111707, true }, + { 111724, true }, + { 111736, true }, + { 111747, true }, + { 111763, false }, + { 111778, true }, + { 111792, true }, + { 111805, true }, + { 111824, true }, + { 111837, true }, + { 111854, true }, + { 111865, true }, + { 111876, true }, + { 111893, false }, + { 111914, false }, + { 111930, false }, + { 111950, true }, + { 111962, true }, + { 111969, true }, + { 111992, true }, + { 112004, true }, + { 112017, true }, + { 112029, true }, + { 112041, true }, + { 112058, true }, + { 112073, false }, + { 112084, true }, + { 112099, true }, + { 112108, true }, + { 112119, true }, + { 112134, true }, + { 112155, true }, + { 112173, true }, + { 112200, true }, + { 112210, true }, + { 112218, true }, + { 112232, true }, + { 112244, true }, + { 112259, true }, + { 112269, true }, + { 112280, true }, { 112294, true }, - { 112306, true }, - { 112317, true }, - { 112328, true }, - { 112351, true }, - { 112374, true }, - { 112397, true }, - { 112407, false }, - { 112424, true }, - { 112433, true }, - { 112443, true }, - { 112456, true }, - { 112464, true }, - { 112474, true }, - { 112485, true }, - { 112495, true }, - { 112508, true }, - { 112520, true }, - { 112535, true }, - { 112547, true }, - { 112563, true }, - { 112577, true }, - { 112591, true }, - { 112598, true }, - { 112608, true }, - { 112620, true }, - { 112629, true }, - { 112645, false }, - { 112659, true }, - { 112670, true }, - { 112682, true }, + { 112303, true }, + { 112322, true }, + { 112335, true }, + { 112347, true }, + { 112357, true }, + { 112365, true }, + { 112372, true }, + { 112385, true }, + { 112394, true }, + { 112406, false }, + { 112416, true }, + { 112425, true }, + { 112437, true }, + { 112448, true }, + { 112459, true }, + { 112482, true }, + { 112505, true }, + { 112528, true }, + { 112538, false }, + { 112555, true }, + { 112564, true }, + { 112574, true }, + { 112587, true }, + { 112595, true }, + { 112605, true }, + { 112616, true }, + { 112626, true }, + { 112639, true }, + { 112651, true }, + { 112666, true }, + { 112678, true }, { 112694, true }, - { 112703, true }, - { 112717, true }, + { 112708, true }, + { 112722, true }, { 112729, true }, - { 112741, true }, + { 112739, true }, { 112751, true }, - { 112761, true }, - { 112771, true }, - { 112781, true }, - { 112799, true }, - { 112814, true }, + { 112760, true }, + { 112776, false }, + { 112790, true }, + { 112801, true }, + { 112813, true }, { 112825, true }, - { 112838, true }, - { 112849, true }, - { 112856, true }, - { 112873, false }, - { 112884, true }, - { 112894, true }, - { 112904, true }, - { 112915, true }, - { 112924, true }, - { 112946, true }, - { 112971, true }, - { 112990, true }, - { 112997, true }, - { 113011, true }, - { 113020, true }, + { 112834, true }, + { 112848, true }, + { 112860, true }, + { 112872, true }, + { 112882, true }, + { 112892, true }, + { 112902, true }, + { 112912, true }, + { 112930, true }, + { 112945, true }, + { 112956, true }, + { 112969, true }, + { 112980, true }, + { 112987, true }, + { 113004, false }, + { 113015, true }, + { 113025, true }, { 113035, true }, - { 113045, true }, - { 113061, true }, - { 113083, true }, - { 113093, true }, - { 113107, true }, - { 113120, true }, - { 113134, true }, - { 113157, true }, - { 113168, true }, - { 113177, true }, - { 113188, true }, - { 113202, true }, - { 113211, true }, - { 113222, true }, - { 113236, true }, - { 113247, true }, - { 113257, true }, - { 113272, true }, - { 113284, true }, - { 113303, true }, - { 113316, true }, - { 113336, true }, - { 113360, true }, - { 113369, true }, - { 113382, true }, - { 113394, true }, - { 113407, true }, - { 113419, true }, - { 113427, true }, - { 113439, true }, - { 113448, true }, - { 113463, true }, - { 113472, true }, - { 113494, true }, - { 113506, true }, - { 113514, true }, - { 113524, true }, - { 113539, true }, - { 113547, true }, - { 113560, true }, - { 113575, true }, - { 113586, true }, - { 113595, true }, - { 113610, true }, - { 113624, true }, - { 113638, true }, - { 113658, true }, - { 113681, true }, + { 113046, true }, + { 113055, true }, + { 113077, true }, + { 113102, true }, + { 113121, true }, + { 113128, true }, + { 113142, true }, + { 113151, true }, + { 113166, true }, + { 113176, true }, + { 113192, true }, + { 113214, true }, + { 113224, true }, + { 113238, true }, + { 113251, true }, + { 113265, true }, + { 113288, true }, + { 113299, true }, + { 113308, true }, + { 113319, true }, + { 113333, true }, + { 113342, true }, + { 113353, true }, + { 113367, true }, + { 113378, true }, + { 113388, true }, + { 113403, true }, + { 113415, true }, + { 113434, true }, + { 113447, true }, + { 113467, true }, + { 113491, true }, + { 113500, true }, + { 113513, true }, + { 113525, true }, + { 113538, true }, + { 113550, true }, + { 113558, true }, + { 113570, true }, + { 113579, true }, + { 113594, true }, + { 113603, true }, + { 113625, true }, + { 113637, true }, + { 113645, true }, + { 113655, true }, + { 113670, true }, + { 113678, true }, + { 113691, true }, { 113706, true }, - { 113735, true }, - { 113754, true }, - { 113771, true }, - { 113791, true }, - { 113807, true }, - { 113821, true }, + { 113717, true }, + { 113726, true }, + { 113741, true }, + { 113755, true }, + { 113769, true }, + { 113789, true }, + { 113812, true }, { 113837, true }, - { 113853, true }, - { 113871, true }, - { 113888, true }, - { 113903, true }, - { 113918, true }, - { 113928, true }, - { 113941, true }, - { 113958, true }, - { 113976, true }, - { 113989, true }, - { 114004, true }, - { 114014, true }, - { 114025, true }, - { 114036, true }, - { 114046, true }, + { 113866, true }, + { 113885, true }, + { 113902, true }, + { 113922, true }, + { 113938, true }, + { 113952, true }, + { 113968, true }, + { 113984, true }, + { 114002, true }, + { 114019, true }, + { 114034, true }, + { 114049, true }, { 114059, true }, - { 114071, true }, - { 114092, true }, - { 114106, false }, - { 114126, false }, - { 114138, false }, - { 114151, true }, - { 114161, true }, - { 114174, true }, - { 114187, true }, - { 114203, true }, - { 114220, true }, - { 114232, true }, - { 114258, true }, + { 114072, true }, + { 114089, true }, + { 114107, true }, + { 114120, true }, + { 114135, true }, + { 114145, true }, + { 114156, true }, + { 114167, true }, + { 114177, true }, + { 114190, true }, + { 114202, true }, + { 114223, false }, + { 114243, false }, + { 114255, false }, + { 114268, true }, + { 114278, true }, { 114291, true }, - { 114325, true }, + { 114304, true }, + { 114320, true }, { 114337, true }, - { 114351, true }, - { 114371, true }, - { 114387, true }, - { 114399, true }, - { 114425, true }, - { 114446, true }, - { 114460, true }, - { 114478, true }, - { 114499, false }, - { 114513, true }, - { 114531, true }, - { 114548, true }, - { 114560, true }, - { 114573, true }, - { 114593, true }, - { 114609, true }, - { 114621, true }, - { 114643, true }, + { 114349, true }, + { 114375, true }, + { 114408, true }, + { 114442, true }, + { 114454, true }, + { 114468, true }, + { 114488, true }, + { 114504, true }, + { 114516, true }, + { 114542, true }, + { 114563, true }, + { 114577, true }, + { 114595, true }, + { 114616, false }, + { 114630, true }, + { 114648, true }, { 114665, true }, - { 114684, true }, - { 114694, true }, - { 114711, true }, - { 114733, true }, - { 114745, true }, - { 114762, true }, - { 114773, true }, - { 114786, true }, - { 114806, true }, - { 114816, true }, - { 114824, true }, - { 114835, true }, - { 114860, true }, - { 114875, true }, + { 114677, true }, + { 114690, true }, + { 114710, true }, + { 114726, true }, + { 114738, true }, + { 114760, true }, + { 114782, true }, + { 114801, true }, + { 114811, true }, + { 114828, true }, + { 114850, true }, + { 114862, true }, + { 114879, true }, + { 114890, true }, { 114903, true }, - { 114920, true }, - { 114939, true }, - { 114950, false }, - { 114963, true }, - { 114974, true }, - { 114990, true }, - { 115005, true }, - { 115025, true }, - { 115036, true }, - { 115050, true }, - { 115062, true }, - { 115085, true }, - { 115110, true }, - { 115133, true }, - { 115149, true }, - { 115166, true }, - { 115177, true }, - { 115191, true }, - { 115203, true }, - { 115219, false }, - { 115232, true }, - { 115245, true }, - { 115257, true }, - { 115268, true }, - { 115288, true }, - { 115305, true }, - { 115318, true }, - { 115330, true }, - { 115340, false }, + { 114923, true }, + { 114933, true }, + { 114941, true }, + { 114952, true }, + { 114977, true }, + { 114992, true }, + { 115020, true }, + { 115037, true }, + { 115056, true }, + { 115067, false }, + { 115080, true }, + { 115091, true }, + { 115107, true }, + { 115122, true }, + { 115142, true }, + { 115153, true }, + { 115167, true }, + { 115179, true }, + { 115202, true }, + { 115227, true }, + { 115250, true }, + { 115266, true }, + { 115283, true }, + { 115294, true }, + { 115308, true }, + { 115320, true }, + { 115336, false }, { 115349, true }, - { 115359, true }, - { 115372, true }, - { 115383, true }, - { 115406, true }, - { 115419, true }, - { 115437, true }, - { 115448, true }, - { 115462, true }, - { 115478, true }, - { 115486, true }, - { 115505, true }, - { 115518, true }, - { 115541, true }, - { 115555, true }, - { 115570, true }, - { 115580, true }, - { 115590, true }, + { 115362, true }, + { 115374, true }, + { 115385, true }, + { 115405, true }, + { 115422, true }, + { 115435, true }, + { 115447, true }, + { 115457, false }, + { 115466, true }, + { 115476, true }, + { 115489, true }, + { 115500, true }, + { 115523, true }, + { 115536, true }, + { 115554, true }, + { 115565, true }, + { 115579, true }, + { 115595, true }, { 115603, true }, - { 115616, true }, - { 115631, true }, - { 115654, true }, - { 115670, true }, - { 115686, true }, - { 115703, true }, - { 115716, true }, - { 115728, true }, - { 115741, true }, - { 115753, true }, - { 115765, true }, - { 115793, true }, - { 115810, true }, - { 115819, true }, - { 115846, true }, - { 115867, true }, - { 115884, true }, - { 115895, true }, - { 115913, true }, - { 115928, true }, - { 115940, true }, - { 115952, true }, - { 115964, true }, - { 115999, true }, - { 116022, true }, - { 116044, true }, - { 116061, true }, - { 116074, true }, - { 116086, true }, - { 116103, true }, - { 116120, false }, + { 115622, true }, + { 115635, true }, + { 115658, true }, + { 115672, true }, + { 115687, true }, + { 115697, true }, + { 115707, true }, + { 115720, true }, + { 115733, true }, + { 115748, true }, + { 115771, true }, + { 115787, true }, + { 115803, true }, + { 115820, true }, + { 115833, true }, + { 115845, true }, + { 115858, true }, + { 115870, true }, + { 115882, true }, + { 115910, true }, + { 115927, true }, + { 115936, true }, + { 115963, true }, + { 115984, true }, + { 116001, true }, + { 116012, true }, + { 116030, true }, + { 116045, true }, + { 116057, true }, + { 116069, true }, + { 116081, true }, + { 116116, true }, { 116139, true }, - { 116157, true }, - { 116171, true }, - { 116202, true }, - { 116219, true }, - { 116234, true }, - { 116246, true }, - { 116258, true }, - { 116277, true }, - { 116299, true }, - { 116311, true }, - { 116328, true }, - { 116345, true }, - { 116367, true }, - { 116383, true }, - { 116396, true }, - { 116408, true }, - { 116429, true }, - { 116448, true }, - { 116460, true }, - { 116477, true }, - { 116493, true }, - { 116508, true }, - { 116524, true }, - { 116540, true }, - { 116564, true }, - { 116586, true }, - { 116611, true }, - { 116633, true }, - { 116648, true }, - { 116675, true }, - { 116693, true }, - { 116710, true }, - { 116733, true }, - { 116759, true }, - { 116774, true }, - { 116792, true }, - { 116813, true }, - { 116841, true }, + { 116161, true }, + { 116178, true }, + { 116191, true }, + { 116203, true }, + { 116220, true }, + { 116237, false }, + { 116256, true }, + { 116274, true }, + { 116288, true }, + { 116319, true }, + { 116336, true }, + { 116351, true }, + { 116363, true }, + { 116375, true }, + { 116394, true }, + { 116416, true }, + { 116428, true }, + { 116445, true }, + { 116462, true }, + { 116484, true }, + { 116500, true }, + { 116513, true }, + { 116525, true }, + { 116546, true }, + { 116565, true }, + { 116577, true }, + { 116594, true }, + { 116610, true }, + { 116625, true }, + { 116641, true }, + { 116665, true }, + { 116687, true }, + { 116712, true }, + { 116734, true }, + { 116749, true }, + { 116776, true }, + { 116794, true }, + { 116811, true }, + { 116834, true }, { 116860, true }, - { 116884, true }, - { 116908, true }, - { 116921, true }, - { 116934, true }, - { 116951, true }, - { 116966, true }, - { 116991, true }, - { 117005, true }, - { 117026, false }, - { 117040, true }, - { 117050, false }, - { 117066, true }, - { 117085, true }, - { 117101, true }, - { 117125, true }, - { 117142, false }, - { 117151, true }, - { 117166, true }, - { 117176, true }, - { 117188, true }, - { 117209, true }, - { 117222, true }, - { 117239, true }, + { 116875, true }, + { 116893, true }, + { 116914, true }, + { 116942, true }, + { 116961, true }, + { 116985, true }, + { 117009, true }, + { 117022, true }, + { 117035, true }, + { 117052, true }, + { 117067, true }, + { 117092, true }, + { 117106, true }, + { 117127, false }, + { 117141, true }, + { 117151, false }, + { 117167, true }, + { 117186, true }, + { 117202, true }, + { 117226, true }, + { 117243, false }, { 117252, true }, - { 117270, true }, - { 117283, true }, - { 117297, true }, - { 117316, true }, - { 117326, true }, - { 117342, true }, - { 117358, true }, - { 117374, true }, - { 117387, true }, - { 117406, true }, - { 117424, true }, - { 117438, true }, - { 117448, false }, - { 117460, true }, - { 117471, true }, - { 117479, true }, - { 117489, true }, - { 117498, true }, - { 117508, true }, - { 117520, true }, - { 117534, false }, - { 117547, true }, - { 117555, true }, - { 117566, true }, - { 117577, true }, - { 117593, true }, - { 117605, true }, - { 117615, true }, - { 117627, true }, - { 117636, true }, - { 117652, false }, - { 117659, true }, + { 117267, true }, + { 117277, true }, + { 117289, true }, + { 117310, true }, + { 117323, true }, + { 117340, true }, + { 117353, true }, + { 117371, true }, + { 117384, true }, + { 117398, true }, + { 117417, true }, + { 117427, true }, + { 117443, true }, + { 117459, true }, + { 117475, true }, + { 117488, true }, + { 117507, true }, + { 117525, true }, + { 117539, true }, + { 117549, false }, + { 117561, true }, + { 117572, true }, + { 117580, true }, + { 117590, true }, + { 117599, true }, + { 117609, true }, + { 117621, true }, + { 117635, false }, + { 117648, true }, + { 117656, true }, { 117667, true }, - { 117677, true }, - { 117689, true }, - { 117703, true }, - { 117712, true }, + { 117678, true }, + { 117694, true }, + { 117706, true }, + { 117716, true }, { 117728, true }, - { 117741, true }, - { 117749, true }, - { 117758, true }, - { 117769, true }, - { 117779, false }, - { 117797, true }, - { 117807, true }, - { 117818, true }, - { 117830, true }, + { 117737, true }, + { 117753, false }, + { 117760, true }, + { 117768, true }, + { 117778, true }, + { 117790, true }, + { 117804, true }, + { 117813, true }, + { 117829, true }, { 117842, true }, - { 117851, true }, - { 117860, true }, - { 117880, true }, - { 117892, true }, + { 117850, true }, + { 117859, true }, + { 117870, true }, + { 117880, false }, + { 117898, true }, { 117908, true }, - { 117916, true }, - { 117925, true }, - { 117933, true }, - { 117949, true }, - { 117966, true }, - { 117974, true }, - { 117985, true }, - { 117997, true }, - { 118008, true }, - { 118018, true }, - { 118033, true }, - { 118042, true }, - { 118057, true }, - { 118066, true }, - { 118084, true }, - { 118100, true }, - { 118113, true }, - { 118127, true }, - { 118155, true }, - { 118168, true }, - { 118177, true }, - { 118196, true }, - { 118206, true }, - { 118221, true }, - { 118238, true }, - { 118261, true }, - { 118280, true }, - { 118289, true }, - { 118302, true }, - { 118316, true }, + { 117919, true }, + { 117931, true }, + { 117943, false }, + { 117954, true }, + { 117963, true }, + { 117972, true }, + { 117992, true }, + { 118004, true }, + { 118020, true }, + { 118028, true }, + { 118037, true }, + { 118045, true }, + { 118061, true }, + { 118078, true }, + { 118086, true }, + { 118097, true }, + { 118109, true }, + { 118120, true }, + { 118130, true }, + { 118145, true }, + { 118156, true }, + { 118166, true }, + { 118175, true }, + { 118190, true }, + { 118199, true }, + { 118217, true }, + { 118233, true }, + { 118246, true }, + { 118260, true }, + { 118288, true }, + { 118301, true }, + { 118310, true }, + { 118329, true }, { 118339, true }, - { 118361, true }, + { 118354, true }, { 118371, true }, - { 118387, true }, - { 118403, true }, - { 118414, true }, - { 118424, true }, - { 118436, true }, + { 118394, true }, + { 118413, true }, + { 118422, true }, + { 118435, true }, { 118449, true }, - { 118466, true }, - { 118483, true }, - { 118501, true }, - { 118515, true }, - { 118529, true }, + { 118472, true }, + { 118494, true }, + { 118504, true }, + { 118520, true }, + { 118536, true }, { 118547, true }, - { 118566, true }, + { 118557, true }, + { 118569, true }, { 118582, true }, - { 118593, true }, - { 118604, true }, - { 118622, true }, - { 118641, true }, - { 118654, true }, - { 118665, true }, - { 118675, true }, - { 118688, true }, - { 118704, true }, + { 118599, true }, + { 118616, true }, + { 118634, true }, + { 118648, true }, + { 118662, true }, + { 118680, true }, + { 118699, true }, { 118715, true }, - { 118725, true }, - { 118735, true }, - { 118745, true }, + { 118726, true }, + { 118737, true }, { 118755, true }, - { 118766, true }, - { 118776, true }, + { 118774, true }, { 118787, true }, - { 118799, true }, - { 118809, true }, - { 118818, true }, - { 118835, true }, - { 118854, true }, - { 118867, true }, - { 118886, true }, + { 118798, true }, + { 118808, true }, + { 118821, true }, + { 118837, true }, + { 118848, true }, + { 118858, true }, + { 118868, true }, + { 118878, true }, + { 118888, true }, { 118899, true }, - { 118916, true }, - { 118948, true }, - { 118962, true }, - { 118974, true }, - { 118998, true }, - { 119021, true }, - { 119053, true }, - { 119075, true }, - { 119100, true }, - { 119112, true }, - { 119125, true }, - { 119151, true }, - { 119170, true }, - { 119184, true }, - { 119196, true }, - { 119210, true }, - { 119223, true }, - { 119238, true }, - { 119253, true }, - { 119267, true }, - { 119281, false }, - { 119301, true }, - { 119314, true }, - { 119331, true }, - { 119346, true }, - { 119363, true }, - { 119377, true }, - { 119392, true }, - { 119401, true }, - { 119410, true }, - { 119426, true }, - { 119446, true }, - { 119465, true }, - { 119474, true }, - { 119483, true }, - { 119492, true }, - { 119501, true }, - { 119513, true }, - { 119524, true }, - { 119533, true }, - { 119541, true }, - { 119550, true }, - { 119561, true }, - { 119574, true }, - { 119583, true }, - { 119596, true }, - { 119606, true }, - { 119619, true }, - { 119632, true }, - { 119643, true }, - { 119654, true }, - { 119665, true }, + { 118909, true }, + { 118920, true }, + { 118932, true }, + { 118942, true }, + { 118951, true }, + { 118968, true }, + { 118987, true }, + { 119000, true }, + { 119019, true }, + { 119032, true }, + { 119049, true }, + { 119081, true }, + { 119095, true }, + { 119107, true }, + { 119131, true }, + { 119154, true }, + { 119186, true }, + { 119208, true }, + { 119233, true }, + { 119245, true }, + { 119258, true }, + { 119284, true }, + { 119303, true }, + { 119317, true }, + { 119329, true }, + { 119343, true }, + { 119356, true }, + { 119371, true }, + { 119386, true }, + { 119400, true }, + { 119414, false }, + { 119434, true }, + { 119447, true }, + { 119464, true }, + { 119479, true }, + { 119496, true }, + { 119510, true }, + { 119525, true }, + { 119534, true }, + { 119543, true }, + { 119559, true }, + { 119579, true }, + { 119598, true }, + { 119607, true }, + { 119616, true }, + { 119625, true }, + { 119634, true }, + { 119646, true }, + { 119657, true }, + { 119666, true }, { 119674, true }, { 119683, true }, - { 119700, true }, - { 119717, true }, - { 119726, true }, - { 119741, true }, - { 119760, false }, - { 119772, true }, - { 119785, true }, - { 119802, true }, - { 119815, true }, - { 119824, true }, - { 119847, true }, + { 119694, true }, + { 119707, true }, + { 119716, true }, + { 119729, true }, + { 119739, true }, + { 119752, true }, + { 119765, true }, + { 119776, true }, + { 119787, true }, + { 119798, true }, + { 119807, true }, + { 119816, true }, + { 119833, true }, + { 119850, true }, { 119859, true }, - { 119872, true }, - { 119883, true }, - { 119900, true }, - { 119914, true }, - { 119925, true }, + { 119878, false }, + { 119890, true }, + { 119903, true }, + { 119920, true }, + { 119933, true }, { 119942, true }, - { 119963, true }, - { 119974, true }, - { 119985, true }, - { 119992, true }, - { 120003, true }, - { 120010, true }, - { 120020, true }, + { 119965, true }, + { 119977, true }, + { 119990, true }, + { 120001, true }, + { 120018, true }, { 120032, true }, - { 120046, true }, - { 120056, true }, - { 120065, true }, - { 120078, true }, - { 120090, true }, - { 120104, true }, - { 120118, true }, - { 120125, true }, - { 120132, false }, - { 120139, true }, - { 120148, true }, - { 120156, true }, - { 120166, true }, - { 120184, true }, - { 120198, true }, - { 120210, true }, - { 120221, true }, - { 120232, true }, + { 120043, true }, + { 120060, true }, + { 120081, true }, + { 120092, true }, + { 120103, true }, + { 120110, true }, + { 120121, true }, + { 120128, true }, + { 120138, true }, + { 120150, true }, + { 120164, true }, + { 120174, true }, + { 120183, true }, + { 120196, true }, + { 120208, true }, + { 120222, true }, + { 120236, true }, { 120243, true }, - { 120256, true }, - { 120267, true }, - { 120276, true }, - { 120293, true }, - { 120304, true }, - { 120320, true }, - { 120327, true }, - { 120334, true }, - { 120342, true }, - { 120349, true }, - { 120360, true }, - { 120366, true }, - { 120378, true }, - { 120391, true }, - { 120404, true }, - { 120414, true }, - { 120424, true }, - { 120437, true }, - { 120451, true }, - { 120466, true }, - { 120479, true }, - { 120492, true }, - { 120501, true }, - { 120520, true }, - { 120545, false }, - { 120557, true }, - { 120565, true }, - { 120579, true }, - { 120596, true }, - { 120609, true }, - { 120624, true }, - { 120643, true }, - { 120656, true }, - { 120671, true }, - { 120684, true }, - { 120700, true }, - { 120711, true }, - { 120724, true }, - { 120741, true }, - { 120755, false }, + { 120250, false }, + { 120257, true }, + { 120266, true }, + { 120274, true }, + { 120284, true }, + { 120302, true }, + { 120316, true }, + { 120328, true }, + { 120339, true }, + { 120350, true }, + { 120361, true }, + { 120374, true }, + { 120385, true }, + { 120394, true }, + { 120411, true }, + { 120422, true }, + { 120438, true }, + { 120445, true }, + { 120452, true }, + { 120460, true }, + { 120467, true }, + { 120478, true }, + { 120484, true }, + { 120496, true }, + { 120509, true }, + { 120522, true }, + { 120532, true }, + { 120542, true }, + { 120555, true }, + { 120569, true }, + { 120584, true }, + { 120597, true }, + { 120610, true }, + { 120619, true }, + { 120638, true }, + { 120663, false }, + { 120675, true }, + { 120683, true }, + { 120697, true }, + { 120714, true }, + { 120727, true }, + { 120742, true }, + { 120761, true }, { 120774, true }, { 120789, true }, - { 120801, true }, - { 120809, true }, - { 120821, true }, - { 120835, true }, - { 120849, true }, - { 120865, true }, - { 120881, true }, - { 120897, true }, - { 120912, true }, - { 120932, true }, - { 120950, true }, - { 120959, true }, - { 120975, true }, - { 120990, true }, - { 121004, true }, - { 121017, true }, - { 121037, true }, - { 121057, true }, - { 121076, true }, + { 120802, true }, + { 120818, true }, + { 120829, true }, + { 120842, true }, + { 120859, true }, + { 120873, false }, + { 120892, true }, + { 120907, true }, + { 120919, true }, + { 120927, true }, + { 120939, true }, + { 120953, true }, + { 120967, true }, + { 120983, true }, + { 120999, true }, + { 121015, true }, + { 121030, true }, + { 121050, true }, + { 121068, true }, + { 121077, true }, { 121093, true }, - { 121109, true }, - { 121129, true }, - { 121142, true }, - { 121156, false }, - { 121169, true }, - { 121179, false }, - { 121191, true }, - { 121208, true }, - { 121223, true }, - { 121246, true }, - { 121259, true }, - { 121276, true }, - { 121290, true }, - { 121302, true }, - { 121317, true }, - { 121334, true }, - { 121348, true }, - { 121363, true }, - { 121372, true }, - { 121387, true }, - { 121405, true }, - { 121419, true }, - { 121433, true }, - { 121447, true }, - { 121458, true }, - { 121469, true }, - { 121479, true }, - { 121491, true }, - { 121506, true }, - { 121520, true }, - { 121533, true }, - { 121544, true }, - { 121561, true }, - { 121571, true }, - { 121583, true }, + { 121108, true }, + { 121122, true }, + { 121135, true }, + { 121155, true }, + { 121175, true }, + { 121194, true }, + { 121211, true }, + { 121227, true }, + { 121247, true }, + { 121260, true }, + { 121274, false }, + { 121287, true }, + { 121297, false }, + { 121309, true }, + { 121326, true }, + { 121341, true }, + { 121364, true }, + { 121377, true }, + { 121394, true }, + { 121408, true }, + { 121420, true }, + { 121435, true }, + { 121452, true }, + { 121466, true }, + { 121481, true }, + { 121490, true }, + { 121505, true }, + { 121523, true }, + { 121537, true }, + { 121551, true }, + { 121565, true }, + { 121576, true }, + { 121587, true }, { 121597, true }, { 121609, true }, - { 121628, false }, - { 121643, true }, - { 121659, true }, - { 121678, true }, + { 121624, true }, + { 121638, true }, + { 121651, true }, + { 121662, true }, + { 121679, true }, { 121689, true }, { 121701, true }, - { 121719, true }, - { 121731, true }, - { 121742, true }, - { 121759, true }, - { 121775, true }, - { 121794, true }, - { 121811, true }, - { 121829, true }, - { 121846, true }, - { 121864, true }, - { 121886, true }, - { 121905, true }, - { 121918, true }, - { 121934, true }, + { 121715, true }, + { 121727, true }, + { 121746, false }, + { 121761, true }, + { 121777, true }, + { 121796, true }, + { 121807, true }, + { 121819, true }, + { 121837, true }, + { 121849, true }, + { 121860, true }, + { 121877, true }, + { 121893, true }, + { 121912, true }, + { 121929, true }, { 121947, true }, { 121964, true }, - { 121979, true }, - { 121987, true }, - { 122001, true }, - { 122012, true }, - { 122022, true }, - { 122040, true }, - { 122058, true }, + { 121982, true }, + { 122004, true }, + { 122017, true }, + { 122033, true }, + { 122046, true }, + { 122063, true }, { 122071, true }, - { 122090, true }, + { 122085, true }, + { 122096, true }, { 122106, true }, - { 122116, true }, { 122124, true }, - { 122132, true }, - { 122145, true }, - { 122158, true }, - { 122170, true }, - { 122181, true }, - { 122196, true }, - { 122206, true }, - { 122217, true }, - { 122225, true }, - { 122240, true }, - { 122247, true }, - { 122263, true }, - { 122272, true }, + { 122142, true }, + { 122155, true }, + { 122174, true }, + { 122190, true }, + { 122200, true }, + { 122208, true }, + { 122216, true }, + { 122229, true }, + { 122242, true }, + { 122254, true }, + { 122265, true }, { 122280, true }, { 122290, true }, - { 122302, true }, - { 122312, true }, - { 122325, true }, - { 122343, true }, - { 122368, true }, - { 122382, true }, - { 122401, true }, - { 122415, true }, - { 122428, true }, - { 122436, true }, - { 122452, false }, - { 122469, true }, - { 122490, true }, - { 122509, true }, - { 122528, true }, - { 122547, true }, - { 122563, true }, - { 122578, true }, - { 122595, true }, - { 122606, true }, - { 122616, true }, - { 122626, true }, - { 122635, true }, - { 122648, true }, - { 122658, false }, - { 122676, true }, - { 122698, true }, - { 122715, true }, - { 122731, true }, - { 122749, true }, - { 122762, true }, - { 122773, true }, - { 122789, true }, - { 122807, true }, - { 122823, true }, - { 122839, true }, - { 122854, false }, - { 122868, true }, - { 122885, true }, - { 122903, true }, - { 122922, true }, - { 122933, true }, - { 122949, true }, - { 122966, true }, - { 122983, true }, - { 122999, true }, - { 123012, true }, - { 123030, true }, - { 123047, true }, - { 123069, true }, - { 123085, true }, - { 123099, true }, - { 123111, true }, - { 123133, true }, - { 123141, true }, - { 123152, true }, - { 123177, false }, - { 123192, true }, - { 123199, true }, - { 123211, true }, - { 123219, true }, - { 123232, true }, - { 123247, true }, - { 123271, true }, - { 123286, true }, - { 123296, true }, - { 123309, true }, - { 123318, true }, - { 123328, true }, - { 123351, true }, - { 123366, true }, + { 122301, true }, + { 122309, true }, + { 122324, true }, + { 122331, true }, + { 122347, true }, + { 122356, true }, + { 122364, true }, + { 122374, true }, + { 122386, true }, + { 122396, true }, + { 122409, true }, + { 122427, true }, + { 122452, true }, + { 122466, true }, + { 122485, true }, + { 122499, true }, + { 122512, true }, + { 122520, true }, + { 122536, false }, + { 122553, true }, + { 122574, true }, + { 122593, true }, + { 122612, true }, + { 122631, true }, + { 122647, true }, + { 122662, true }, + { 122679, true }, + { 122690, true }, + { 122700, true }, + { 122710, true }, + { 122719, true }, + { 122732, true }, + { 122742, false }, + { 122760, true }, + { 122782, true }, + { 122799, true }, + { 122815, true }, + { 122833, true }, + { 122846, true }, + { 122857, true }, + { 122873, true }, + { 122891, true }, + { 122907, true }, + { 122923, true }, + { 122938, false }, + { 122952, true }, + { 122969, true }, + { 122987, true }, + { 123006, true }, + { 123017, true }, + { 123033, true }, + { 123050, true }, + { 123067, true }, + { 123083, true }, + { 123096, true }, + { 123114, true }, + { 123131, true }, + { 123153, true }, + { 123169, true }, + { 123183, true }, + { 123195, true }, + { 123217, true }, + { 123225, true }, + { 123236, true }, + { 123261, false }, + { 123276, true }, + { 123283, true }, + { 123295, true }, + { 123303, true }, + { 123316, true }, + { 123331, true }, + { 123355, true }, + { 123370, true }, { 123380, true }, - { 123396, true }, - { 123410, true }, - { 123421, false }, - { 123434, true }, - { 123448, true }, - { 123456, true }, - { 123465, true }, - { 123478, true }, - { 123487, true }, - { 123497, true }, - { 123510, true }, - { 123530, false }, + { 123393, true }, + { 123402, true }, + { 123412, true }, + { 123435, true }, + { 123450, true }, + { 123464, true }, + { 123480, true }, + { 123494, true }, + { 123505, false }, + { 123518, true }, + { 123532, true }, { 123540, true }, - { 123556, true }, - { 123567, true }, - { 123576, true }, - { 123583, true }, - { 123599, true }, - { 123612, true }, - { 123622, true }, - { 123635, true }, - { 123648, true }, - { 123663, true }, - { 123682, true }, - { 123693, true }, - { 123700, true }, - { 123720, true }, + { 123549, true }, + { 123562, true }, + { 123571, true }, + { 123581, true }, + { 123594, true }, + { 123614, false }, + { 123624, true }, + { 123640, true }, + { 123651, true }, + { 123660, true }, + { 123667, true }, + { 123683, true }, + { 123696, true }, + { 123706, true }, + { 123719, true }, { 123732, true }, - { 123744, true }, - { 123751, true }, - { 123758, true }, - { 123767, true }, - { 123776, true }, - { 123785, true }, - { 123794, true }, - { 123806, true }, - { 123820, true }, - { 123831, true }, - { 123845, true }, - { 123858, true }, - { 123866, true }, - { 123885, true }, - { 123896, true }, - { 123910, true }, - { 123921, true }, - { 123937, true }, - { 123951, true }, - { 123964, true }, - { 123979, true }, - { 123993, true }, - { 124003, false }, - { 124017, true }, - { 124027, true }, - { 124042, true }, - { 124056, false }, - { 124071, false }, - { 124087, true }, - { 124099, true }, - { 124112, true }, - { 124131, true }, - { 124147, false }, - { 124160, true }, - { 124176, true }, - { 124190, true }, - { 124206, true }, - { 124225, true }, - { 124242, true }, - { 124259, true }, - { 124269, true }, - { 124284, true }, - { 124298, true }, - { 124311, true }, + { 123747, true }, + { 123766, true }, + { 123777, true }, + { 123784, true }, + { 123804, true }, + { 123816, true }, + { 123828, true }, + { 123835, true }, + { 123842, true }, + { 123851, true }, + { 123860, true }, + { 123869, true }, + { 123878, true }, + { 123890, true }, + { 123904, true }, + { 123915, true }, + { 123929, true }, + { 123942, true }, + { 123950, true }, + { 123969, true }, + { 123980, true }, + { 123994, true }, + { 124005, true }, + { 124021, true }, + { 124035, true }, + { 124048, true }, + { 124063, true }, + { 124077, true }, + { 124087, false }, + { 124101, true }, + { 124111, true }, + { 124126, true }, + { 124140, false }, + { 124155, false }, + { 124171, true }, + { 124183, true }, + { 124196, true }, + { 124215, true }, + { 124231, false }, + { 124244, true }, + { 124260, true }, + { 124274, true }, + { 124290, true }, + { 124309, true }, { 124326, true }, - { 124342, true }, - { 124357, true }, - { 124373, true }, - { 124387, true }, - { 124401, true }, - { 124416, true }, - { 124430, true }, - { 124438, true }, - { 124453, true }, - { 124472, true }, - { 124487, false }, - { 124511, false }, - { 124527, true }, - { 124542, true }, - { 124560, true }, - { 124579, true }, - { 124598, true }, - { 124617, true }, - { 124630, false }, - { 124653, true }, - { 124669, true }, - { 124680, true }, - { 124693, true }, - { 124708, true }, - { 124723, true }, - { 124738, true }, - { 124754, true }, - { 124769, true }, - { 124785, true }, - { 124802, true }, - { 124814, true }, - { 124828, true }, + { 124343, true }, + { 124353, true }, + { 124368, true }, + { 124382, true }, + { 124395, true }, + { 124410, true }, + { 124426, true }, + { 124441, true }, + { 124457, true }, + { 124471, true }, + { 124485, true }, + { 124500, true }, + { 124514, true }, + { 124522, true }, + { 124537, true }, + { 124556, true }, + { 124571, false }, + { 124595, false }, + { 124611, true }, + { 124626, true }, + { 124644, true }, + { 124663, true }, + { 124682, true }, + { 124701, true }, + { 124714, false }, + { 124737, true }, + { 124753, true }, + { 124764, true }, + { 124777, true }, + { 124792, true }, + { 124807, true }, + { 124822, true }, { 124838, true }, - { 124856, true }, - { 124875, true }, - { 124885, true }, - { 124896, true }, - { 124906, true }, - { 124920, true }, - { 124933, true }, - { 124961, true }, - { 124974, true }, - { 124987, true }, - { 125002, true }, - { 125016, true }, - { 125033, true }, - { 125047, true }, - { 125064, true }, - { 125078, true }, - { 125093, true }, - { 125110, true }, - { 125128, true }, - { 125145, true }, + { 124853, true }, + { 124869, true }, + { 124886, true }, + { 124898, true }, + { 124912, true }, + { 124922, true }, + { 124940, true }, + { 124959, true }, + { 124969, true }, + { 124980, true }, + { 124990, true }, + { 125004, true }, + { 125017, true }, + { 125045, true }, + { 125058, true }, + { 125071, true }, + { 125086, true }, + { 125100, true }, + { 125117, true }, + { 125131, true }, + { 125148, true }, { 125162, true }, - { 125170, true }, - { 125191, true }, - { 125202, true }, - { 125216, true }, - { 125228, true }, - { 125244, true }, - { 125257, true }, - { 125283, true }, - { 125309, true }, - { 125319, true }, - { 125332, true }, - { 125342, true }, - { 125355, true }, - { 125363, true }, - { 125378, true }, - { 125392, true }, - { 125406, true }, - { 125417, true }, - { 125437, true }, - { 125455, true }, - { 125472, true }, - { 125487, true }, - { 125505, true }, + { 125177, true }, + { 125194, true }, + { 125212, true }, + { 125229, true }, + { 125246, true }, + { 125254, true }, + { 125275, true }, + { 125286, true }, + { 125300, true }, + { 125312, true }, + { 125328, true }, + { 125341, true }, + { 125367, true }, + { 125393, true }, + { 125403, true }, + { 125416, true }, + { 125426, true }, + { 125439, true }, + { 125447, true }, + { 125462, true }, + { 125476, true }, + { 125490, true }, + { 125501, true }, { 125521, true }, - { 125529, true }, - { 125543, true }, - { 125560, false }, + { 125539, true }, + { 125556, true }, { 125571, true }, - { 125581, true }, - { 125597, true }, - { 125610, true }, - { 125620, false }, - { 125634, true }, - { 125645, true }, - { 125661, true }, - { 125669, true }, - { 125679, true }, + { 125589, true }, + { 125605, true }, + { 125613, true }, + { 125627, true }, + { 125644, false }, + { 125655, true }, + { 125665, true }, + { 125681, true }, { 125694, true }, - { 125710, true }, + { 125704, false }, + { 125718, true }, { 125729, true }, - { 125742, true }, - { 125756, true }, - { 125771, true }, - { 125789, true }, - { 125809, true }, - { 125824, true }, - { 125842, true }, - { 125861, true }, - { 125874, true }, - { 125891, true }, - { 125906, true }, - { 125917, true }, - { 125935, true }, - { 125954, true }, - { 125973, true }, - { 125984, true }, - { 125995, true }, - { 126008, true }, - { 126016, true }, - { 126025, true }, - { 126042, true }, - { 126053, true }, - { 126067, true }, - { 126077, true }, + { 125745, true }, + { 125753, true }, + { 125763, true }, + { 125778, true }, + { 125794, true }, + { 125813, true }, + { 125826, true }, + { 125840, true }, + { 125855, true }, + { 125873, true }, + { 125893, true }, + { 125908, true }, + { 125926, true }, + { 125945, true }, + { 125958, true }, + { 125975, true }, + { 125990, true }, + { 126001, true }, + { 126019, true }, + { 126038, true }, + { 126057, true }, + { 126068, true }, + { 126079, true }, + { 126092, true }, { 126100, true }, - { 126113, true }, - { 126121, true }, - { 126133, true }, - { 126147, true }, - { 126175, true }, - { 126191, true }, - { 126200, true }, - { 126215, true }, - { 126234, true }, - { 126249, true }, - { 126263, true }, - { 126283, true }, - { 126304, true }, - { 126322, true }, - { 126335, true }, - { 126350, true }, - { 126363, true }, - { 126377, true }, + { 126109, true }, + { 126126, true }, + { 126137, true }, + { 126151, true }, + { 126161, true }, + { 126184, true }, + { 126197, true }, + { 126205, true }, + { 126217, true }, + { 126231, true }, + { 126259, true }, + { 126275, true }, + { 126284, true }, + { 126299, true }, + { 126318, true }, + { 126333, true }, + { 126347, true }, + { 126367, true }, { 126388, true }, - { 126409, true }, - { 126422, true }, - { 126436, true }, - { 126448, true }, - { 126465, true }, - { 126475, true }, - { 126485, true }, - { 126492, true }, - { 126505, true }, - { 126516, true }, - { 126531, true }, - { 126539, true }, + { 126406, true }, + { 126419, true }, + { 126434, true }, + { 126447, true }, + { 126461, true }, + { 126472, true }, + { 126493, true }, + { 126506, true }, + { 126520, true }, + { 126532, true }, + { 126549, true }, { 126559, true }, - { 126570, true }, - { 126580, true }, - { 126590, true }, - { 126606, true }, + { 126569, true }, + { 126576, true }, + { 126589, true }, + { 126600, true }, { 126615, true }, - { 126626, true }, - { 126639, true }, - { 126651, true }, - { 126661, true }, - { 126671, true }, - { 126683, true }, - { 126698, true }, - { 126707, true }, - { 126721, true }, - { 126734, true }, - { 126744, true }, - { 126759, true }, - { 126773, true }, - { 126784, true }, - { 126799, true }, - { 126809, false }, - { 126819, true }, + { 126623, true }, + { 126643, true }, + { 126654, true }, + { 126664, true }, + { 126674, true }, + { 126690, true }, + { 126699, true }, + { 126710, true }, + { 126723, true }, + { 126735, true }, + { 126745, true }, + { 126755, true }, + { 126767, true }, + { 126782, true }, + { 126791, true }, + { 126805, true }, + { 126818, true }, + { 126833, true }, { 126847, true }, - { 126860, true }, - { 126879, true }, - { 126892, true }, - { 126901, true }, - { 126912, true }, - { 126926, true }, - { 126940, true }, - { 126960, true }, - { 126976, true }, - { 126987, true }, - { 126998, true }, + { 126858, true }, + { 126873, true }, + { 126883, false }, + { 126893, true }, + { 126921, true }, + { 126934, true }, + { 126953, true }, + { 126966, true }, + { 126975, true }, + { 126986, true }, + { 127000, true }, { 127014, true }, - { 127031, true }, - { 127046, true }, - { 127059, true }, - { 127080, true }, - { 127093, true }, - { 127110, true }, + { 127034, true }, + { 127050, true }, + { 127061, true }, + { 127072, true }, + { 127088, true }, + { 127105, true }, { 127120, true }, - { 127130, true }, - { 127138, true }, - { 127149, true }, - { 127159, true }, - { 127174, true }, - { 127186, true }, - { 127199, true }, - { 127213, true }, + { 127133, true }, + { 127154, true }, + { 127167, true }, + { 127184, true }, + { 127194, true }, + { 127204, true }, + { 127212, true }, { 127223, true }, - { 127231, true }, + { 127233, true }, { 127248, true }, - { 127261, true }, - { 127280, true }, + { 127260, true }, + { 127273, true }, + { 127287, true }, + { 127297, true }, { 127305, true }, - { 127325, true }, - { 127339, true }, - { 127353, true }, - { 127395, true }, - { 127410, true }, - { 127426, true }, - { 127435, true }, - { 127449, true }, - { 127458, true }, - { 127470, true }, - { 127482, true }, - { 127495, true }, - { 127508, true }, - { 127526, true }, - { 127534, true }, - { 127547, true }, - { 127561, true }, - { 127571, true }, - { 127581, true }, - { 127593, true }, + { 127322, true }, + { 127335, true }, + { 127354, true }, + { 127379, true }, + { 127399, true }, + { 127413, true }, + { 127427, true }, + { 127469, true }, + { 127484, true }, + { 127500, true }, + { 127509, true }, + { 127523, true }, + { 127532, true }, + { 127544, true }, + { 127556, true }, + { 127569, true }, + { 127582, true }, + { 127600, true }, { 127608, true }, - { 127620, true }, - { 127637, true }, - { 127652, true }, - { 127664, true }, - { 127677, true }, - { 127689, true }, - { 127704, true }, - { 127717, true }, - { 127729, true }, - { 127739, true }, - { 127748, true }, + { 127621, true }, + { 127635, true }, + { 127645, true }, + { 127655, true }, + { 127667, true }, + { 127682, true }, + { 127694, true }, + { 127711, true }, + { 127726, true }, + { 127738, true }, + { 127751, true }, { 127763, true }, - { 127776, true }, - { 127794, true }, - { 127809, true }, - { 127823, true }, - { 127841, true }, - { 127859, true }, - { 127871, true }, - { 127882, true }, - { 127895, true }, - { 127913, true }, - { 127924, true }, - { 127938, true }, - { 127958, true }, - { 127971, true }, - { 127980, true }, - { 127992, true }, + { 127778, true }, + { 127791, true }, + { 127803, true }, + { 127813, true }, + { 127822, true }, + { 127837, true }, + { 127850, true }, + { 127868, true }, + { 127883, true }, + { 127897, true }, + { 127915, true }, + { 127933, true }, + { 127945, true }, + { 127956, true }, + { 127969, true }, + { 127987, true }, + { 127998, true }, { 128012, true }, - { 128021, true }, - { 128030, true }, - { 128048, true }, - { 128063, true }, - { 128070, true }, - { 128089, true }, - { 128100, true }, - { 128115, true }, - { 128130, true }, + { 128032, true }, + { 128045, true }, + { 128054, true }, + { 128066, true }, + { 128086, true }, + { 128095, true }, + { 128104, true }, + { 128122, true }, + { 128137, true }, { 128144, true }, - { 128156, true }, - { 128175, true }, - { 128199, true }, - { 128210, true }, - { 128224, true }, - { 128236, true }, + { 128163, true }, + { 128174, true }, + { 128189, true }, + { 128204, true }, + { 128218, true }, + { 128230, true }, { 128249, true }, - { 128260, true }, - { 128270, true }, - { 128283, true }, - { 128295, true }, - { 128318, true }, - { 128327, true }, + { 128273, true }, + { 128284, true }, + { 128298, true }, + { 128310, true }, + { 128323, true }, + { 128334, true }, { 128344, true }, - { 128354, true }, - { 128367, true }, - { 128379, true }, - { 128390, true }, - { 128399, true }, - { 128410, true }, - { 128425, true }, - { 128439, true }, - { 128447, true }, - { 128461, true }, - { 128475, true }, - { 128483, true }, - { 128496, true }, - { 128514, true }, - { 128525, true }, - { 128537, true }, - { 128548, true }, - { 128572, true }, - { 128580, true }, - { 128590, true }, - { 128600, true }, - { 128617, true }, - { 128628, true }, + { 128357, true }, + { 128369, true }, + { 128392, true }, + { 128401, true }, + { 128418, true }, + { 128428, true }, + { 128441, true }, + { 128453, true }, + { 128464, true }, + { 128473, true }, + { 128484, true }, + { 128499, true }, + { 128513, true }, + { 128521, true }, + { 128535, true }, + { 128549, true }, + { 128557, true }, + { 128570, true }, + { 128588, true }, + { 128599, true }, + { 128611, true }, + { 128622, true }, { 128646, true }, + { 128654, true }, { 128664, true }, - { 128678, true }, - { 128688, true }, - { 128712, true }, - { 128726, true }, - { 128741, true }, - { 128760, true }, - { 128772, true }, - { 128791, true }, - { 128808, true }, - { 128823, true }, - { 128833, true }, - { 128848, true }, - { 128868, true }, - { 128880, true }, - { 128892, true }, - { 128905, true }, - { 128914, true }, - { 128923, true }, - { 128932, true }, - { 128944, true }, - { 128951, true }, + { 128674, true }, + { 128691, true }, + { 128702, true }, + { 128720, true }, + { 128738, true }, + { 128752, true }, + { 128762, true }, + { 128786, true }, + { 128800, true }, + { 128815, true }, + { 128834, true }, + { 128846, true }, + { 128865, true }, + { 128882, true }, + { 128897, true }, + { 128907, true }, + { 128922, true }, + { 128942, true }, + { 128954, true }, + { 128966, true }, { 128979, true }, + { 128988, true }, + { 128997, true }, { 129006, true }, - { 129032, true }, - { 129057, true }, - { 129067, true }, - { 129076, true }, - { 129091, true }, - { 129106, false }, - { 129124, true }, - { 129135, true }, - { 129147, true }, - { 129163, true }, - { 129177, true }, - { 129192, true }, - { 129208, true }, - { 129234, true }, - { 129245, true }, - { 129256, true }, - { 129271, true }, - { 129286, true }, - { 129301, true }, + { 129018, true }, + { 129025, true }, + { 129053, true }, + { 129080, true }, + { 129106, true }, + { 129131, true }, + { 129141, true }, + { 129150, true }, + { 129165, true }, + { 129180, false }, + { 129198, true }, + { 129209, true }, + { 129221, true }, + { 129237, true }, + { 129251, true }, + { 129266, true }, + { 129282, true }, + { 129308, true }, { 129319, true }, - { 129329, true }, - { 129344, true }, - { 129359, true }, - { 129372, true }, - { 129388, true }, - { 129411, true }, - { 129425, true }, - { 129435, true }, - { 129448, true }, - { 129461, true }, - { 129474, true }, - { 129493, true }, - { 129505, true }, - { 129521, true }, + { 129330, true }, + { 129345, true }, + { 129360, true }, + { 129375, true }, + { 129393, true }, + { 129403, true }, + { 129418, true }, + { 129433, true }, + { 129446, true }, + { 129462, true }, + { 129485, true }, + { 129499, true }, + { 129509, true }, + { 129522, true }, { 129535, true }, - { 129547, false }, - { 129566, true }, - { 129578, true }, - { 129593, true }, - { 129611, true }, - { 129622, true }, - { 129634, true }, - { 129645, true }, - { 129658, true }, - { 129669, true }, - { 129686, true }, - { 129709, true }, - { 129724, true }, - { 129739, true }, - { 129754, true }, - { 129765, true }, - { 129777, true }, - { 129794, true }, - { 129805, true }, + { 129548, true }, + { 129567, true }, + { 129579, true }, + { 129595, true }, + { 129609, true }, + { 129621, false }, + { 129640, true }, + { 129652, true }, + { 129667, true }, + { 129685, true }, + { 129696, true }, + { 129708, true }, + { 129719, true }, + { 129732, true }, + { 129743, true }, + { 129760, true }, + { 129783, true }, + { 129798, true }, { 129813, true }, - { 129829, true }, - { 129842, true }, - { 129852, true }, - { 129863, true }, - { 129871, true }, - { 129888, true }, + { 129828, true }, + { 129839, true }, + { 129851, true }, + { 129868, true }, + { 129879, true }, + { 129887, true }, { 129903, true }, - { 129913, true }, - { 129924, true }, - { 129935, true }, - { 129955, true }, - { 129970, true }, + { 129916, true }, + { 129926, true }, + { 129937, true }, + { 129945, true }, + { 129962, true }, + { 129977, true }, { 129987, true }, - { 130001, true }, - { 130014, true }, - { 130024, true }, - { 130040, true }, - { 130063, true }, - { 130076, true }, - { 130090, true }, - { 130100, true }, - { 130111, true }, - { 130130, true }, - { 130141, true }, - { 130163, true }, - { 130175, true }, - { 130190, true }, - { 130210, true }, - { 130224, true }, - { 130235, true }, - { 130248, true }, - { 130258, true }, - { 130276, true }, - { 130301, true }, - { 130318, true }, + { 129998, true }, + { 130009, true }, + { 130029, true }, + { 130044, true }, + { 130061, true }, + { 130075, true }, + { 130088, true }, + { 130098, true }, + { 130114, true }, + { 130137, true }, + { 130150, true }, + { 130164, true }, + { 130174, true }, + { 130185, true }, + { 130204, true }, + { 130215, true }, + { 130237, true }, + { 130249, true }, + { 130264, true }, + { 130284, true }, + { 130298, true }, + { 130309, true }, + { 130322, true }, { 130332, true }, - { 130344, true }, - { 130360, true }, - { 130371, true }, - { 130381, false }, - { 130393, true }, - { 130410, true }, - { 130427, true }, - { 130447, true }, - { 130474, true }, - { 130499, true }, - { 130515, true }, - { 130530, true }, - { 130550, true }, - { 130562, true }, - { 130578, true }, - { 130590, true }, - { 130607, true }, + { 130350, true }, + { 130375, true }, + { 130392, true }, + { 130406, true }, + { 130418, true }, + { 130434, true }, + { 130445, true }, + { 130455, false }, + { 130467, true }, + { 130484, true }, + { 130501, true }, + { 130521, true }, + { 130548, true }, + { 130573, true }, + { 130589, true }, + { 130604, true }, { 130624, true }, - { 130644, true }, - { 130654, true }, - { 130671, true }, - { 130685, true }, - { 130702, true }, - { 130715, true }, - { 130727, true }, - { 130739, true }, - { 130752, false }, - { 130766, true }, - { 130789, false }, - { 130803, true }, - { 130815, true }, - { 130826, true }, - { 130838, true }, - { 130856, true }, - { 130869, true }, - { 130884, true }, - { 130893, true }, - { 130904, true }, - { 130918, true }, - { 130936, true }, - { 130946, true }, + { 130636, true }, + { 130652, true }, + { 130664, true }, + { 130681, true }, + { 130698, true }, + { 130718, true }, + { 130728, true }, + { 130745, true }, + { 130759, true }, + { 130776, true }, + { 130789, true }, + { 130801, true }, + { 130813, true }, + { 130826, false }, + { 130840, true }, + { 130863, false }, + { 130877, true }, + { 130889, true }, + { 130900, true }, + { 130912, true }, + { 130930, true }, + { 130943, true }, { 130958, true }, - { 130981, true }, - { 131014, true }, - { 131024, true }, - { 131033, true }, - { 131052, true }, - { 131064, true }, - { 131078, true }, - { 131099, true }, - { 131113, true }, - { 131127, true }, - { 131145, true }, - { 131163, true }, - { 131181, true }, - { 131194, true }, - { 131206, true }, + { 130967, true }, + { 130978, true }, + { 130992, true }, + { 131010, true }, + { 131020, true }, + { 131032, true }, + { 131055, true }, + { 131088, true }, + { 131098, true }, + { 131107, true }, + { 131126, true }, + { 131138, true }, + { 131152, true }, + { 131173, true }, + { 131187, true }, + { 131201, true }, { 131219, true }, - { 131231, true }, - { 131239, true }, - { 131253, true }, - { 131267, true }, - { 131282, true }, - { 131296, true }, - { 131307, true }, - { 131316, true }, - { 131326, true }, - { 131338, true }, - { 131353, true }, - { 131365, false }, - { 131388, true }, - { 131400, false }, - { 131413, true }, - { 131421, true }, - { 131432, true }, - { 131441, true }, - { 131449, true }, + { 131237, true }, + { 131255, true }, + { 131268, true }, + { 131280, true }, + { 131293, true }, + { 131305, true }, + { 131313, true }, + { 131327, true }, + { 131341, true }, + { 131356, true }, + { 131370, true }, + { 131381, true }, + { 131390, true }, + { 131400, true }, + { 131412, true }, + { 131427, true }, + { 131439, false }, { 131462, true }, - { 131485, true }, - { 131497, true }, - { 131513, true }, - { 131525, true }, - { 131548, true }, + { 131474, false }, + { 131487, true }, + { 131495, true }, + { 131506, true }, + { 131515, true }, + { 131523, true }, + { 131536, true }, { 131559, true }, - { 131575, true }, - { 131591, true }, - { 131606, true }, - { 131619, true }, - { 131629, true }, - { 131638, true }, - { 131645, true }, - { 131658, true }, - { 131675, true }, - { 131698, true }, - { 131715, true }, - { 131733, true }, - { 131762, true }, - { 131779, true }, - { 131793, true }, - { 131809, true }, - { 131823, true }, - { 131837, true }, - { 131849, true }, - { 131858, true }, - { 131874, true }, - { 131891, true }, - { 131907, false }, - { 131922, true }, - { 131935, true }, - { 131946, true }, - { 131964, true }, - { 131973, true }, - { 131987, true }, - { 132005, true }, - { 132023, true }, - { 132031, true }, - { 132041, true }, - { 132058, true }, - { 132066, true }, - { 132076, true }, - { 132087, true }, + { 131571, true }, + { 131587, true }, + { 131599, true }, + { 131622, true }, + { 131633, true }, + { 131649, true }, + { 131665, true }, + { 131680, true }, + { 131693, true }, + { 131703, true }, + { 131712, true }, + { 131719, true }, + { 131732, true }, + { 131749, true }, + { 131772, true }, + { 131789, true }, + { 131807, true }, + { 131836, true }, + { 131853, true }, + { 131867, true }, + { 131883, true }, + { 131897, true }, + { 131911, true }, + { 131923, true }, + { 131932, true }, + { 131948, true }, + { 131965, true }, + { 131981, false }, + { 131996, true }, + { 132009, true }, + { 132020, true }, + { 132038, true }, + { 132047, true }, + { 132061, true }, + { 132079, true }, { 132097, true }, - { 132111, true }, - { 132119, true }, - { 132131, true }, - { 132145, true }, - { 132163, true }, - { 132172, true }, - { 132183, true }, - { 132196, true }, - { 132211, true }, - { 132229, true }, + { 132105, true }, + { 132115, true }, + { 132132, true }, + { 132140, true }, + { 132150, true }, + { 132161, true }, + { 132171, true }, + { 132185, true }, + { 132193, true }, + { 132205, true }, + { 132219, true }, { 132237, true }, - { 132252, true }, - { 132265, true }, - { 132283, true }, - { 132295, true }, - { 132305, true }, - { 132315, true }, + { 132246, true }, + { 132257, true }, + { 132270, true }, + { 132285, true }, + { 132303, true }, + { 132311, true }, { 132326, true }, - { 132338, true }, - { 132352, true }, - { 132364, true }, - { 132378, true }, + { 132339, true }, + { 132357, true }, + { 132369, true }, + { 132379, true }, { 132389, true }, { 132400, true }, - { 132414, true }, - { 132438, false }, - { 132459, true }, - { 132476, true }, - { 132494, true }, - { 132511, true }, - { 132528, true }, - { 132543, true }, - { 132557, true }, - { 132569, true }, - { 132584, true }, - { 132592, true }, - { 132605, true }, - { 132623, true }, - { 132650, true }, - { 132667, true }, - { 132682, true }, - { 132695, true }, - { 132718, true }, - { 132731, true }, - { 132745, true }, - { 132767, false }, - { 132781, true }, - { 132793, true }, - { 132804, true }, - { 132815, true }, - { 132825, true }, - { 132836, false }, - { 132857, false }, - { 132868, true }, - { 132882, true }, - { 132894, true }, - { 132908, true }, - { 132926, true }, - { 132940, true }, - { 132951, true }, + { 132412, true }, + { 132426, true }, + { 132438, true }, + { 132452, true }, + { 132463, true }, + { 132474, true }, + { 132488, true }, + { 132512, false }, + { 132533, true }, + { 132550, true }, + { 132568, true }, + { 132585, true }, + { 132602, true }, + { 132617, true }, + { 132631, true }, + { 132643, true }, + { 132658, true }, + { 132666, true }, + { 132679, true }, + { 132697, true }, + { 132724, true }, + { 132741, true }, + { 132756, true }, + { 132769, true }, + { 132792, true }, + { 132805, true }, + { 132819, true }, + { 132841, false }, + { 132855, true }, + { 132867, true }, + { 132878, true }, + { 132889, true }, + { 132899, true }, + { 132910, false }, + { 132931, false }, + { 132942, true }, + { 132956, true }, { 132968, true }, - { 132979, true }, - { 132989, true }, - { 133009, true }, - { 133020, true }, - { 133034, true }, - { 133048, true }, - { 133059, true }, - { 133072, true }, + { 132982, true }, + { 133000, true }, + { 133014, true }, + { 133025, true }, + { 133042, true }, + { 133053, true }, + { 133063, true }, { 133083, true }, - { 133099, true }, - { 133112, true }, - { 133127, true }, - { 133135, true }, - { 133149, false }, - { 133162, true }, - { 133174, false }, - { 133187, true }, - { 133200, true }, - { 133212, true }, - { 133224, true }, - { 133239, true }, - { 133254, true }, - { 133264, true }, - { 133279, true }, - { 133293, true }, - { 133306, true }, - { 133316, false }, - { 133327, true }, - { 133349, true }, - { 133363, true }, - { 133376, true }, - { 133386, true }, - { 133397, true }, - { 133409, true }, - { 133424, true }, - { 133434, true }, - { 133445, true }, - { 133456, true }, - { 133469, true }, - { 133481, true }, - { 133493, true }, - { 133503, true }, - { 133511, true }, - { 133533, true }, - { 133545, true }, - { 133554, true }, - { 133570, true }, - { 133579, true }, - { 133591, true }, - { 133603, true }, - { 133613, true }, - { 133623, true }, - { 133633, true }, - { 133646, false }, - { 133657, false }, - { 133682, true }, - { 133694, true }, - { 133703, true }, - { 133712, true }, - { 133729, true }, - { 133747, true }, - { 133766, true }, - { 133779, true }, - { 133793, true }, + { 133094, true }, + { 133108, true }, + { 133122, true }, + { 133133, true }, + { 133146, true }, + { 133157, true }, + { 133173, true }, + { 133186, true }, + { 133201, true }, + { 133209, true }, + { 133223, false }, + { 133236, true }, + { 133248, false }, + { 133261, true }, + { 133274, true }, + { 133286, true }, + { 133298, true }, + { 133313, true }, + { 133328, true }, + { 133338, true }, + { 133353, true }, + { 133367, true }, + { 133380, true }, + { 133390, false }, + { 133401, true }, + { 133423, true }, + { 133437, true }, + { 133450, true }, + { 133460, true }, + { 133471, true }, + { 133483, true }, + { 133498, true }, + { 133508, true }, + { 133519, true }, + { 133530, true }, + { 133543, true }, + { 133555, true }, + { 133567, true }, + { 133577, true }, + { 133585, true }, + { 133607, true }, + { 133619, true }, + { 133628, true }, + { 133644, true }, + { 133653, true }, + { 133665, true }, + { 133677, true }, + { 133687, true }, + { 133697, true }, + { 133707, true }, + { 133720, false }, + { 133731, false }, + { 133756, true }, + { 133768, true }, + { 133777, true }, + { 133786, true }, { 133803, true }, - { 133826, true }, - { 133845, true }, - { 133857, true }, - { 133881, true }, - { 133895, true }, - { 133913, true }, + { 133821, true }, + { 133840, true }, + { 133853, true }, + { 133867, true }, + { 133877, true }, + { 133900, true }, + { 133919, true }, { 133931, true }, - { 133945, true }, - { 133963, true }, - { 133979, true }, - { 133998, true }, - { 134008, false }, - { 134021, true }, - { 134032, true }, - { 134042, true }, - { 134055, true }, - { 134064, true }, - { 134076, true }, - { 134094, true }, - { 134104, false }, - { 134117, true }, - { 134127, true }, - { 134135, true }, - { 134147, true }, - { 134159, true }, - { 134167, true }, - { 134179, true }, - { 134194, true }, - { 134203, true }, - { 134218, true }, - { 134227, true }, + { 133955, true }, + { 133969, true }, + { 133987, true }, + { 134005, true }, + { 134019, true }, + { 134037, true }, + { 134053, true }, + { 134072, true }, + { 134082, false }, + { 134095, true }, + { 134106, true }, + { 134116, true }, + { 134129, true }, + { 134138, true }, + { 134150, true }, + { 134168, true }, + { 134178, false }, + { 134191, true }, + { 134201, true }, + { 134209, true }, + { 134221, true }, { 134233, true }, - { 134245, true }, - { 134255, true }, - { 134264, true }, - { 134274, true }, - { 134281, false }, - { 134296, true }, + { 134241, true }, + { 134253, true }, + { 134268, true }, + { 134277, true }, + { 134292, true }, + { 134301, true }, { 134307, true }, - { 134318, true }, - { 134336, true }, - { 134351, true }, - { 134367, true }, - { 134380, true }, - { 134393, true }, - { 134407, true }, - { 134419, true }, - { 134433, true }, - { 134446, true }, - { 134460, true }, - { 134471, true }, - { 134480, true }, - { 134495, true }, - { 134514, true }, - { 134524, true }, - { 134536, true }, - { 134549, true }, - { 134557, true }, - { 134570, true }, - { 134582, true }, - { 134595, true }, - { 134615, true }, - { 134634, true }, - { 134650, true }, - { 134667, true }, - { 134679, true }, - { 134699, true }, - { 134713, true }, - { 134728, true }, - { 134743, true }, - { 134756, true }, - { 134775, true }, + { 134319, true }, + { 134329, true }, + { 134338, true }, + { 134348, true }, + { 134355, false }, + { 134370, true }, + { 134381, true }, + { 134392, true }, + { 134410, true }, + { 134425, true }, + { 134441, true }, + { 134454, true }, + { 134467, true }, + { 134481, true }, + { 134493, true }, + { 134507, true }, + { 134520, true }, + { 134534, true }, + { 134545, true }, + { 134554, true }, + { 134569, true }, + { 134588, true }, + { 134598, true }, + { 134610, true }, + { 134623, true }, + { 134631, true }, + { 134644, true }, + { 134656, true }, + { 134669, true }, + { 134689, true }, + { 134708, true }, + { 134724, true }, + { 134741, true }, + { 134753, true }, + { 134773, true }, { 134787, true }, - { 134799, true }, - { 134812, true }, - { 134831, true }, - { 134850, true }, - { 134868, true }, - { 134890, true }, - { 134906, true }, - { 134917, true }, - { 134936, true }, - { 134951, true }, - { 134961, true }, - { 134975, true }, - { 134990, true }, - { 135001, true }, - { 135020, true }, - { 135029, false }, - { 135040, true }, - { 135048, true }, - { 135056, true }, + { 134802, true }, + { 134817, true }, + { 134830, true }, + { 134849, true }, + { 134861, true }, + { 134873, true }, + { 134886, true }, + { 134905, true }, + { 134924, true }, + { 134942, true }, + { 134964, true }, + { 134980, true }, + { 134991, true }, + { 135010, true }, + { 135025, true }, + { 135035, true }, + { 135049, true }, { 135064, true }, { 135075, true }, - { 135087, true }, - { 135102, true }, - { 135116, true }, + { 135094, true }, + { 135103, false }, + { 135114, true }, + { 135122, true }, { 135130, true }, - { 135141, true }, - { 135150, true }, - { 135166, true }, - { 135188, true }, - { 135200, true }, - { 135218, true }, - { 135236, true }, - { 135243, true }, - { 135255, true }, - { 135265, true }, - { 135281, true }, - { 135290, true }, - { 135297, true }, - { 135307, true }, - { 135319, true }, - { 135340, true }, - { 135350, true }, - { 135373, true }, - { 135408, true }, - { 135442, true }, - { 135465, true }, - { 135520, true }, - { 135532, true }, - { 135542, true }, - { 135560, true }, - { 135575, true }, - { 135588, false }, - { 135602, true }, - { 135617, true }, - { 135631, true }, - { 135643, false }, - { 135659, true }, - { 135684, true }, - { 135694, true }, + { 135138, true }, + { 135149, true }, + { 135161, true }, + { 135176, true }, + { 135190, true }, + { 135204, true }, + { 135215, true }, + { 135224, true }, + { 135240, true }, + { 135262, true }, + { 135274, true }, + { 135292, true }, + { 135310, true }, + { 135317, true }, + { 135329, true }, + { 135339, true }, + { 135355, true }, + { 135364, true }, + { 135371, true }, + { 135381, true }, + { 135393, true }, + { 135414, true }, + { 135424, true }, + { 135447, true }, + { 135482, true }, + { 135516, true }, + { 135539, true }, + { 135594, true }, + { 135606, true }, + { 135616, true }, + { 135634, true }, + { 135649, true }, + { 135662, false }, + { 135676, true }, + { 135691, true }, { 135705, true }, - { 135717, true }, - { 135739, true }, - { 135762, true }, - { 135772, true }, - { 135782, true }, - { 135805, true }, - { 135818, false }, - { 135832, true }, - { 135850, true }, - { 135861, true }, - { 135872, true }, - { 135891, true }, - { 135907, true }, - { 135920, true }, - { 135945, true }, - { 135959, true }, - { 135972, true }, - { 136001, true }, - { 136014, true }, - { 136024, true }, - { 136036, true }, - { 136049, true }, - { 136068, true }, - { 136078, true }, - { 136092, true }, + { 135717, false }, + { 135733, true }, + { 135758, true }, + { 135768, true }, + { 135779, true }, + { 135791, true }, + { 135813, true }, + { 135836, true }, + { 135846, true }, + { 135856, true }, + { 135879, true }, + { 135892, false }, + { 135906, true }, + { 135924, true }, + { 135935, true }, + { 135946, true }, + { 135965, true }, + { 135981, true }, + { 135994, true }, + { 136019, true }, + { 136033, true }, + { 136046, true }, + { 136075, true }, + { 136088, true }, + { 136098, true }, { 136110, true }, - { 136127, true }, - { 136144, true }, - { 136156, true }, - { 136170, true }, + { 136123, true }, + { 136142, true }, + { 136152, true }, + { 136166, true }, { 136184, true }, - { 136194, true }, - { 136206, true }, - { 136217, true }, - { 136233, true }, - { 136248, true }, - { 136260, true }, - { 136272, true }, - { 136287, false }, - { 136296, true }, - { 136316, true }, - { 136336, true }, - { 136352, true }, - { 136366, true }, - { 136379, true }, - { 136391, true }, - { 136408, true }, - { 136418, true }, - { 136439, true }, + { 136201, true }, + { 136218, true }, + { 136230, true }, + { 136244, true }, + { 136258, true }, + { 136268, true }, + { 136280, true }, + { 136291, true }, + { 136307, true }, + { 136322, true }, + { 136334, true }, + { 136346, true }, + { 136361, false }, + { 136370, true }, + { 136390, true }, + { 136410, true }, + { 136426, true }, + { 136440, true }, { 136453, true }, - { 136467, true }, - { 136476, true }, - { 136494, true }, - { 136509, true }, - { 136521, true }, - { 136539, true }, + { 136465, true }, + { 136482, true }, + { 136492, true }, + { 136513, true }, + { 136527, true }, + { 136541, true }, { 136550, true }, - { 136563, true }, - { 136575, true }, - { 136589, true }, - { 136601, true }, - { 136620, true }, - { 136632, true }, - { 136644, true }, + { 136568, true }, + { 136583, true }, + { 136595, true }, + { 136613, true }, + { 136624, true }, + { 136637, true }, + { 136649, true }, { 136663, true }, { 136675, true }, - { 136696, true }, - { 136712, true }, - { 136725, true }, - { 136742, true }, - { 136757, true }, - { 136771, true }, - { 136784, true }, - { 136797, true }, - { 136811, true }, - { 136826, false }, - { 136838, true }, - { 136852, true }, - { 136867, true }, - { 136877, true }, - { 136890, true }, + { 136694, true }, + { 136706, true }, + { 136718, true }, + { 136737, true }, + { 136749, true }, + { 136770, true }, + { 136786, true }, + { 136799, true }, + { 136816, true }, + { 136831, true }, + { 136845, true }, + { 136858, true }, + { 136871, true }, + { 136885, true }, + { 136900, false }, { 136912, true }, - { 136931, true }, - { 136954, false }, - { 136967, true }, + { 136926, true }, + { 136941, true }, + { 136951, true }, + { 136964, true }, { 136986, true }, - { 137004, true }, - { 137012, true }, - { 137032, false }, - { 137050, true }, - { 137070, true }, - { 137088, true }, - { 137101, true }, - { 137116, true }, - { 137131, true }, - { 137146, true }, - { 137160, true }, + { 137005, true }, + { 137028, false }, + { 137041, true }, + { 137060, true }, + { 137078, true }, + { 137086, true }, + { 137106, false }, + { 137124, true }, + { 137144, true }, + { 137162, true }, { 137175, true }, - { 137200, true }, - { 137222, true }, - { 137233, true }, + { 137190, true }, + { 137205, true }, + { 137220, true }, + { 137234, true }, { 137249, true }, - { 137263, true }, - { 137276, true }, - { 137304, true }, - { 137331, true }, - { 137356, true }, - { 137384, true }, - { 137398, true }, - { 137417, true }, - { 137431, true }, - { 137447, true }, - { 137460, true }, - { 137471, true }, + { 137274, true }, + { 137296, true }, + { 137307, true }, + { 137323, true }, + { 137337, true }, + { 137350, true }, + { 137378, true }, + { 137405, true }, + { 137430, true }, + { 137458, true }, + { 137472, true }, { 137491, true }, - { 137502, true }, - { 137520, true }, - { 137531, true }, - { 137543, true }, - { 137571, true }, - { 137581, true }, - { 137598, true }, - { 137615, true }, - { 137629, true }, - { 137642, true }, - { 137665, true }, - { 137688, true }, - { 137698, true }, - { 137707, true }, - { 137729, true }, - { 137741, true }, - { 137752, true }, - { 137764, true }, - { 137776, true }, - { 137788, true }, - { 137799, true }, - { 137817, true }, - { 137832, true }, - { 137842, true }, - { 137851, true }, - { 137869, false }, - { 137880, true }, + { 137505, true }, + { 137521, true }, + { 137534, true }, + { 137545, true }, + { 137565, true }, + { 137576, true }, + { 137594, true }, + { 137605, true }, + { 137617, true }, + { 137645, true }, + { 137655, true }, + { 137672, true }, + { 137689, true }, + { 137703, true }, + { 137716, true }, + { 137739, true }, + { 137762, true }, + { 137772, true }, + { 137781, true }, + { 137803, true }, + { 137815, true }, + { 137826, true }, + { 137838, true }, + { 137850, true }, + { 137862, true }, + { 137873, true }, { 137891, true }, - { 137915, false }, + { 137906, true }, + { 137916, true }, { 137925, true }, - { 137933, true }, - { 137947, true }, - { 137959, true }, - { 137971, true }, - { 137982, true }, - { 138000, true }, - { 138018, true }, - { 138038, true }, - { 138053, true }, - { 138070, true }, - { 138086, true }, - { 138099, true }, - { 138110, true }, - { 138125, true }, - { 138146, true }, - { 138164, true }, - { 138179, true }, - { 138195, true }, - { 138208, true }, - { 138222, true }, - { 138235, true }, - { 138245, true }, - { 138255, true }, - { 138280, true }, + { 137943, false }, + { 137954, true }, + { 137965, true }, + { 137989, false }, + { 137999, true }, + { 138007, true }, + { 138021, true }, + { 138033, true }, + { 138045, true }, + { 138056, true }, + { 138074, true }, + { 138092, true }, + { 138112, true }, + { 138127, true }, + { 138144, true }, + { 138160, true }, + { 138173, true }, + { 138184, true }, + { 138199, true }, + { 138220, true }, + { 138238, true }, + { 138253, true }, + { 138269, true }, + { 138282, true }, { 138296, true }, - { 138305, true }, - { 138325, true }, - { 138340, true }, - { 138356, true }, - { 138367, true }, - { 138378, true }, - { 138389, true }, - { 138405, true }, - { 138419, true }, - { 138436, true }, - { 138448, true }, - { 138465, true }, - { 138476, true }, - { 138489, true }, - { 138501, true }, - { 138513, true }, - { 138527, true }, - { 138537, true }, - { 138551, true }, - { 138567, true }, - { 138580, true }, - { 138596, true }, - { 138605, true }, - { 138620, true }, - { 138638, true }, - { 138657, true }, - { 138672, true }, - { 138684, true }, - { 138701, false }, - { 138721, false }, - { 138737, true }, - { 138748, true }, - { 138761, true }, - { 138787, true }, - { 138800, true }, + { 138309, true }, + { 138319, true }, + { 138329, true }, + { 138354, true }, + { 138370, true }, + { 138379, true }, + { 138399, true }, + { 138414, true }, + { 138430, true }, + { 138441, true }, + { 138452, true }, + { 138463, true }, + { 138479, true }, + { 138493, true }, + { 138510, true }, + { 138522, true }, + { 138539, true }, + { 138550, true }, + { 138563, true }, + { 138575, true }, + { 138587, true }, + { 138601, true }, + { 138611, true }, + { 138625, true }, + { 138641, true }, + { 138654, true }, + { 138670, true }, + { 138679, true }, + { 138694, true }, + { 138712, true }, + { 138731, true }, + { 138746, true }, + { 138758, true }, + { 138775, false }, + { 138795, false }, { 138811, true }, - { 138831, true }, - { 138852, true }, - { 138865, false }, - { 138886, false }, - { 138903, true }, - { 138914, true }, - { 138933, true }, - { 138952, true }, - { 138967, true }, - { 138978, true }, - { 138995, true }, - { 139003, true }, - { 139030, true }, + { 138822, true }, + { 138835, true }, + { 138861, true }, + { 138874, true }, + { 138885, true }, + { 138905, true }, + { 138926, true }, + { 138939, false }, + { 138960, false }, + { 138977, true }, + { 138988, true }, + { 139007, true }, + { 139026, true }, { 139041, true }, - { 139050, true }, - { 139067, true }, + { 139052, true }, + { 139069, true }, { 139077, true }, - { 139092, true }, { 139104, true }, - { 139125, true }, - { 139134, true }, - { 139147, true }, - { 139160, true }, - { 139178, true }, - { 139187, true }, - { 139196, true }, - { 139205, true }, - { 139217, false }, - { 139234, false }, - { 139245, true }, - { 139263, true }, - { 139274, true }, - { 139289, true }, - { 139305, true }, - { 139327, true }, - { 139342, true }, - { 139350, true }, + { 139115, true }, + { 139124, true }, + { 139139, true }, + { 139156, true }, + { 139166, true }, + { 139181, true }, + { 139193, true }, + { 139214, true }, + { 139223, true }, + { 139236, true }, + { 139249, true }, + { 139267, true }, + { 139276, true }, + { 139285, true }, + { 139294, true }, + { 139306, false }, + { 139323, false }, + { 139334, true }, + { 139352, true }, { 139363, true }, - { 139375, true }, - { 139386, true }, - { 139403, true }, - { 139417, true }, - { 139427, true }, - { 139444, true }, - { 139462, true }, - { 139479, true }, - { 139496, true }, - { 139504, true }, - { 139523, true }, - { 139538, true }, - { 139562, true }, - { 139586, true }, - { 139604, true }, - { 139618, true }, - { 139629, true }, - { 139642, true }, - { 139657, true }, - { 139671, true }, - { 139690, true }, - { 139701, true }, - { 139711, true }, - { 139722, true }, - { 139744, true }, - { 139755, true }, - { 139782, true }, - { 139794, true }, - { 139817, true }, - { 139829, true }, + { 139378, true }, + { 139394, true }, + { 139416, true }, + { 139431, true }, + { 139439, true }, + { 139452, true }, + { 139464, true }, + { 139475, true }, + { 139492, true }, + { 139506, true }, + { 139516, true }, + { 139533, true }, + { 139551, true }, + { 139568, true }, + { 139585, true }, + { 139593, true }, + { 139612, true }, + { 139627, true }, + { 139651, true }, + { 139675, true }, + { 139693, true }, + { 139707, true }, + { 139718, true }, + { 139731, true }, + { 139746, true }, + { 139760, true }, + { 139779, true }, + { 139790, true }, + { 139800, true }, + { 139811, true }, + { 139833, true }, { 139844, true }, - { 139867, true }, - { 139888, true }, - { 139901, true }, - { 139908, true }, - { 139928, true }, - { 139938, true }, - { 139954, true }, - { 139968, true }, - { 139982, true }, - { 139993, true }, - { 140000, true }, - { 140009, true }, - { 140028, true }, - { 140041, true }, - { 140059, true }, - { 140069, true }, + { 139871, true }, + { 139883, true }, + { 139906, true }, + { 139918, true }, + { 139933, true }, + { 139956, true }, + { 139977, true }, + { 139990, true }, + { 139997, true }, + { 140017, true }, + { 140027, true }, + { 140043, true }, + { 140057, true }, + { 140071, true }, + { 140082, true }, { 140089, true }, - { 140099, true }, - { 140114, true }, - { 140127, true }, - { 140137, true }, - { 140161, true }, + { 140098, true }, + { 140117, true }, + { 140130, true }, + { 140148, true }, + { 140158, true }, { 140178, true }, - { 140190, false }, - { 140205, true }, - { 140215, true }, - { 140233, true }, - { 140246, true }, - { 140261, true }, - { 140271, true }, - { 140289, true }, - { 140300, true }, - { 140312, true }, - { 140330, true }, - { 140351, false }, - { 140377, true }, - { 140394, true }, - { 140408, true }, - { 140421, true }, - { 140435, false }, - { 140448, true }, - { 140459, true }, - { 140473, true }, - { 140486, true }, - { 140498, true }, - { 140511, true }, - { 140528, true }, - { 140543, true }, - { 140559, true }, - { 140571, false }, - { 140585, true }, - { 140605, true }, - { 140618, true }, - { 140631, true }, - { 140644, true }, - { 140654, true }, - { 140663, true }, + { 140188, true }, + { 140203, true }, + { 140216, true }, + { 140226, true }, + { 140250, true }, + { 140267, true }, + { 140279, false }, + { 140294, true }, + { 140304, true }, + { 140322, true }, + { 140335, true }, + { 140350, true }, + { 140360, true }, + { 140378, true }, + { 140389, true }, + { 140401, true }, + { 140419, true }, + { 140440, false }, + { 140466, true }, + { 140483, true }, + { 140497, true }, + { 140510, true }, + { 140524, false }, + { 140537, true }, + { 140548, true }, + { 140562, true }, + { 140575, true }, + { 140587, true }, + { 140600, true }, + { 140617, true }, + { 140632, true }, + { 140648, true }, + { 140660, false }, { 140674, true }, - { 140685, true }, - { 140696, true }, - { 140708, true }, - { 140721, true }, - { 140745, true }, - { 140757, true }, - { 140771, true }, - { 140782, true }, - { 140795, true }, - { 140803, true }, - { 140815, true }, - { 140829, true }, - { 140844, true }, - { 140867, true }, - { 140878, true }, + { 140694, true }, + { 140707, true }, + { 140720, true }, + { 140733, true }, + { 140743, true }, + { 140752, true }, + { 140763, true }, + { 140774, true }, + { 140785, true }, + { 140797, true }, + { 140810, true }, + { 140834, true }, + { 140846, true }, + { 140860, true }, + { 140871, true }, + { 140884, true }, { 140892, true }, - { 140905, false }, - { 140920, true }, - { 140932, true }, - { 140952, true }, - { 140962, true }, - { 140978, true }, - { 140990, false }, - { 141004, true }, - { 141018, true }, - { 141030, true }, - { 141044, true }, - { 141059, true }, - { 141073, true }, - { 141086, true }, - { 141103, true }, - { 141116, true }, - { 141142, true }, - { 141152, true }, - { 141180, true }, - { 141208, false }, - { 141218, true }, - { 141245, false }, - { 141257, true }, - { 141267, true }, - { 141277, true }, - { 141290, true }, - { 141299, true }, - { 141315, true }, - { 141328, true }, - { 141342, true }, - { 141358, false }, - { 141373, true }, - { 141391, true }, - { 141410, true }, - { 141423, true }, - { 141438, true }, - { 141452, true }, - { 141468, true }, - { 141482, true }, - { 141500, true }, - { 141510, false }, - { 141521, true }, - { 141532, true }, - { 141542, true }, - { 141554, true }, - { 141564, true }, - { 141575, true }, - { 141602, true }, - { 141620, true }, - { 141640, true }, - { 141654, true }, - { 141665, true }, - { 141674, true }, - { 141683, true }, - { 141700, false }, - { 141714, true }, - { 141737, true }, - { 141753, true }, - { 141774, true }, - { 141790, true }, - { 141812, true }, - { 141822, true }, - { 141830, true }, - { 141839, true }, - { 141850, true }, - { 141865, true }, + { 140904, true }, + { 140918, true }, + { 140933, true }, + { 140956, true }, + { 140967, true }, + { 140981, true }, + { 140994, false }, + { 141009, true }, + { 141021, true }, + { 141041, true }, + { 141051, true }, + { 141067, true }, + { 141079, false }, + { 141093, true }, + { 141107, true }, + { 141119, true }, + { 141133, true }, + { 141148, true }, + { 141162, true }, + { 141175, true }, + { 141192, true }, + { 141205, true }, + { 141231, true }, + { 141241, true }, + { 141269, true }, + { 141297, false }, + { 141307, true }, + { 141334, false }, + { 141346, true }, + { 141356, true }, + { 141366, true }, + { 141379, true }, + { 141388, true }, + { 141404, true }, + { 141417, true }, + { 141431, true }, + { 141447, false }, + { 141462, true }, + { 141480, true }, + { 141499, true }, + { 141512, true }, + { 141527, true }, + { 141541, true }, + { 141557, true }, + { 141571, true }, + { 141589, true }, + { 141599, false }, + { 141610, true }, + { 141621, true }, + { 141631, true }, + { 141643, true }, + { 141653, true }, + { 141664, true }, + { 141691, true }, + { 141709, true }, + { 141729, true }, + { 141743, true }, + { 141754, true }, + { 141763, true }, + { 141772, true }, + { 141789, false }, + { 141803, true }, + { 141826, true }, + { 141842, true }, + { 141863, true }, { 141879, true }, - { 141889, true }, - { 141906, true }, - { 141921, true }, - { 141935, true }, - { 141945, true }, - { 141965, true }, - { 141980, true }, - { 141998, true }, - { 142013, true }, - { 142039, true }, - { 142053, true }, - { 142066, true }, - { 142078, true }, - { 142097, true }, - { 142110, true }, - { 142134, false }, - { 142153, true }, - { 142181, true }, - { 142195, true }, - { 142213, true }, - { 142226, true }, - { 142239, true }, - { 142253, true }, - { 142265, true }, - { 142276, true }, - { 142290, true }, - { 142312, true }, - { 142331, true }, - { 142349, true }, - { 142364, true }, - { 142372, true }, - { 142383, true }, - { 142396, true }, - { 142407, true }, - { 142423, true }, - { 142437, true }, - { 142455, true }, - { 142471, true }, + { 141901, true }, + { 141911, true }, + { 141919, true }, + { 141928, true }, + { 141939, true }, + { 141954, true }, + { 141968, true }, + { 141978, true }, + { 141995, true }, + { 142010, true }, + { 142024, true }, + { 142034, true }, + { 142054, true }, + { 142069, true }, + { 142087, true }, + { 142102, true }, + { 142128, true }, + { 142142, true }, + { 142155, true }, + { 142167, true }, + { 142186, true }, + { 142199, true }, + { 142223, false }, + { 142242, true }, + { 142270, true }, + { 142284, true }, + { 142302, true }, + { 142315, true }, + { 142328, true }, + { 142342, true }, + { 142354, true }, + { 142365, true }, + { 142379, true }, + { 142401, true }, + { 142420, true }, + { 142438, true }, + { 142453, true }, + { 142461, true }, + { 142472, true }, { 142485, true }, - { 142500, true }, - { 142515, true }, - { 142527, true }, - { 142539, true }, - { 142565, true }, - { 142584, true }, - { 142600, true }, - { 142613, true }, - { 142632, true }, - { 142649, true }, - { 142659, true }, - { 142670, true }, - { 142682, false }, - { 142697, true }, - { 142715, true }, - { 142724, true }, - { 142731, true }, - { 142739, true }, - { 142753, true }, - { 142766, true }, - { 142779, true }, - { 142792, true }, - { 142805, true }, - { 142815, true }, - { 142825, true }, - { 142837, true }, - { 142845, true }, - { 142857, true }, - { 142866, true }, - { 142873, true }, - { 142884, true }, - { 142895, true }, - { 142913, true }, - { 142927, true }, - { 142941, true }, - { 142964, true }, - { 142974, true }, - { 142985, true }, - { 143000, true }, - { 143018, true }, - { 143035, true }, - { 143049, true }, - { 143064, true }, - { 143080, true }, - { 143093, true }, - { 143109, true }, - { 143123, true }, - { 143135, true }, - { 143147, true }, - { 143159, true }, - { 143172, true }, - { 143189, true }, - { 143202, false }, - { 143213, true }, - { 143227, true }, - { 143238, true }, - { 143253, true }, - { 143260, true }, - { 143269, true }, + { 142496, true }, + { 142512, true }, + { 142526, true }, + { 142544, true }, + { 142560, true }, + { 142574, true }, + { 142589, true }, + { 142604, true }, + { 142616, true }, + { 142628, true }, + { 142654, true }, + { 142673, true }, + { 142689, true }, + { 142702, true }, + { 142721, true }, + { 142738, true }, + { 142748, true }, + { 142759, true }, + { 142771, false }, + { 142786, true }, + { 142804, true }, + { 142813, true }, + { 142820, true }, + { 142828, true }, + { 142842, true }, + { 142855, true }, + { 142868, true }, + { 142881, true }, + { 142894, true }, + { 142904, true }, + { 142914, true }, + { 142926, true }, + { 142934, true }, + { 142946, true }, + { 142955, true }, + { 142962, true }, + { 142973, true }, + { 142984, true }, + { 143002, true }, + { 143016, true }, + { 143030, true }, + { 143053, true }, + { 143063, true }, + { 143074, true }, + { 143089, true }, + { 143107, true }, + { 143124, true }, + { 143139, true }, + { 143155, true }, + { 143168, true }, + { 143184, true }, + { 143198, true }, + { 143210, true }, + { 143222, true }, + { 143234, true }, + { 143247, true }, + { 143264, true }, + { 143277, false }, { 143288, true }, - { 143307, true }, - { 143333, true }, - { 143357, false }, - { 143372, true }, - { 143383, true }, - { 143394, false }, - { 143405, false }, - { 143416, false }, - { 143428, true }, - { 143442, true }, - { 143455, true }, - { 143468, true }, - { 143481, true }, - { 143503, false }, - { 143513, true }, - { 143533, true }, - { 143551, true }, - { 143565, true }, - { 143582, false }, - { 143597, false }, - { 143613, true }, - { 143630, true }, - { 143641, true }, - { 143663, true }, - { 143677, true }, - { 143697, true }, - { 143714, true }, - { 143724, true }, - { 143732, true }, - { 143743, true }, - { 143751, true }, - { 143760, true }, + { 143302, true }, + { 143313, true }, + { 143328, true }, + { 143335, true }, + { 143344, true }, + { 143363, true }, + { 143382, true }, + { 143408, true }, + { 143432, false }, + { 143447, true }, + { 143458, true }, + { 143469, false }, + { 143480, false }, + { 143491, false }, + { 143503, true }, + { 143517, true }, + { 143530, true }, + { 143543, true }, + { 143556, true }, + { 143578, false }, + { 143588, true }, + { 143608, true }, + { 143622, true }, + { 143639, false }, + { 143654, false }, + { 143670, true }, + { 143687, true }, + { 143698, true }, + { 143720, true }, + { 143734, true }, + { 143754, true }, { 143771, true }, { 143781, true }, - { 143794, true }, + { 143789, true }, + { 143800, true }, { 143808, true }, - { 143816, true }, - { 143826, true }, - { 143843, true }, - { 143864, true }, - { 143878, true }, - { 143895, true }, - { 143918, true }, - { 143933, true }, - { 143955, true }, - { 143970, true }, - { 143985, true }, - { 143996, true }, - { 144012, true }, - { 144026, true }, - { 144039, true }, - { 144052, true }, - { 144065, true }, - { 144078, true }, - { 144091, true }, - { 144110, true }, - { 144123, true }, - { 144134, false }, + { 143817, true }, + { 143828, true }, + { 143838, true }, + { 143853, true }, + { 143866, true }, + { 143880, true }, + { 143888, true }, + { 143898, true }, + { 143915, true }, + { 143936, true }, + { 143950, true }, + { 143967, true }, + { 143990, true }, + { 144005, true }, + { 144027, true }, + { 144042, true }, + { 144057, true }, + { 144068, true }, + { 144084, true }, + { 144098, true }, + { 144111, true }, + { 144124, true }, + { 144137, true }, { 144150, true }, { 144163, true }, - { 144177, true }, - { 144190, true }, - { 144200, true }, - { 144223, true }, - { 144243, true }, - { 144254, true }, - { 144264, true }, - { 144279, true }, + { 144182, true }, + { 144195, true }, + { 144206, false }, + { 144222, true }, + { 144235, true }, + { 144249, true }, + { 144262, true }, + { 144272, true }, { 144295, true }, - { 144305, true }, - { 144317, true }, - { 144334, true }, - { 144342, true }, - { 144358, true }, - { 144373, true }, - { 144393, true }, - { 144403, true }, - { 144417, true }, - { 144442, true }, - { 144456, true }, - { 144470, true }, - { 144484, true }, - { 144498, true }, - { 144512, true }, - { 144527, true }, - { 144541, true }, - { 144555, true }, - { 144569, true }, - { 144589, true }, - { 144606, true }, - { 144624, true }, - { 144639, true }, - { 144650, true }, - { 144663, true }, - { 144681, true }, + { 144315, true }, + { 144326, true }, + { 144336, true }, + { 144351, true }, + { 144367, true }, + { 144377, true }, + { 144389, true }, + { 144406, true }, + { 144414, true }, + { 144430, true }, + { 144445, true }, + { 144465, true }, + { 144475, true }, + { 144489, true }, + { 144514, true }, + { 144528, true }, + { 144542, true }, + { 144556, true }, + { 144570, true }, + { 144584, true }, + { 144599, true }, + { 144613, true }, + { 144627, true }, + { 144641, true }, + { 144661, true }, + { 144678, true }, { 144696, true }, - { 144712, true }, - { 144724, true }, - { 144738, true }, - { 144755, true }, + { 144711, true }, + { 144722, true }, + { 144735, true }, + { 144753, true }, { 144768, true }, - { 144783, true }, - { 144793, true }, - { 144806, false }, - { 144821, true }, - { 144832, true }, - { 144847, true }, - { 144859, true }, - { 144876, true }, - { 144885, true }, - { 144897, true }, - { 144914, true }, - { 144930, false }, - { 144940, true }, - { 144955, true }, - { 144971, true }, - { 144990, true }, - { 145005, true }, - { 145017, true }, - { 145033, true }, + { 144784, true }, + { 144796, true }, + { 144810, true }, + { 144827, true }, + { 144840, true }, + { 144855, true }, + { 144865, true }, + { 144878, false }, + { 144893, true }, + { 144904, true }, + { 144919, true }, + { 144931, true }, + { 144948, true }, + { 144957, true }, + { 144969, true }, + { 144986, true }, + { 145002, false }, + { 145012, true }, + { 145027, true }, { 145043, true }, - { 145059, true }, - { 145079, true }, - { 145093, true }, - { 145107, true }, - { 145126, true }, - { 145146, true }, - { 145158, true }, - { 145174, true }, - { 145187, true }, - { 145197, true }, - { 145207, true }, - { 145221, true }, - { 145244, true }, - { 145254, true }, - { 145263, true }, - { 145282, true }, - { 145297, true }, - { 145311, true }, - { 145330, true }, - { 145348, true }, + { 145062, true }, + { 145077, true }, + { 145089, true }, + { 145105, true }, + { 145115, true }, + { 145131, true }, + { 145151, true }, + { 145165, true }, + { 145179, true }, + { 145198, true }, + { 145218, true }, + { 145230, true }, + { 145246, true }, + { 145259, true }, + { 145269, true }, + { 145279, true }, + { 145293, true }, + { 145316, true }, + { 145326, true }, + { 145335, true }, + { 145354, true }, { 145363, true }, - { 145377, true }, + { 145378, true }, { 145392, true }, - { 145408, true }, - { 145424, true }, - { 145432, true }, - { 145442, true }, - { 145453, true }, - { 145465, true }, - { 145476, true }, - { 145488, true }, - { 145500, true }, - { 145515, true }, - { 145529, true }, - { 145543, false }, - { 145554, true }, - { 145562, true }, - { 145570, true }, - { 145578, true }, - { 145588, true }, - { 145597, true }, - { 145609, true }, - { 145631, true }, - { 145650, true }, + { 145411, true }, + { 145429, true }, + { 145444, true }, + { 145458, true }, + { 145473, true }, + { 145489, true }, + { 145505, true }, + { 145513, true }, + { 145523, true }, + { 145534, true }, + { 145546, true }, + { 145557, true }, + { 145569, true }, + { 145581, true }, + { 145596, true }, + { 145610, true }, + { 145624, false }, + { 145635, true }, + { 145644, true }, + { 145652, true }, { 145660, true }, - { 145671, true }, - { 145688, true }, - { 145701, true }, - { 145711, true }, - { 145725, true }, - { 145737, true }, - { 145748, true }, - { 145776, true }, - { 145794, true }, - { 145812, true }, - { 145826, true }, - { 145836, true }, - { 145850, true }, - { 145857, true }, - { 145867, true }, - { 145882, true }, - { 145904, true }, - { 145912, true }, - { 145922, true }, - { 145941, true }, - { 145953, true }, - { 145963, true }, - { 145973, true }, - { 145983, true }, - { 145995, true }, - { 146006, true }, - { 146019, true }, - { 146027, true }, - { 146041, true }, - { 146051, true }, - { 146062, true }, - { 146069, true }, - { 146080, true }, - { 146088, true }, - { 146106, true }, - { 146122, true }, - { 146133, true }, - { 146149, false }, - { 146164, true }, - { 146174, true }, - { 146182, true }, - { 146193, true }, - { 146202, true }, - { 146211, true }, - { 146231, true }, - { 146245, true }, - { 146254, false }, - { 146265, true }, - { 146277, true }, - { 146296, true }, - { 146309, true }, - { 146325, true }, - { 146337, true }, - { 146350, true }, - { 146363, false }, - { 146374, true }, - { 146391, true }, - { 146403, true }, - { 146418, true }, - { 146428, true }, + { 145668, true }, + { 145678, true }, + { 145687, true }, + { 145699, true }, + { 145721, true }, + { 145740, true }, + { 145750, true }, + { 145761, true }, + { 145778, true }, + { 145791, true }, + { 145801, true }, + { 145815, true }, + { 145827, true }, + { 145838, true }, + { 145866, true }, + { 145884, true }, + { 145902, true }, + { 145916, true }, + { 145926, true }, + { 145940, true }, + { 145947, true }, + { 145957, true }, + { 145972, true }, + { 145994, true }, + { 146002, true }, + { 146012, true }, + { 146031, true }, + { 146043, true }, + { 146053, true }, + { 146063, true }, + { 146073, true }, + { 146085, true }, + { 146096, true }, + { 146109, true }, + { 146117, true }, + { 146131, true }, + { 146141, true }, + { 146152, true }, + { 146159, true }, + { 146170, true }, + { 146178, true }, + { 146196, true }, + { 146212, true }, + { 146223, true }, + { 146239, false }, + { 146254, true }, + { 146264, true }, + { 146272, true }, + { 146283, true }, + { 146292, true }, + { 146301, true }, + { 146321, true }, + { 146335, true }, + { 146344, false }, + { 146355, true }, + { 146367, true }, + { 146386, true }, + { 146399, true }, + { 146415, true }, + { 146427, true }, { 146440, true }, - { 146452, true }, - { 146463, true }, - { 146474, true }, - { 146486, true }, - { 146509, true }, - { 146519, true }, - { 146529, true }, - { 146545, true }, - { 146560, true }, - { 146573, true }, + { 146453, false }, + { 146464, true }, + { 146481, true }, + { 146493, true }, + { 146508, true }, + { 146518, true }, + { 146530, true }, + { 146542, true }, + { 146553, true }, + { 146564, true }, + { 146576, true }, { 146599, true }, - { 146608, true }, - { 146617, true }, - { 146632, true }, - { 146642, true }, - { 146655, true }, - { 146668, true }, - { 146683, true }, - { 146693, true }, - { 146710, true }, - { 146726, true }, - { 146740, false }, - { 146750, true }, - { 146764, true }, - { 146775, true }, - { 146791, true }, - { 146801, true }, - { 146815, true }, - { 146826, true }, - { 146839, true }, - { 146852, true }, - { 146869, true }, - { 146884, true }, - { 146896, true }, - { 146913, true }, - { 146931, true }, - { 146942, false }, - { 146957, true }, - { 146970, true }, - { 146991, true }, - { 147002, true }, - { 147017, true }, - { 147042, true }, - { 147050, true }, - { 147066, false }, + { 146609, true }, + { 146619, true }, + { 146635, true }, + { 146650, true }, + { 146663, true }, + { 146689, true }, + { 146698, true }, + { 146707, true }, + { 146722, true }, + { 146732, true }, + { 146745, true }, + { 146758, true }, + { 146773, true }, + { 146783, true }, + { 146800, true }, + { 146816, true }, + { 146830, false }, + { 146840, true }, + { 146854, true }, + { 146865, true }, + { 146881, true }, + { 146891, true }, + { 146905, true }, + { 146916, true }, + { 146929, true }, + { 146942, true }, + { 146959, true }, + { 146974, true }, + { 146986, true }, + { 147003, true }, + { 147021, true }, + { 147032, false }, + { 147047, true }, + { 147060, true }, { 147081, true }, - { 147093, true }, - { 147105, true }, - { 147119, true }, - { 147133, true }, - { 147147, true }, - { 147161, true }, - { 147178, true }, - { 147205, true }, - { 147222, true }, - { 147242, true }, - { 147254, true }, - { 147264, true }, - { 147278, true }, - { 147298, true }, - { 147313, true }, - { 147335, true }, - { 147349, true }, - { 147367, true }, + { 147092, true }, + { 147107, true }, + { 147132, true }, + { 147140, true }, + { 147156, false }, + { 147171, true }, + { 147183, true }, + { 147195, true }, + { 147209, true }, + { 147223, true }, + { 147237, true }, + { 147251, true }, + { 147268, true }, + { 147295, true }, + { 147312, true }, + { 147332, true }, + { 147344, true }, + { 147354, true }, + { 147368, true }, { 147388, true }, - { 147405, true }, - { 147419, true }, - { 147430, true }, - { 147444, true }, - { 147455, true }, - { 147471, true }, - { 147483, true }, - { 147496, true }, - { 147510, true }, - { 147527, true }, - { 147538, true }, - { 147552, true }, - { 147564, false }, - { 147589, true }, - { 147613, true }, - { 147623, false }, - { 147649, true }, - { 147666, true }, - { 147683, true }, - { 147697, true }, - { 147727, false }, - { 147741, true }, - { 147758, true }, - { 147772, true }, - { 147795, true }, - { 147803, true }, - { 147811, true }, - { 147819, true }, - { 147827, true }, - { 147835, true }, - { 147846, true }, - { 147856, true }, - { 147870, true }, - { 147889, true }, - { 147898, true }, - { 147911, true }, - { 147922, true }, - { 147933, true }, - { 147958, true }, - { 147970, true }, - { 147979, false }, - { 147995, true }, - { 148005, true }, - { 148020, true }, - { 148034, true }, - { 148047, true }, - { 148064, true }, - { 148080, true }, - { 148103, true }, - { 148125, true }, - { 148143, true }, - { 148162, false }, - { 148181, true }, - { 148194, true }, - { 148207, true }, - { 148231, true }, - { 148242, true }, - { 148261, true }, - { 148278, true }, - { 148291, true }, - { 148319, true }, + { 147403, true }, + { 147425, true }, + { 147439, true }, + { 147457, true }, + { 147478, true }, + { 147495, true }, + { 147509, true }, + { 147520, true }, + { 147534, true }, + { 147545, true }, + { 147561, true }, + { 147573, true }, + { 147586, true }, + { 147600, true }, + { 147617, true }, + { 147628, true }, + { 147642, true }, + { 147654, false }, + { 147679, true }, + { 147703, true }, + { 147713, false }, + { 147739, true }, + { 147756, true }, + { 147773, true }, + { 147787, true }, + { 147817, false }, + { 147831, true }, + { 147848, true }, + { 147862, true }, + { 147885, true }, + { 147893, true }, + { 147901, true }, + { 147909, true }, + { 147917, true }, + { 147925, true }, + { 147936, true }, + { 147946, true }, + { 147960, true }, + { 147979, true }, + { 147988, true }, + { 148001, true }, + { 148012, true }, + { 148023, true }, + { 148048, true }, + { 148060, true }, + { 148069, false }, + { 148085, true }, + { 148095, true }, + { 148110, true }, + { 148124, true }, + { 148137, true }, + { 148154, true }, + { 148170, true }, + { 148193, true }, + { 148215, true }, + { 148233, true }, + { 148252, false }, + { 148271, true }, + { 148284, true }, + { 148297, true }, + { 148321, true }, { 148332, true }, - { 148352, true }, - { 148363, true }, - { 148376, true }, - { 148391, true }, - { 148411, true }, - { 148431, true }, - { 148445, true }, - { 148458, true }, - { 148479, false }, - { 148490, true }, - { 148509, true }, - { 148528, true }, - { 148539, true }, - { 148557, true }, - { 148569, true }, + { 148351, true }, + { 148368, true }, + { 148381, true }, + { 148409, true }, + { 148422, true }, + { 148442, true }, + { 148453, true }, + { 148466, true }, + { 148481, true }, + { 148501, true }, + { 148521, true }, + { 148535, true }, + { 148548, true }, + { 148569, false }, { 148580, true }, - { 148610, true }, - { 148621, true }, - { 148635, true }, - { 148649, true }, - { 148661, true }, - { 148676, true }, - { 148695, true }, - { 148709, true }, - { 148729, true }, - { 148752, true }, - { 148767, true }, - { 148778, true }, - { 148802, true }, - { 148823, true }, - { 148836, true }, - { 148853, true }, - { 148871, true }, - { 148887, true }, - { 148905, true }, - { 148919, true }, - { 148941, true }, - { 148955, true }, - { 148971, true }, - { 148987, true }, - { 149007, true }, - { 149018, true }, - { 149032, true }, - { 149048, true }, - { 149063, true }, - { 149080, true }, - { 149090, true }, + { 148599, true }, + { 148618, true }, + { 148629, true }, + { 148647, true }, + { 148658, true }, + { 148688, true }, + { 148699, true }, + { 148713, true }, + { 148727, true }, + { 148739, true }, + { 148754, true }, + { 148773, true }, + { 148787, true }, + { 148807, true }, + { 148830, true }, + { 148845, true }, + { 148856, true }, + { 148880, true }, + { 148901, true }, + { 148914, true }, + { 148931, true }, + { 148949, true }, + { 148965, true }, + { 148983, true }, + { 148997, true }, + { 149019, true }, + { 149036, true }, + { 149050, true }, + { 149066, true }, + { 149082, true }, + { 149102, true }, { 149113, true }, - { 149129, true }, - { 149148, true }, - { 149163, true }, - { 149178, true }, - { 149189, true }, - { 149203, true }, - { 149220, true }, - { 149244, true }, - { 149260, true }, - { 149277, true }, - { 149296, true }, - { 149311, true }, - { 149322, true }, - { 149338, true }, - { 149354, true }, - { 149371, true }, - { 149383, true }, - { 149396, true }, - { 149416, true }, - { 149431, true }, - { 149450, true }, + { 149127, true }, + { 149143, true }, + { 149158, true }, + { 149175, true }, + { 149185, true }, + { 149208, true }, + { 149224, true }, + { 149243, true }, + { 149258, true }, + { 149273, true }, + { 149284, true }, + { 149298, true }, + { 149315, true }, + { 149339, true }, + { 149355, true }, + { 149372, true }, + { 149391, true }, + { 149406, true }, + { 149417, true }, + { 149433, true }, + { 149449, true }, { 149466, true }, - { 149479, true }, - { 149498, true }, - { 149518, true }, - { 149530, true }, - { 149547, true }, - { 149562, true }, + { 149478, true }, + { 149491, true }, + { 149511, true }, + { 149526, true }, + { 149545, true }, + { 149561, true }, { 149574, true }, - { 149587, true }, - { 149597, true }, - { 149614, true }, - { 149626, false }, - { 149636, true }, - { 149653, true }, - { 149676, true }, - { 149693, true }, - { 149712, true }, - { 149737, true }, - { 149770, true }, - { 149780, true }, - { 149794, true }, - { 149813, true }, - { 149827, true }, - { 149840, true }, - { 149859, true }, + { 149593, true }, + { 149613, true }, + { 149625, true }, + { 149642, true }, + { 149657, true }, + { 149669, true }, + { 149682, true }, + { 149692, true }, + { 149709, true }, + { 149721, false }, + { 149731, true }, + { 149748, true }, + { 149771, true }, + { 149788, true }, + { 149807, true }, + { 149832, true }, + { 149865, true }, + { 149875, true }, { 149889, true }, - { 149903, true }, - { 149917, true }, - { 149929, true }, - { 149944, true }, - { 149964, true }, - { 149978, true }, - { 149990, true }, - { 150010, true }, - { 150028, true }, - { 150046, true }, - { 150057, true }, - { 150070, true }, - { 150083, true }, - { 150096, true }, - { 150107, true }, - { 150122, true }, - { 150133, true }, - { 150160, true }, - { 150176, true }, - { 150190, true }, + { 149908, true }, + { 149922, true }, + { 149935, true }, + { 149954, true }, + { 149984, true }, + { 149998, true }, + { 150012, true }, + { 150024, true }, + { 150039, true }, + { 150059, true }, + { 150073, true }, + { 150085, true }, + { 150105, true }, + { 150123, true }, + { 150141, true }, + { 150152, true }, + { 150165, true }, + { 150178, true }, + { 150191, true }, { 150202, true }, - { 150219, true }, - { 150233, true }, - { 150241, true }, - { 150260, true }, - { 150282, true }, - { 150299, true }, - { 150308, true }, - { 150321, true }, - { 150331, false }, - { 150343, true }, - { 150354, true }, - { 150364, true }, - { 150387, true }, - { 150401, true }, + { 150217, true }, + { 150228, true }, + { 150255, true }, + { 150271, true }, + { 150285, true }, + { 150297, true }, + { 150314, true }, + { 150328, true }, + { 150336, true }, + { 150355, true }, + { 150377, true }, + { 150394, true }, + { 150403, true }, { 150416, true }, - { 150440, true }, + { 150426, false }, + { 150438, true }, + { 150449, true }, { 150459, true }, - { 150473, true }, - { 150487, true }, - { 150508, true }, - { 150518, true }, - { 150534, true }, - { 150562, true }, - { 150578, true }, - { 150595, true }, - { 150608, true }, - { 150625, true }, - { 150641, true }, - { 150660, true }, + { 150482, true }, + { 150496, true }, + { 150511, true }, + { 150535, true }, + { 150554, true }, + { 150568, true }, + { 150582, true }, + { 150603, true }, + { 150613, true }, + { 150629, true }, + { 150657, true }, { 150673, true }, - { 150687, true }, - { 150700, true }, - { 150711, true }, - { 150719, true }, - { 150735, true }, - { 150748, true }, + { 150690, true }, + { 150703, true }, + { 150720, true }, + { 150736, true }, + { 150755, true }, { 150768, true }, { 150782, true }, - { 150802, true }, - { 150818, false }, - { 150835, true }, - { 150854, true }, - { 150871, true }, - { 150885, true }, - { 150906, true }, - { 150925, true }, - { 150943, true }, - { 150956, true }, + { 150795, true }, + { 150806, true }, + { 150814, true }, + { 150830, true }, + { 150843, true }, + { 150863, true }, + { 150877, true }, + { 150897, true }, + { 150913, false }, + { 150930, true }, + { 150949, true }, { 150966, true }, - { 150984, true }, - { 150997, true }, - { 151017, true }, - { 151026, false }, - { 151043, false }, - { 151066, true }, - { 151087, true }, - { 151096, true }, + { 150980, true }, + { 151001, true }, + { 151020, true }, + { 151038, true }, + { 151051, true }, + { 151061, true }, + { 151079, true }, + { 151092, true }, { 151112, true }, - { 151130, true }, - { 151142, true }, - { 151155, true }, - { 151168, true }, - { 151184, true }, - { 151192, true }, + { 151121, false }, + { 151138, false }, + { 151161, true }, + { 151182, true }, + { 151191, true }, { 151207, true }, - { 151223, false }, - { 151235, true }, - { 151245, true }, - { 151259, true }, - { 151273, true }, - { 151288, true }, - { 151298, true }, - { 151317, true }, + { 151225, true }, + { 151237, true }, + { 151250, true }, + { 151263, true }, + { 151279, true }, + { 151287, true }, + { 151302, true }, + { 151318, false }, { 151330, true }, - { 151345, true }, - { 151360, true }, - { 151379, true }, - { 151401, true }, - { 151419, true }, - { 151438, true }, - { 151452, true }, - { 151463, true }, - { 151477, true }, - { 151491, true }, - { 151504, false }, - { 151526, true }, - { 151543, true }, - { 151552, true }, - { 151570, true }, - { 151587, true }, - { 151600, true }, - { 151608, true }, - { 151619, true }, - { 151633, true }, - { 151645, false }, + { 151340, true }, + { 151354, true }, + { 151368, true }, + { 151383, true }, + { 151393, true }, + { 151412, true }, + { 151425, true }, + { 151440, true }, + { 151455, true }, + { 151474, true }, + { 151496, true }, + { 151514, true }, + { 151533, true }, + { 151547, true }, + { 151558, true }, + { 151572, true }, + { 151586, true }, + { 151599, false }, + { 151621, true }, + { 151638, true }, + { 151647, true }, { 151665, true }, { 151682, true }, - { 151690, true }, - { 151701, false }, - { 151710, false }, - { 151726, true }, - { 151741, false }, - { 151759, true }, - { 151772, true }, - { 151788, true }, - { 151798, true }, - { 151809, false }, - { 151824, true }, - { 151836, true }, - { 151849, true }, - { 151862, true }, - { 151873, true }, - { 151887, true }, - { 151900, true }, - { 151917, false }, - { 151934, true }, - { 151941, true }, - { 151949, true }, - { 151958, true }, - { 151970, true }, - { 151993, true }, - { 152007, true }, - { 152021, true }, - { 152038, true }, - { 152049, true }, - { 152063, true }, - { 152079, true }, - { 152093, true }, - { 152100, true }, - { 152110, true }, - { 152121, true }, - { 152132, true }, - { 152147, true }, - { 152159, true }, - { 152167, true }, - { 152179, true }, - { 152194, false }, - { 152204, true }, + { 151695, true }, + { 151703, true }, + { 151714, true }, + { 151728, true }, + { 151740, false }, + { 151760, true }, + { 151777, true }, + { 151785, true }, + { 151796, false }, + { 151805, false }, + { 151821, true }, + { 151836, false }, + { 151854, true }, + { 151867, true }, + { 151883, true }, + { 151893, true }, + { 151904, false }, + { 151919, true }, + { 151931, true }, + { 151944, true }, + { 151957, true }, + { 151968, true }, + { 151982, true }, + { 151995, true }, + { 152012, false }, + { 152029, true }, + { 152036, true }, + { 152044, true }, + { 152053, true }, + { 152065, true }, + { 152088, true }, + { 152102, true }, + { 152116, true }, + { 152133, true }, + { 152144, true }, + { 152158, true }, + { 152174, true }, + { 152188, true }, + { 152195, true }, + { 152205, true }, { 152216, true }, - { 152228, true }, - { 152240, true }, - { 152255, true }, - { 152284, true }, - { 152298, true }, - { 152306, true }, - { 152318, true }, - { 152326, true }, + { 152227, true }, + { 152242, true }, + { 152254, true }, + { 152262, true }, + { 152274, true }, + { 152289, false }, + { 152299, true }, + { 152311, true }, + { 152323, true }, { 152335, true }, - { 152348, true }, - { 152356, true }, - { 152366, true }, - { 152377, true }, - { 152384, true }, + { 152350, true }, + { 152379, true }, { 152393, true }, - { 152403, true }, - { 152423, true }, - { 152435, true }, - { 152447, true }, - { 152457, true }, - { 152466, false }, - { 152475, true }, - { 152498, false }, - { 152519, true }, + { 152401, true }, + { 152413, true }, + { 152421, true }, + { 152430, true }, + { 152443, true }, + { 152451, true }, + { 152461, true }, + { 152472, true }, + { 152479, true }, + { 152488, true }, + { 152498, true }, + { 152518, true }, { 152530, true }, - { 152543, true }, + { 152542, true }, { 152552, true }, - { 152566, true }, - { 152583, true }, - { 152599, true }, - { 152617, true }, - { 152635, true }, - { 152649, true }, - { 152666, true }, + { 152561, false }, + { 152570, true }, + { 152593, false }, + { 152614, true }, + { 152625, true }, + { 152638, true }, + { 152647, true }, + { 152661, true }, { 152678, true }, - { 152691, true }, - { 152705, true }, - { 152723, true }, - { 152737, true }, - { 152749, true }, - { 152765, false }, - { 152783, true }, + { 152694, true }, + { 152712, true }, + { 152730, true }, + { 152744, true }, + { 152761, true }, + { 152773, true }, + { 152786, true }, { 152800, true }, - { 152822, true }, - { 152833, true }, + { 152818, true }, + { 152832, true }, { 152844, true }, - { 152858, true }, - { 152874, true }, - { 152885, true }, - { 152896, true }, - { 152908, true }, - { 152922, true }, - { 152933, true }, - { 152943, true }, - { 152955, true }, - { 152971, true }, - { 153000, true }, - { 153015, true }, - { 153031, true }, - { 153057, true }, - { 153074, true }, - { 153093, true }, + { 152860, false }, + { 152878, true }, + { 152895, true }, + { 152917, true }, + { 152928, true }, + { 152939, true }, + { 152953, true }, + { 152969, true }, + { 152980, true }, + { 152991, true }, + { 153003, true }, + { 153017, true }, + { 153028, true }, + { 153038, true }, + { 153050, true }, + { 153066, true }, + { 153095, true }, { 153110, true }, { 153126, true }, - { 153137, true }, - { 153145, true }, - { 153157, true }, - { 153174, true }, - { 153187, true }, - { 153202, true }, - { 153214, true }, - { 153227, true }, - { 153241, true }, - { 153253, true }, - { 153265, true }, - { 153279, true }, - { 153296, true }, + { 153152, true }, + { 153169, true }, + { 153188, true }, + { 153205, true }, + { 153221, true }, + { 153232, true }, + { 153240, true }, + { 153252, true }, + { 153269, true }, + { 153282, true }, + { 153297, true }, { 153309, true }, - { 153324, true }, - { 153337, true }, - { 153350, true }, - { 153362, true }, - { 153373, true }, + { 153322, true }, + { 153336, true }, + { 153348, true }, + { 153360, true }, + { 153374, true }, { 153391, true }, - { 153418, true }, - { 153437, true }, - { 153463, true }, - { 153480, true }, - { 153508, true }, - { 153521, true }, - { 153535, true }, - { 153552, true }, - { 153569, true }, - { 153580, true }, - { 153601, true }, - { 153623, true }, - { 153645, true }, - { 153657, true }, - { 153665, true }, - { 153686, true }, - { 153707, true }, - { 153728, true }, - { 153746, true }, - { 153762, true }, - { 153774, true }, - { 153789, true }, - { 153801, true }, - { 153819, true }, - { 153832, true }, - { 153842, true }, - { 153854, true }, - { 153868, true }, + { 153404, true }, + { 153419, true }, + { 153432, true }, + { 153445, true }, + { 153457, true }, + { 153468, true }, + { 153486, true }, + { 153513, true }, + { 153532, true }, + { 153558, true }, + { 153575, true }, + { 153603, true }, + { 153616, true }, + { 153630, true }, + { 153647, true }, + { 153664, true }, + { 153675, true }, + { 153696, true }, + { 153718, true }, + { 153740, true }, + { 153752, true }, + { 153760, true }, + { 153781, true }, + { 153802, true }, + { 153823, true }, + { 153841, true }, + { 153857, true }, + { 153869, true }, { 153884, true }, - { 153910, false }, - { 153939, true }, - { 153950, true }, - { 153974, true }, - { 153989, true }, - { 154005, true }, - { 154020, true }, - { 154049, true }, - { 154062, true }, - { 154080, true }, - { 154099, true }, - { 154110, true }, - { 154119, true }, - { 154133, true }, - { 154149, true }, - { 154172, true }, - { 154199, true }, - { 154217, true }, + { 153896, true }, + { 153914, true }, + { 153927, true }, + { 153937, true }, + { 153949, true }, + { 153963, true }, + { 153979, true }, + { 154005, false }, + { 154034, true }, + { 154045, true }, + { 154069, true }, + { 154084, true }, + { 154100, true }, + { 154115, true }, + { 154144, true }, + { 154157, true }, + { 154175, true }, + { 154194, true }, + { 154205, true }, + { 154214, true }, + { 154228, true }, { 154244, true }, - { 154270, true }, - { 154287, false }, - { 154298, true }, - { 154308, true }, - { 154323, true }, - { 154334, true }, - { 154357, true }, - { 154375, true }, - { 154388, true }, - { 154399, true }, + { 154267, true }, + { 154294, true }, + { 154312, true }, + { 154339, true }, + { 154365, true }, + { 154382, false }, + { 154393, true }, + { 154403, true }, { 154418, true }, - { 154440, true }, - { 154459, true }, - { 154473, true }, - { 154485, false }, - { 154505, true }, - { 154515, true }, - { 154529, true }, - { 154547, true }, - { 154561, true }, - { 154574, true }, - { 154586, false }, + { 154429, true }, + { 154452, true }, + { 154470, true }, + { 154483, true }, + { 154494, true }, + { 154513, true }, + { 154535, true }, + { 154554, true }, + { 154568, true }, + { 154580, false }, { 154600, true }, - { 154612, true }, - { 154625, true }, - { 154635, true }, - { 154647, true }, - { 154655, true }, + { 154610, true }, + { 154624, true }, + { 154642, true }, + { 154656, true }, { 154669, true }, - { 154686, true }, - { 154700, true }, - { 154721, true }, - { 154733, true }, - { 154748, true }, + { 154681, false }, + { 154695, true }, + { 154707, true }, + { 154720, true }, + { 154730, true }, + { 154742, true }, + { 154750, true }, { 154764, true }, - { 154776, true }, - { 154788, true }, - { 154800, true }, - { 154812, true }, - { 154824, true }, - { 154836, true }, - { 154848, true }, - { 154860, true }, - { 154876, false }, - { 154896, true }, - { 154909, true }, - { 154918, true }, - { 154932, true }, - { 154948, true }, - { 154961, true }, - { 154974, true }, - { 154997, true }, - { 155010, true }, - { 155018, true }, - { 155033, true }, + { 154781, true }, + { 154795, true }, + { 154816, true }, + { 154828, true }, + { 154843, true }, + { 154859, true }, + { 154871, true }, + { 154883, true }, + { 154895, true }, + { 154907, true }, + { 154919, true }, + { 154931, true }, + { 154943, true }, + { 154955, true }, + { 154971, false }, + { 154991, true }, + { 155004, true }, + { 155013, true }, + { 155027, true }, { 155043, true }, - { 155061, true }, - { 155075, true }, - { 155089, true }, - { 155099, true }, - { 155108, true }, - { 155121, false }, - { 155137, true }, - { 155152, true }, - { 155164, true }, - { 155180, true }, - { 155192, true }, + { 155056, true }, + { 155069, true }, + { 155092, true }, + { 155105, true }, + { 155113, true }, + { 155128, true }, + { 155138, true }, + { 155156, true }, + { 155170, true }, + { 155184, true }, + { 155194, true }, { 155203, true }, - { 155212, true }, - { 155219, true }, - { 155234, true }, - { 155249, true }, - { 155261, true }, - { 155279, true }, - { 155301, true }, - { 155320, true }, - { 155339, true }, + { 155216, false }, + { 155232, true }, + { 155247, true }, + { 155259, true }, + { 155275, true }, + { 155287, true }, + { 155298, true }, + { 155307, true }, + { 155314, true }, + { 155329, true }, + { 155344, true }, { 155356, true }, - { 155378, true }, - { 155398, true }, - { 155417, true }, + { 155374, true }, + { 155396, true }, + { 155415, true }, { 155434, true }, - { 155452, true }, - { 155470, true }, - { 155487, true }, - { 155505, true }, - { 155527, true }, - { 155544, true }, - { 155562, true }, - { 155579, true }, - { 155593, true }, - { 155610, true }, - { 155626, true }, - { 155643, true }, - { 155660, true }, - { 155681, true }, - { 155696, true }, - { 155720, true }, - { 155737, true }, - { 155748, true }, - { 155761, true }, - { 155774, true }, - { 155786, true }, - { 155796, true }, - { 155811, true }, - { 155822, true }, - { 155842, true }, - { 155851, true }, - { 155876, true }, - { 155888, true }, + { 155451, true }, + { 155473, true }, + { 155493, true }, + { 155512, true }, + { 155529, true }, + { 155547, true }, + { 155565, true }, + { 155582, true }, + { 155600, true }, + { 155622, true }, + { 155639, true }, + { 155657, true }, + { 155674, true }, + { 155688, true }, + { 155705, true }, + { 155721, true }, + { 155738, true }, + { 155755, true }, + { 155776, true }, + { 155791, true }, + { 155815, true }, + { 155832, true }, + { 155843, true }, + { 155856, true }, + { 155869, true }, + { 155881, true }, + { 155891, true }, { 155906, true }, - { 155922, true }, - { 155933, true }, - { 155949, true }, - { 155969, true }, - { 155992, true }, - { 156013, true }, - { 156026, true }, + { 155917, true }, + { 155937, true }, + { 155946, true }, + { 155971, true }, + { 155983, true }, + { 156001, true }, + { 156017, true }, + { 156028, true }, { 156044, true }, - { 156063, true }, - { 156072, false }, - { 156086, true }, - { 156097, true }, - { 156110, true }, - { 156124, true }, + { 156064, true }, + { 156087, true }, + { 156108, true }, + { 156121, true }, { 156139, true }, - { 156150, true }, - { 156166, true }, - { 156179, true }, - { 156188, true }, - { 156202, true }, - { 156215, true }, - { 156229, true }, - { 156240, true }, - { 156248, true }, + { 156158, true }, + { 156167, false }, + { 156181, true }, + { 156192, true }, + { 156205, true }, + { 156219, true }, + { 156234, true }, + { 156245, true }, { 156261, true }, - { 156273, true }, - { 156286, true }, - { 156296, true }, + { 156274, true }, + { 156283, true }, + { 156297, true }, { 156310, true }, { 156324, true }, - { 156333, true }, - { 156348, true }, - { 156359, true }, - { 156372, true }, - { 156383, true }, - { 156396, true }, - { 156410, true }, - { 156428, true }, - { 156441, true }, + { 156335, true }, + { 156343, true }, + { 156356, true }, + { 156368, true }, + { 156381, true }, + { 156391, true }, + { 156405, true }, + { 156414, true }, + { 156429, true }, + { 156440, true }, { 156453, true }, - { 156468, true }, - { 156486, true }, - { 156502, true }, - { 156514, true }, - { 156527, true }, - { 156539, true }, - { 156554, true }, - { 156564, true }, - { 156574, true }, - { 156588, true }, - { 156603, true }, + { 156464, true }, + { 156477, true }, + { 156491, true }, + { 156509, true }, + { 156522, true }, + { 156534, true }, + { 156549, true }, + { 156567, true }, + { 156583, true }, + { 156595, true }, + { 156608, true }, { 156620, true }, - { 156631, true }, + { 156635, true }, { 156645, true }, - { 156659, true }, - { 156670, true }, - { 156682, true }, - { 156709, true }, - { 156723, true }, - { 156731, true }, - { 156753, true }, - { 156767, true }, - { 156781, true }, - { 156792, true }, - { 156811, true }, - { 156830, true }, - { 156849, true }, - { 156868, true }, - { 156888, true }, - { 156908, true }, - { 156928, true }, - { 156946, true }, - { 156965, true }, - { 156984, true }, - { 157003, true }, - { 157022, true }, - { 157036, true }, - { 157049, true }, - { 157061, true }, - { 157074, false }, - { 157096, true }, - { 157111, true }, - { 157123, true }, - { 157148, true }, - { 157157, true }, - { 157171, true }, - { 157182, true }, - { 157194, true }, - { 157211, true }, - { 157224, true }, - { 157239, true }, - { 157255, true }, - { 157273, true }, - { 157286, true }, - { 157310, true }, - { 157333, true }, - { 157359, true }, - { 157371, true }, - { 157385, true }, - { 157400, true }, - { 157413, true }, - { 157424, true }, - { 157434, true }, - { 157448, true }, - { 157463, true }, - { 157472, true }, - { 157485, true }, - { 157501, true }, - { 157520, true }, - { 157534, true }, - { 157549, true }, - { 157560, true }, - { 157570, true }, + { 156655, true }, + { 156669, true }, + { 156684, true }, + { 156701, true }, + { 156712, true }, + { 156726, true }, + { 156740, true }, + { 156751, true }, + { 156763, true }, + { 156790, true }, + { 156804, true }, + { 156812, true }, + { 156834, true }, + { 156848, true }, + { 156862, true }, + { 156873, true }, + { 156892, true }, + { 156911, true }, + { 156930, true }, + { 156949, true }, + { 156969, true }, + { 156989, true }, + { 157009, true }, + { 157027, true }, + { 157046, true }, + { 157065, true }, + { 157084, true }, + { 157103, true }, + { 157117, true }, + { 157130, true }, + { 157142, true }, + { 157155, false }, + { 157177, true }, + { 157192, true }, + { 157204, true }, + { 157229, true }, + { 157238, true }, + { 157252, true }, + { 157263, true }, + { 157275, true }, + { 157292, true }, + { 157305, true }, + { 157320, true }, + { 157336, true }, + { 157354, true }, + { 157367, true }, + { 157391, true }, + { 157414, true }, + { 157440, true }, + { 157452, true }, + { 157466, true }, + { 157481, true }, + { 157494, true }, + { 157505, true }, + { 157515, true }, + { 157529, true }, + { 157544, true }, + { 157553, true }, + { 157566, true }, { 157582, true }, - { 157597, true }, - { 157614, true }, - { 157638, true }, - { 157669, true }, - { 157684, true }, - { 157702, true }, - { 157723, true }, - { 157737, true }, - { 157755, true }, + { 157601, true }, + { 157615, true }, + { 157630, true }, + { 157641, true }, + { 157651, true }, + { 157663, true }, + { 157678, true }, + { 157695, true }, + { 157719, true }, + { 157750, true }, { 157765, true }, - { 157777, true }, - { 157787, true }, + { 157783, true }, { 157804, true }, - { 157817, true }, - { 157832, true }, - { 157845, true }, + { 157818, true }, + { 157836, true }, + { 157846, true }, { 157858, true }, - { 157866, true }, - { 157884, true }, - { 157915, true }, - { 157933, true }, - { 157944, true }, - { 157959, true }, - { 157976, true }, - { 157991, true }, - { 158004, true }, - { 158016, true }, - { 158031, true }, - { 158047, true }, - { 158067, true }, - { 158082, true }, - { 158098, true }, - { 158111, true }, - { 158125, true }, - { 158137, true }, - { 158145, true }, - { 158161, true }, - { 158174, true }, - { 158184, true }, - { 158198, true }, - { 158208, true }, - { 158228, true }, - { 158237, true }, - { 158246, true }, - { 158260, true }, - { 158268, true }, + { 157868, true }, + { 157885, true }, + { 157898, true }, + { 157913, true }, + { 157926, true }, + { 157939, true }, + { 157947, true }, + { 157965, true }, + { 157996, true }, + { 158014, true }, + { 158025, true }, + { 158040, true }, + { 158057, true }, + { 158072, true }, + { 158085, true }, + { 158097, true }, + { 158112, true }, + { 158128, true }, + { 158148, true }, + { 158163, true }, + { 158179, true }, + { 158192, true }, + { 158206, true }, + { 158218, true }, + { 158226, true }, + { 158242, true }, + { 158255, true }, + { 158265, true }, { 158279, true }, - { 158288, true }, - { 158296, true }, - { 158308, true }, - { 158321, true }, - { 158340, true }, - { 158350, true }, - { 158359, true }, - { 158375, true }, - { 158386, true }, - { 158399, true }, - { 158406, true }, - { 158422, true }, - { 158433, true }, + { 158289, true }, + { 158309, true }, + { 158318, true }, + { 158327, true }, + { 158341, true }, + { 158349, true }, + { 158360, true }, + { 158369, true }, + { 158377, true }, + { 158389, true }, + { 158402, true }, + { 158421, true }, + { 158431, true }, { 158440, true }, - { 158463, true }, - { 158472, true }, - { 158492, true }, - { 158500, true }, - { 158510, true }, - { 158531, true }, - { 158543, true }, - { 158552, true }, - { 158560, true }, - { 158569, true }, - { 158580, true }, - { 158591, true }, - { 158601, true }, - { 158612, true }, - { 158619, true }, - { 158629, true }, - { 158638, true }, - { 158649, true }, - { 158661, true }, - { 158667, true }, + { 158456, true }, + { 158467, true }, + { 158480, true }, + { 158496, true }, + { 158507, true }, + { 158514, true }, + { 158537, true }, + { 158546, true }, + { 158566, true }, + { 158574, true }, + { 158584, true }, + { 158605, true }, + { 158617, true }, + { 158626, true }, + { 158634, true }, + { 158643, true }, + { 158654, true }, + { 158665, true }, { 158675, true }, - { 158689, true }, - { 158699, true }, - { 158715, true }, - { 158727, true }, - { 158757, true }, - { 158777, true }, - { 158791, false }, - { 158809, false }, - { 158825, true }, - { 158840, true }, - { 158860, true }, - { 158876, true }, - { 158891, true }, - { 158912, true }, - { 158926, true }, - { 158945, true }, - { 158956, true }, - { 158966, true }, - { 158984, true }, - { 158997, true }, - { 159008, true }, - { 159022, true }, - { 159036, true }, - { 159051, true }, - { 159084, true }, - { 159104, true }, - { 159120, true }, - { 159133, true }, - { 159153, false }, - { 159169, true }, - { 159183, true }, - { 159202, true }, - { 159217, true }, - { 159232, true }, - { 159247, true }, - { 159273, true }, + { 158686, true }, + { 158693, true }, + { 158703, true }, + { 158712, true }, + { 158723, true }, + { 158735, true }, + { 158741, true }, + { 158749, true }, + { 158763, true }, + { 158773, true }, + { 158789, true }, + { 158801, true }, + { 158831, true }, + { 158851, true }, + { 158865, false }, + { 158883, false }, + { 158899, true }, + { 158914, true }, + { 158934, true }, + { 158950, true }, + { 158965, true }, + { 158986, true }, + { 159000, true }, + { 159019, true }, + { 159030, true }, + { 159040, true }, + { 159058, true }, + { 159071, true }, + { 159082, true }, + { 159096, true }, + { 159110, true }, + { 159124, true }, + { 159139, true }, + { 159172, true }, + { 159192, true }, + { 159208, true }, + { 159221, true }, + { 159241, false }, + { 159257, true }, + { 159271, true }, { 159290, true }, - { 159303, true }, - { 159319, true }, - { 159327, true }, - { 159334, true }, - { 159346, true }, - { 159358, true }, - { 159373, true }, - { 159383, true }, - { 159395, true }, - { 159406, true }, - { 159418, true }, - { 159435, true }, + { 159305, true }, + { 159320, true }, + { 159335, true }, + { 159361, true }, + { 159378, true }, + { 159391, true }, + { 159407, true }, + { 159415, true }, + { 159422, true }, + { 159434, true }, { 159446, true }, - { 159466, true }, - { 159486, true }, - { 159497, false }, - { 159515, true }, - { 159528, true }, - { 159539, true }, - { 159549, true }, - { 159563, true }, - { 159575, true }, - { 159586, true }, - { 159595, true }, - { 159608, true }, - { 159625, true }, - { 159636, true }, - { 159652, true }, - { 159664, true }, - { 159674, false }, - { 159689, true }, - { 159704, true }, + { 159461, true }, + { 159471, true }, + { 159483, true }, + { 159494, true }, + { 159506, true }, + { 159523, true }, + { 159534, true }, + { 159554, true }, + { 159574, true }, + { 159585, false }, + { 159603, true }, + { 159616, true }, + { 159627, true }, + { 159637, true }, + { 159651, true }, + { 159663, true }, + { 159674, true }, + { 159683, true }, + { 159696, true }, { 159713, true }, - { 159728, true }, - { 159741, true }, - { 159757, true }, - { 159769, true }, - { 159780, true }, - { 159794, true }, - { 159805, true }, - { 159827, true }, - { 159848, true }, - { 159861, true }, - { 159880, true }, - { 159892, true }, - { 159905, true }, - { 159914, true }, - { 159929, true }, - { 159943, true }, - { 159956, true }, + { 159724, true }, + { 159740, true }, + { 159752, true }, + { 159762, false }, + { 159777, true }, + { 159792, true }, + { 159801, true }, + { 159816, true }, + { 159829, true }, + { 159845, true }, + { 159857, true }, + { 159868, true }, + { 159882, true }, + { 159893, true }, + { 159915, true }, + { 159936, true }, + { 159949, true }, { 159968, true }, - { 159985, true }, - { 160009, true }, - { 160030, true }, - { 160043, true }, - { 160061, true }, - { 160082, true }, - { 160099, true }, - { 160111, true }, - { 160128, true }, - { 160140, true }, - { 160154, true }, - { 160172, true }, - { 160185, true }, - { 160192, true }, - { 160204, true }, - { 160214, true }, + { 159980, true }, + { 159993, true }, + { 160002, true }, + { 160017, true }, + { 160031, true }, + { 160044, true }, + { 160056, true }, + { 160073, true }, + { 160097, true }, + { 160118, true }, + { 160131, true }, + { 160149, true }, + { 160170, true }, + { 160187, true }, + { 160199, true }, + { 160216, true }, { 160228, true }, - { 160241, true }, - { 160254, true }, - { 160267, true }, - { 160284, true }, - { 160299, true }, - { 160313, true }, - { 160325, true }, - { 160338, true }, - { 160358, true }, - { 160378, true }, - { 160393, true }, - { 160408, true }, - { 160423, true }, - { 160442, true }, - { 160461, true }, - { 160480, true }, - { 160495, true }, - { 160506, true }, - { 160519, false }, - { 160532, true }, - { 160547, false }, - { 160557, true }, - { 160571, true }, - { 160582, true }, - { 160597, true }, - { 160613, true }, - { 160626, true }, - { 160639, true }, + { 160242, true }, + { 160260, true }, + { 160273, true }, + { 160280, true }, + { 160292, true }, + { 160302, true }, + { 160316, true }, + { 160329, true }, + { 160342, true }, + { 160355, true }, + { 160372, true }, + { 160387, true }, + { 160401, true }, + { 160413, true }, + { 160426, true }, + { 160446, true }, + { 160466, true }, + { 160481, true }, + { 160496, true }, + { 160511, true }, + { 160530, true }, + { 160549, true }, + { 160568, true }, + { 160583, true }, + { 160594, true }, + { 160607, false }, + { 160620, true }, + { 160635, false }, + { 160645, true }, { 160659, true }, - { 160668, true }, - { 160678, true }, - { 160694, true }, - { 160710, true }, - { 160723, true }, - { 160740, true }, - { 160755, true }, - { 160764, true }, - { 160778, true }, - { 160788, true }, - { 160801, true }, - { 160814, true }, - { 160832, true }, - { 160840, false }, - { 160853, true }, + { 160670, true }, + { 160685, true }, + { 160701, true }, + { 160714, true }, + { 160727, true }, + { 160747, true }, + { 160756, true }, + { 160766, true }, + { 160782, true }, + { 160798, true }, + { 160811, true }, + { 160828, true }, + { 160843, true }, + { 160852, true }, { 160866, true }, + { 160876, true }, { 160889, true }, - { 160918, true }, - { 160936, true }, - { 160967, true }, - { 160997, true }, - { 161019, true }, - { 161035, true }, - { 161046, false }, - { 161059, true }, - { 161071, true }, - { 161087, true }, - { 161102, true }, - { 161119, false }, - { 161138, true }, - { 161157, true }, - { 161168, true }, - { 161178, true }, - { 161188, true }, - { 161203, true }, - { 161217, true }, - { 161228, true }, - { 161238, true }, - { 161248, true }, - { 161260, true }, + { 160902, true }, + { 160920, true }, + { 160928, false }, + { 160941, true }, + { 160954, true }, + { 160977, true }, + { 161006, true }, + { 161024, true }, + { 161055, true }, + { 161085, true }, + { 161107, true }, + { 161123, true }, + { 161134, false }, + { 161147, true }, + { 161159, true }, + { 161175, true }, + { 161190, true }, + { 161207, false }, + { 161226, true }, + { 161245, true }, + { 161256, true }, + { 161266, true }, { 161276, true }, - { 161287, true }, - { 161304, true }, - { 161317, true }, - { 161330, true }, - { 161340, true }, - { 161351, true }, - { 161361, false }, - { 161376, true }, - { 161391, true }, - { 161408, true }, - { 161425, true }, - { 161440, true }, - { 161450, true }, - { 161460, true }, - { 161473, true }, - { 161489, true }, - { 161502, true }, - { 161512, true }, - { 161529, true }, - { 161541, true }, - { 161555, true }, - { 161569, true }, - { 161580, true }, - { 161597, true }, - { 161610, true }, - { 161619, true }, - { 161630, true }, - { 161640, true }, - { 161654, true }, - { 161665, true }, - { 161674, true }, - { 161688, true }, + { 161291, true }, + { 161305, true }, + { 161316, true }, + { 161326, true }, + { 161336, true }, + { 161348, true }, + { 161364, true }, + { 161375, true }, + { 161392, true }, + { 161405, true }, + { 161418, true }, + { 161428, true }, + { 161439, true }, + { 161449, false }, + { 161464, true }, + { 161479, true }, + { 161496, true }, + { 161513, true }, + { 161528, true }, + { 161538, true }, + { 161548, true }, + { 161561, true }, + { 161577, true }, + { 161590, true }, + { 161600, true }, + { 161617, true }, + { 161629, true }, + { 161643, true }, + { 161657, true }, + { 161668, true }, + { 161685, true }, { 161698, true }, - { 161708, true }, - { 161724, true }, - { 161732, true }, - { 161743, true }, - { 161755, true }, - { 161765, true }, - { 161774, true }, - { 161782, true }, - { 161795, true }, - { 161806, false }, - { 161814, true }, - { 161832, true }, - { 161839, true }, - { 161850, false }, + { 161707, true }, + { 161718, true }, + { 161728, true }, + { 161742, true }, + { 161753, true }, + { 161762, true }, + { 161776, true }, + { 161786, true }, + { 161796, true }, + { 161812, true }, + { 161820, true }, + { 161831, true }, + { 161843, true }, + { 161853, true }, + { 161862, true }, { 161870, true }, - { 161877, true }, - { 161892, true }, - { 161903, false }, - { 161919, true }, - { 161935, true }, - { 161951, true }, - { 161966, true }, - { 161978, true }, - { 161998, true }, - { 162012, true }, - { 162024, true }, - { 162040, true }, - { 162050, true }, - { 162063, true }, - { 162081, true }, - { 162095, true }, + { 161883, true }, + { 161894, false }, + { 161902, true }, + { 161920, true }, + { 161927, true }, + { 161938, false }, + { 161958, true }, + { 161965, true }, + { 161980, true }, + { 161991, false }, + { 162007, true }, + { 162023, true }, + { 162039, true }, + { 162054, true }, + { 162066, true }, + { 162086, true }, + { 162100, true }, { 162112, true }, - { 162131, true }, - { 162147, true }, - { 162159, true }, - { 162178, true }, - { 162201, true }, - { 162213, true }, - { 162225, true }, - { 162238, true }, - { 162260, true }, - { 162274, true }, - { 162285, true }, - { 162295, true }, - { 162306, true }, - { 162323, true }, - { 162338, true }, - { 162347, true }, - { 162356, true }, - { 162371, true }, - { 162379, true }, - { 162396, true }, - { 162410, true }, + { 162128, true }, + { 162138, true }, + { 162151, true }, + { 162169, true }, + { 162183, true }, + { 162200, true }, + { 162219, true }, + { 162235, true }, + { 162247, true }, + { 162266, true }, + { 162289, true }, + { 162301, true }, + { 162313, true }, + { 162326, true }, + { 162348, true }, + { 162362, true }, + { 162373, true }, + { 162383, true }, + { 162394, true }, + { 162411, true }, { 162426, true }, - { 162448, true }, - { 162464, true }, - { 162478, true }, - { 162486, true }, - { 162503, true }, - { 162520, true }, - { 162534, true }, - { 162553, true }, - { 162569, false }, - { 162583, true }, - { 162596, true }, - { 162613, true }, - { 162628, true }, - { 162647, true }, - { 162658, true }, - { 162669, true }, - { 162683, true }, - { 162697, true }, - { 162712, true }, - { 162733, true }, - { 162749, true }, - { 162767, true }, + { 162435, true }, + { 162444, true }, + { 162459, true }, + { 162467, true }, + { 162484, true }, + { 162498, true }, + { 162514, true }, + { 162536, true }, + { 162552, true }, + { 162566, true }, + { 162574, true }, + { 162591, true }, + { 162608, true }, + { 162622, true }, + { 162641, true }, + { 162657, false }, + { 162671, true }, + { 162684, true }, + { 162701, true }, + { 162716, true }, + { 162735, true }, + { 162746, true }, + { 162757, true }, + { 162771, true }, { 162785, true }, - { 162798, true }, - { 162826, true }, - { 162838, true }, - { 162854, true }, - { 162872, true }, - { 162880, true }, - { 162891, true }, - { 162899, true }, - { 162913, true }, - { 162927, true }, - { 162936, true }, - { 162943, false }, - { 162953, false }, - { 162973, true }, - { 162984, true }, - { 162991, true }, + { 162800, true }, + { 162821, true }, + { 162837, true }, + { 162855, true }, + { 162873, true }, + { 162886, true }, + { 162914, true }, + { 162926, true }, + { 162942, true }, + { 162960, true }, + { 162968, true }, + { 162979, true }, + { 162987, true }, { 163001, true }, - { 163012, true }, - { 163023, true }, - { 163036, true }, - { 163046, false }, - { 163065, true }, - { 163079, false }, - { 163091, false }, - { 163104, true }, - { 163115, false }, - { 163127, false }, - { 163148, true }, - { 163170, true }, - { 163183, true }, - { 163199, true }, - { 163217, true }, - { 163226, true }, - { 163238, true }, - { 163254, true }, - { 163265, false }, - { 163274, true }, - { 163298, true }, - { 163312, true }, - { 163323, false }, - { 163339, true }, - { 163357, true }, - { 163372, true }, - { 163384, true }, - { 163392, true }, - { 163407, true }, - { 163422, true }, - { 163441, true }, + { 163015, true }, + { 163024, true }, + { 163031, false }, + { 163041, false }, + { 163061, true }, + { 163072, true }, + { 163079, true }, + { 163089, true }, + { 163100, true }, + { 163111, true }, + { 163124, true }, + { 163134, false }, + { 163153, true }, + { 163167, false }, + { 163179, false }, + { 163192, true }, + { 163203, false }, + { 163215, false }, + { 163236, true }, + { 163258, true }, + { 163271, true }, + { 163287, true }, + { 163305, true }, + { 163314, true }, + { 163326, true }, + { 163342, true }, + { 163353, false }, + { 163362, true }, + { 163386, true }, + { 163400, true }, + { 163411, false }, + { 163427, true }, + { 163445, true }, { 163460, true }, - { 163475, true }, - { 163491, true }, - { 163505, true }, - { 163523, true }, - { 163533, false }, - { 163562, true }, - { 163576, true }, - { 163600, true }, - { 163619, true }, - { 163632, true }, - { 163645, true }, - { 163660, true }, - { 163674, true }, - { 163687, true }, + { 163472, true }, + { 163480, true }, + { 163495, true }, + { 163510, true }, + { 163529, true }, + { 163548, true }, + { 163563, true }, + { 163579, true }, + { 163593, true }, + { 163611, true }, + { 163621, false }, + { 163650, true }, + { 163664, true }, + { 163688, true }, { 163707, true }, - { 163722, true }, + { 163720, true }, { 163733, true }, - { 163751, true }, - { 163761, false }, - { 163776, true }, - { 163784, true }, - { 163797, false }, - { 163811, true }, - { 163822, true }, - { 163830, true }, - { 163838, true }, - { 163852, true }, - { 163874, true }, - { 163886, true }, - { 163898, true }, + { 163748, true }, + { 163762, true }, + { 163775, true }, + { 163795, true }, + { 163810, true }, + { 163821, true }, + { 163839, true }, + { 163849, false }, + { 163864, true }, + { 163872, true }, + { 163885, false }, + { 163899, true }, { 163910, true }, - { 163925, true }, - { 163945, true }, - { 163968, true }, - { 163987, true }, - { 164006, true }, - { 164025, true }, - { 164044, true }, - { 164063, true }, - { 164082, true }, - { 164101, true }, - { 164118, true }, - { 164136, true }, - { 164153, true }, - { 164168, true }, - { 164186, true }, - { 164201, true }, - { 164214, false }, - { 164228, true }, - { 164252, true }, - { 164269, true }, - { 164287, true }, - { 164303, true }, - { 164321, true }, - { 164338, true }, - { 164354, true }, - { 164367, true }, - { 164380, true }, - { 164393, true }, - { 164410, true }, - { 164431, true }, - { 164449, true }, - { 164464, true }, + { 163918, true }, + { 163926, true }, + { 163940, true }, + { 163962, true }, + { 163974, true }, + { 163986, true }, + { 163998, true }, + { 164013, true }, + { 164033, true }, + { 164056, true }, + { 164075, true }, + { 164094, true }, + { 164113, true }, + { 164132, true }, + { 164151, true }, + { 164170, true }, + { 164189, true }, + { 164206, true }, + { 164224, true }, + { 164241, true }, + { 164256, true }, + { 164274, true }, + { 164289, true }, + { 164302, false }, + { 164316, true }, + { 164340, true }, + { 164357, true }, + { 164375, true }, + { 164391, true }, + { 164409, true }, + { 164426, true }, + { 164442, true }, + { 164455, true }, + { 164468, true }, { 164481, true }, - { 164500, true }, - { 164517, true }, - { 164529, true }, - { 164540, true }, - { 164548, true }, - { 164561, true }, - { 164580, true }, - { 164607, true }, - { 164623, true }, - { 164639, true }, - { 164653, true }, - { 164666, true }, - { 164679, true }, - { 164692, true }, - { 164702, true }, - { 164715, true }, - { 164726, true }, - { 164746, true }, - { 164762, true }, - { 164782, true }, - { 164797, true }, + { 164498, true }, + { 164519, true }, + { 164537, true }, + { 164552, true }, + { 164569, true }, + { 164588, true }, + { 164605, true }, + { 164617, true }, + { 164628, true }, + { 164636, true }, + { 164649, true }, + { 164668, true }, + { 164684, true }, + { 164700, true }, + { 164714, true }, + { 164727, true }, + { 164740, true }, + { 164753, true }, + { 164763, true }, + { 164776, true }, + { 164787, true }, { 164807, true }, - { 164818, false }, - { 164833, true }, - { 164848, false }, - { 164858, false }, - { 164868, false }, - { 164878, true }, + { 164823, true }, + { 164843, true }, + { 164858, true }, + { 164868, true }, + { 164879, false }, { 164894, true }, - { 164906, true }, - { 164914, false }, - { 164923, false }, - { 164934, true }, - { 164942, true }, - { 164951, true }, - { 164959, true }, - { 164972, true }, - { 164992, true }, - { 165013, true }, - { 165029, true }, - { 165046, true }, - { 165065, true }, - { 165082, true }, - { 165103, true }, - { 165117, true }, - { 165127, true }, - { 165138, true }, - { 165147, true }, - { 165156, true }, - { 165179, true }, - { 165192, true }, - { 165202, true }, - { 165224, true }, - { 165234, true }, - { 165247, true }, - { 165266, true }, - { 165283, true }, - { 165306, true }, - { 165314, true }, - { 165332, true }, - { 165350, true }, - { 165361, true }, - { 165372, false }, - { 165383, true }, - { 165396, true }, - { 165407, true }, - { 165420, true }, - { 165433, true }, - { 165446, true }, + { 164909, false }, + { 164919, false }, + { 164929, false }, + { 164939, true }, + { 164955, true }, + { 164967, true }, + { 164975, false }, + { 164984, false }, + { 164995, true }, + { 165003, true }, + { 165012, true }, + { 165020, true }, + { 165033, true }, + { 165053, true }, + { 165074, true }, + { 165090, true }, + { 165107, true }, + { 165126, true }, + { 165143, true }, + { 165164, true }, + { 165178, true }, + { 165188, true }, + { 165199, true }, + { 165208, true }, + { 165217, true }, + { 165240, true }, + { 165253, true }, + { 165263, true }, + { 165285, true }, + { 165295, true }, + { 165308, true }, + { 165327, true }, + { 165344, true }, + { 165367, true }, + { 165375, true }, + { 165393, true }, + { 165411, true }, + { 165422, true }, + { 165433, false }, + { 165444, true }, { 165457, true }, - { 165467, true }, - { 165476, true }, - { 165486, true }, - { 165496, true }, - { 165509, true }, - { 165530, true }, - { 165543, true }, - { 165556, true }, - { 165569, true }, - { 165588, true }, - { 165599, true }, - { 165614, true }, - { 165628, true }, - { 165639, true }, - { 165651, true }, - { 165663, true }, - { 165671, true }, - { 165685, true }, + { 165468, true }, + { 165481, true }, + { 165494, true }, + { 165507, true }, + { 165518, true }, + { 165528, true }, + { 165537, true }, + { 165547, true }, + { 165557, true }, + { 165570, true }, + { 165591, true }, + { 165604, true }, + { 165617, true }, + { 165630, true }, + { 165649, true }, + { 165660, true }, + { 165675, true }, + { 165689, true }, { 165700, true }, - { 165722, true }, - { 165737, false }, - { 165751, true }, - { 165774, false }, - { 165786, true }, - { 165802, true }, - { 165821, false }, - { 165836, true }, - { 165850, true }, - { 165859, true }, - { 165874, true }, - { 165889, true }, - { 165901, true }, - { 165912, true }, - { 165925, true }, + { 165712, true }, + { 165724, true }, + { 165732, true }, + { 165746, true }, + { 165761, true }, + { 165783, true }, + { 165798, false }, + { 165812, true }, + { 165835, false }, + { 165847, true }, + { 165863, true }, + { 165882, false }, + { 165897, true }, + { 165911, true }, + { 165920, true }, { 165935, true }, - { 165956, true }, - { 165974, true }, - { 165995, true }, - { 166021, true }, - { 166044, true }, - { 166077, true }, - { 166096, true }, - { 166120, true }, - { 166148, true }, - { 166175, true }, - { 166189, true }, - { 166198, true }, + { 165950, true }, + { 165962, true }, + { 165973, true }, + { 165986, true }, + { 165996, true }, + { 166017, true }, + { 166035, true }, + { 166056, true }, + { 166082, true }, + { 166105, true }, + { 166138, true }, + { 166157, true }, + { 166181, true }, { 166209, true }, - { 166223, true }, - { 166234, true }, - { 166245, false }, - { 166269, true }, - { 166280, true }, - { 166292, true }, - { 166306, true }, - { 166317, true }, - { 166327, true }, - { 166335, true }, - { 166342, true }, + { 166236, true }, + { 166250, true }, + { 166259, true }, + { 166270, true }, + { 166284, true }, + { 166295, true }, + { 166306, false }, + { 166330, true }, + { 166341, true }, { 166353, true }, - { 166363, true }, - { 166374, true }, - { 166385, true }, - { 166395, true }, - { 166406, true }, - { 166415, true }, - { 166430, true }, - { 166445, true }, - { 166458, true }, - { 166469, true }, - { 166478, true }, - { 166489, true }, - { 166500, true }, - { 166511, true }, - { 166525, true }, - { 166534, true }, + { 166367, true }, + { 166378, true }, + { 166388, true }, + { 166396, true }, + { 166403, true }, + { 166414, true }, + { 166424, true }, + { 166435, true }, + { 166446, true }, + { 166456, true }, + { 166467, true }, + { 166476, true }, + { 166491, true }, + { 166506, true }, + { 166519, true }, + { 166530, true }, + { 166539, true }, { 166550, true }, - { 166558, true }, - { 166570, true }, - { 166582, true }, - { 166598, true }, - { 166606, true }, - { 166616, true }, - { 166635, true }, + { 166561, true }, + { 166572, true }, + { 166586, true }, + { 166595, true }, + { 166611, true }, + { 166619, true }, + { 166631, true }, { 166643, true }, - { 166656, true }, - { 166669, true }, - { 166686, true }, - { 166697, true }, - { 166709, true }, - { 166718, true }, - { 166731, true }, - { 166740, true }, - { 166759, true }, - { 166789, true }, - { 166819, true }, - { 166835, true }, + { 166659, true }, + { 166667, true }, + { 166677, true }, + { 166696, true }, + { 166704, true }, + { 166717, true }, + { 166730, true }, + { 166747, true }, + { 166758, true }, + { 166770, true }, + { 166779, true }, + { 166792, true }, + { 166801, true }, + { 166820, true }, { 166850, true }, - { 166863, true }, - { 166876, true }, - { 166893, true }, - { 166905, true }, - { 166918, true }, - { 166934, true }, - { 166942, true }, - { 166951, true }, - { 166959, true }, - { 166973, true }, - { 166992, false }, - { 167001, true }, - { 167011, true }, - { 167033, true }, - { 167048, true }, - { 167061, true }, - { 167075, true }, - { 167089, true }, - { 167097, true }, + { 166880, true }, + { 166896, true }, + { 166911, true }, + { 166924, true }, + { 166937, true }, + { 166954, true }, + { 166966, true }, + { 166979, true }, + { 166995, true }, + { 167003, true }, + { 167012, true }, + { 167020, true }, + { 167034, true }, + { 167053, false }, + { 167062, true }, + { 167072, true }, + { 167094, true }, { 167109, true }, - { 167120, true }, - { 167131, true }, - { 167143, true }, - { 167161, true }, - { 167174, true }, - { 167187, true }, - { 167199, true }, - { 167209, true }, - { 167219, true }, - { 167228, true }, - { 167239, true }, - { 167250, false }, - { 167260, false }, - { 167276, true }, - { 167290, true }, - { 167302, true }, - { 167315, true }, - { 167325, true }, - { 167339, true }, + { 167122, true }, + { 167136, true }, + { 167150, true }, + { 167158, true }, + { 167170, true }, + { 167181, true }, + { 167192, true }, + { 167204, true }, + { 167222, true }, + { 167235, true }, + { 167248, true }, + { 167260, true }, + { 167270, true }, + { 167280, true }, + { 167289, true }, + { 167300, true }, + { 167311, false }, + { 167321, false }, + { 167337, true }, { 167351, true }, - { 167360, true }, - { 167396, true }, - { 167409, true }, - { 167419, true }, - { 167432, true }, - { 167443, true }, - { 167466, false }, + { 167363, true }, + { 167376, true }, + { 167386, true }, + { 167400, true }, + { 167412, true }, + { 167421, true }, + { 167457, true }, + { 167470, true }, { 167480, true }, - { 167492, true }, - { 167505, true }, - { 167514, true }, + { 167493, true }, + { 167504, true }, { 167527, false }, - { 167537, true }, - { 167549, true }, - { 167560, true }, - { 167574, true }, - { 167588, true }, + { 167541, true }, + { 167553, true }, + { 167566, true }, + { 167575, true }, + { 167588, false }, { 167598, true }, - { 167607, true }, - { 167617, true }, - { 167628, true }, - { 167638, true }, - { 167653, true }, - { 167665, true }, - { 167677, true }, + { 167610, true }, + { 167621, true }, + { 167635, true }, + { 167649, true }, + { 167659, true }, + { 167668, true }, + { 167678, true }, { 167689, true }, - { 167703, true }, - { 167720, true }, - { 167730, true }, - { 167740, false }, - { 167749, false }, - { 167768, true }, - { 167783, true }, - { 167799, true }, - { 167814, false }, - { 167824, false }, - { 167836, true }, - { 167849, true }, - { 167867, true }, - { 167882, true }, + { 167699, true }, + { 167714, true }, + { 167726, true }, + { 167738, true }, + { 167750, true }, + { 167764, true }, + { 167781, true }, + { 167791, true }, + { 167801, false }, + { 167810, false }, + { 167829, true }, + { 167844, true }, + { 167860, true }, + { 167875, false }, + { 167885, true }, { 167897, false }, - { 167913, true }, - { 167925, true }, - { 167938, true }, - { 167950, true }, - { 167961, true }, - { 167974, false }, - { 167989, true }, - { 168004, true }, - { 168014, true }, - { 168024, true }, - { 168041, true }, - { 168055, true }, - { 168069, true }, - { 168092, true }, - { 168104, true }, - { 168115, true }, - { 168131, true }, + { 167909, true }, + { 167922, true }, + { 167940, true }, + { 167955, true }, + { 167970, false }, + { 167986, true }, + { 167998, true }, + { 168011, true }, + { 168023, true }, + { 168034, true }, + { 168047, false }, + { 168062, true }, + { 168077, true }, + { 168087, true }, + { 168097, true }, + { 168114, true }, + { 168128, true }, { 168142, true }, - { 168153, true }, - { 168171, true }, - { 168189, true }, - { 168202, true }, - { 168223, false }, - { 168242, true }, - { 168262, true }, - { 168284, true }, - { 168308, true }, - { 168320, true }, + { 168165, true }, + { 168177, true }, + { 168188, true }, + { 168204, true }, + { 168222, true }, + { 168240, true }, + { 168253, true }, + { 168274, false }, + { 168293, true }, + { 168313, true }, { 168335, true }, - { 168353, true }, - { 168369, true }, - { 168385, true }, - { 168401, true }, - { 168418, true }, - { 168434, true }, - { 168451, true }, - { 168473, true }, - { 168495, false }, - { 168509, true }, - { 168520, true }, - { 168536, true }, - { 168547, true }, - { 168567, true }, - { 168578, true }, - { 168593, true }, - { 168609, true }, - { 168624, true }, - { 168639, true }, - { 168653, true }, - { 168676, true }, + { 168359, true }, + { 168371, true }, + { 168386, true }, + { 168404, true }, + { 168420, true }, + { 168436, true }, + { 168452, true }, + { 168469, true }, + { 168485, true }, + { 168502, true }, + { 168524, true }, + { 168546, false }, + { 168560, true }, + { 168571, true }, + { 168587, true }, + { 168598, true }, + { 168618, true }, + { 168629, true }, + { 168644, true }, + { 168660, true }, + { 168675, true }, { 168690, true }, - { 168705, true }, - { 168722, true }, - { 168739, true }, - { 168751, true }, - { 168776, true }, - { 168788, true }, - { 168803, true }, - { 168819, true }, - { 168834, true }, - { 168863, true }, - { 168882, true }, - { 168904, true }, - { 168922, true }, - { 168936, true }, - { 168949, true }, - { 168964, true }, - { 168979, true }, - { 168986, true }, - { 169002, true }, - { 169013, true }, - { 169026, true }, + { 168704, true }, + { 168727, true }, + { 168741, true }, + { 168756, true }, + { 168773, true }, + { 168790, true }, + { 168802, true }, + { 168827, true }, + { 168839, true }, + { 168854, true }, + { 168870, true }, + { 168885, true }, + { 168914, true }, + { 168933, true }, + { 168955, true }, + { 168973, true }, + { 168987, true }, + { 169000, true }, + { 169015, true }, + { 169030, true }, { 169037, true }, - { 169047, true }, - { 169058, true }, - { 169072, true }, - { 169086, true }, + { 169053, true }, + { 169064, true }, + { 169077, true }, + { 169088, true }, { 169098, true }, - { 169110, true }, - { 169121, true }, - { 169136, true }, - { 169150, true }, + { 169109, true }, + { 169123, true }, + { 169137, true }, + { 169149, true }, { 169161, true }, - { 169174, true }, - { 169203, true }, - { 169219, true }, - { 169238, true }, - { 169247, true }, - { 169262, true }, - { 169272, true }, - { 169282, true }, - { 169291, true }, - { 169299, true }, - { 169315, true }, - { 169330, true }, - { 169339, true }, - { 169351, true }, - { 169359, true }, - { 169368, true }, - { 169380, false }, - { 169391, true }, - { 169407, true }, - { 169426, true }, - { 169438, false }, - { 169455, false }, - { 169475, true }, - { 169490, true }, - { 169500, true }, - { 169516, true }, - { 169529, true }, - { 169547, true }, - { 169556, true }, - { 169571, true }, - { 169585, true }, - { 169601, true }, - { 169616, true }, - { 169638, true }, - { 169659, true }, - { 169678, true }, - { 169697, true }, - { 169713, true }, - { 169732, true }, - { 169743, true }, - { 169752, true }, - { 169764, true }, - { 169774, true }, - { 169789, true }, - { 169803, true }, - { 169811, true }, - { 169819, true }, - { 169828, true }, + { 169172, true }, + { 169187, true }, + { 169201, true }, + { 169212, true }, + { 169225, true }, + { 169254, true }, + { 169270, true }, + { 169289, true }, + { 169298, true }, + { 169313, true }, + { 169323, true }, + { 169333, true }, + { 169342, true }, + { 169350, true }, + { 169366, true }, + { 169381, true }, + { 169390, true }, + { 169402, true }, + { 169410, true }, + { 169419, true }, + { 169431, false }, + { 169442, true }, + { 169458, true }, + { 169477, true }, + { 169489, false }, + { 169506, false }, + { 169526, true }, + { 169541, true }, + { 169551, true }, + { 169567, true }, + { 169580, true }, + { 169598, true }, + { 169613, true }, + { 169622, true }, + { 169637, true }, + { 169651, true }, + { 169667, true }, + { 169682, true }, + { 169704, true }, + { 169725, true }, + { 169744, true }, + { 169763, true }, + { 169779, true }, + { 169798, true }, + { 169809, true }, + { 169818, true }, + { 169830, true }, { 169840, true }, - { 169852, true }, - { 169861, true }, - { 169873, true }, - { 169881, true }, - { 169893, true }, - { 169919, true }, - { 169942, false }, - { 169958, true }, - { 169972, true }, - { 169992, true }, - { 170003, true }, + { 169855, true }, + { 169869, true }, + { 169877, true }, + { 169885, true }, + { 169894, true }, + { 169906, true }, + { 169918, true }, + { 169927, true }, + { 169939, true }, + { 169947, true }, + { 169959, true }, + { 169985, true }, + { 170008, false }, { 170024, true }, - { 170043, true }, - { 170057, true }, - { 170072, true }, - { 170086, true }, - { 170103, true }, - { 170117, true }, - { 170137, false }, + { 170038, true }, + { 170058, true }, + { 170069, true }, + { 170090, true }, + { 170109, true }, + { 170123, true }, + { 170138, true }, { 170152, true }, - { 170160, true }, - { 170175, true }, - { 170190, true }, - { 170204, true }, - { 170215, true }, - { 170225, true }, - { 170242, true }, - { 170260, true }, - { 170280, true }, - { 170304, true }, - { 170311, true }, - { 170322, true }, - { 170333, true }, + { 170169, true }, + { 170183, true }, + { 170203, false }, + { 170218, true }, + { 170226, true }, + { 170241, true }, + { 170256, true }, + { 170270, true }, + { 170281, true }, + { 170291, true }, + { 170308, true }, + { 170326, true }, { 170346, true }, - { 170362, true }, - { 170374, false }, - { 170389, true }, - { 170405, true }, - { 170418, true }, - { 170426, true }, - { 170436, true }, - { 170449, true }, - { 170464, false }, - { 170473, true }, - { 170487, true }, + { 170370, true }, + { 170377, true }, + { 170388, true }, + { 170399, true }, + { 170412, true }, + { 170428, true }, + { 170440, false }, + { 170455, true }, + { 170471, true }, + { 170484, true }, + { 170492, true }, { 170502, true }, - { 170512, true }, - { 170524, true }, - { 170534, true }, - { 170544, true }, - { 170557, true }, - { 170570, true }, - { 170582, true }, + { 170515, true }, + { 170530, false }, + { 170539, true }, + { 170553, true }, + { 170568, true }, + { 170578, true }, { 170590, true }, { 170600, true }, - { 170614, true }, - { 170635, true }, + { 170610, true }, + { 170623, true }, + { 170636, true }, { 170648, true }, - { 170658, false }, - { 170678, true }, - { 170686, true }, - { 170697, true }, - { 170705, true }, - { 170712, true }, - { 170719, true }, - { 170729, true }, - { 170741, true }, - { 170747, true }, - { 170757, true }, - { 170765, false }, - { 170785, true }, + { 170656, true }, + { 170666, true }, + { 170680, true }, + { 170701, true }, + { 170711, false }, + { 170731, true }, + { 170739, true }, + { 170750, true }, + { 170758, true }, + { 170765, true }, + { 170772, true }, + { 170782, true }, + { 170794, true }, { 170800, true }, - { 170827, true }, - { 170836, true }, - { 170845, true }, + { 170810, true }, + { 170818, false }, + { 170838, true }, { 170853, true }, - { 170867, true }, - { 170882, true }, - { 170894, true }, - { 170907, true }, - { 170916, true }, - { 170934, true }, - { 170945, true }, - { 170956, true }, - { 170964, true }, - { 170974, true }, - { 170982, true }, - { 170994, true }, - { 171003, true }, - { 171013, false }, - { 171048, true }, - { 171061, true }, - { 171071, true }, - { 171083, true }, - { 171098, true }, - { 171117, true }, - { 171129, true }, - { 171143, true }, - { 171159, true }, - { 171177, true }, - { 171190, true }, - { 171203, true }, - { 171220, true }, - { 171233, true }, - { 171248, true }, - { 171267, true }, - { 171282, true }, - { 171290, true }, - { 171302, true }, - { 171316, true }, - { 171336, true }, - { 171348, true }, - { 171367, true }, - { 171393, true }, - { 171415, true }, - { 171433, true }, - { 171450, true }, - { 171467, true }, - { 171478, true }, - { 171496, true }, - { 171508, true }, - { 171521, true }, - { 171537, true }, - { 171568, true }, - { 171582, true }, - { 171599, true }, - { 171617, true }, - { 171636, true }, + { 170880, true }, + { 170889, true }, + { 170898, true }, + { 170906, true }, + { 170920, true }, + { 170935, true }, + { 170947, true }, + { 170960, true }, + { 170969, true }, + { 170987, true }, + { 170998, true }, + { 171009, true }, + { 171017, true }, + { 171027, true }, + { 171035, true }, + { 171047, true }, + { 171056, true }, + { 171066, false }, + { 171101, true }, + { 171114, true }, + { 171124, true }, + { 171136, true }, + { 171151, true }, + { 171170, true }, + { 171182, true }, + { 171196, true }, + { 171212, true }, + { 171230, true }, + { 171243, true }, + { 171256, true }, + { 171273, true }, + { 171286, true }, + { 171301, true }, + { 171320, true }, + { 171335, true }, + { 171343, true }, + { 171355, true }, + { 171369, true }, + { 171389, true }, + { 171401, true }, + { 171420, true }, + { 171446, true }, + { 171468, true }, + { 171486, true }, + { 171503, true }, + { 171520, true }, + { 171531, true }, + { 171549, true }, + { 171561, true }, + { 171574, true }, + { 171590, true }, + { 171621, true }, + { 171635, true }, { 171652, true }, - { 171675, true }, - { 171694, true }, - { 171708, true }, - { 171724, true }, - { 171752, true }, - { 171768, true }, - { 171785, true }, - { 171816, true }, - { 171846, false }, - { 171862, true }, - { 171878, true }, - { 171889, true }, - { 171901, true }, - { 171914, true }, - { 171934, true }, - { 171953, true }, - { 171971, true }, - { 171993, true }, + { 171670, true }, + { 171689, true }, + { 171705, true }, + { 171728, true }, + { 171747, true }, + { 171761, true }, + { 171777, true }, + { 171805, true }, + { 171821, true }, + { 171838, true }, + { 171869, true }, + { 171899, false }, + { 171915, true }, + { 171931, true }, + { 171942, true }, + { 171954, true }, + { 171967, true }, + { 171987, true }, { 172006, true }, - { 172023, true }, - { 172037, true }, - { 172062, true }, - { 172079, true }, - { 172096, true }, + { 172024, true }, + { 172046, true }, + { 172059, true }, + { 172076, true }, + { 172090, true }, { 172115, true }, - { 172126, true }, - { 172146, true }, - { 172161, true }, - { 172176, true }, - { 172194, true }, - { 172210, true }, - { 172222, true }, - { 172232, true }, - { 172249, true }, - { 172267, true }, - { 172279, false }, - { 172293, false }, - { 172300, false }, - { 172332, true }, - { 172345, true }, - { 172364, true }, - { 172378, true }, - { 172388, true }, - { 172402, true }, - { 172415, true }, - { 172432, true }, - { 172444, true }, - { 172458, true }, - { 172474, true }, - { 172489, true }, - { 172503, true }, - { 172514, true }, - { 172525, true }, - { 172537, true }, - { 172546, true }, - { 172553, true }, - { 172564, true }, - { 172572, true }, - { 172579, true }, + { 172132, true }, + { 172149, true }, + { 172168, true }, + { 172179, true }, + { 172199, true }, + { 172214, true }, + { 172229, true }, + { 172247, true }, + { 172263, true }, + { 172275, true }, + { 172285, true }, + { 172302, true }, + { 172320, true }, + { 172332, false }, + { 172346, false }, + { 172353, false }, + { 172385, true }, + { 172398, true }, + { 172417, true }, + { 172431, true }, + { 172441, true }, + { 172455, true }, + { 172468, true }, + { 172485, true }, + { 172497, true }, + { 172511, true }, + { 172527, true }, + { 172542, true }, + { 172556, true }, + { 172567, true }, + { 172578, true }, { 172590, true }, - { 172598, true }, - { 172608, true }, - { 172616, true }, - { 172624, true }, - { 172637, true }, - { 172652, true }, - { 172662, true }, - { 172672, true }, - { 172679, true }, - { 172691, true }, + { 172599, true }, + { 172606, true }, + { 172617, true }, + { 172625, true }, + { 172632, true }, + { 172643, true }, + { 172651, true }, + { 172661, true }, + { 172669, true }, + { 172677, true }, + { 172690, true }, { 172705, true }, - { 172714, true }, - { 172733, true }, - { 172742, true }, + { 172715, true }, + { 172725, true }, + { 172732, true }, + { 172744, true }, { 172758, true }, - { 172770, true }, - { 172782, true }, - { 172794, true }, - { 172805, true }, - { 172817, true }, - { 172828, true }, - { 172839, true }, - { 172854, true }, - { 172862, true }, - { 172874, true }, - { 172899, true }, - { 172910, true }, - { 172921, true }, - { 172932, true }, - { 172946, true }, - { 172962, true }, - { 172973, true }, + { 172767, true }, + { 172786, true }, + { 172795, true }, + { 172811, true }, + { 172823, true }, + { 172835, true }, + { 172847, true }, + { 172858, true }, + { 172870, true }, + { 172881, true }, + { 172892, true }, + { 172907, true }, + { 172915, true }, + { 172927, true }, + { 172952, true }, + { 172963, true }, + { 172974, true }, { 172985, true }, { 172999, true }, - { 173013, true }, - { 173023, true }, + { 173015, true }, + { 173026, true }, { 173038, true }, - { 173059, true }, - { 173074, true }, - { 173095, true }, - { 173103, true }, - { 173117, true }, - { 173124, true }, - { 173136, true }, + { 173052, true }, + { 173066, true }, + { 173076, true }, + { 173091, true }, + { 173112, true }, + { 173127, true }, { 173148, true }, - { 173162, true }, - { 173175, true }, - { 173207, true }, - { 173220, true }, - { 173236, false }, - { 173249, true }, - { 173263, true }, - { 173274, true }, - { 173283, true }, - { 173293, true }, - { 173300, true }, - { 173309, true }, - { 173318, true }, - { 173326, true }, - { 173341, true }, - { 173349, true }, - { 173361, true }, + { 173156, true }, + { 173170, true }, + { 173177, true }, + { 173189, true }, + { 173201, true }, + { 173215, true }, + { 173228, true }, + { 173260, true }, + { 173273, true }, + { 173289, false }, + { 173302, true }, + { 173316, true }, + { 173327, true }, + { 173336, true }, + { 173346, true }, + { 173353, true }, + { 173362, true }, { 173371, true }, - { 173381, true }, - { 173392, true }, - { 173401, true }, - { 173410, true }, - { 173428, true }, - { 173446, true }, - { 173456, true }, - { 173467, true }, - { 173478, false }, - { 173489, true }, - { 173497, true }, - { 173505, true }, - { 173513, true }, - { 173529, true }, - { 173545, true }, - { 173551, true }, - { 173564, true }, - { 173575, true }, - { 173587, true }, - { 173606, true }, - { 173618, true }, - { 173644, true }, - { 173658, true }, - { 173673, true }, - { 173686, true }, - { 173698, true }, + { 173379, true }, + { 173394, true }, + { 173402, true }, + { 173414, true }, + { 173424, true }, + { 173434, true }, + { 173445, true }, + { 173454, true }, + { 173463, true }, + { 173481, true }, + { 173499, true }, + { 173509, true }, + { 173520, true }, + { 173531, false }, + { 173542, true }, + { 173550, true }, + { 173558, true }, + { 173566, true }, + { 173582, true }, + { 173598, true }, + { 173604, true }, + { 173617, true }, + { 173628, true }, + { 173640, true }, + { 173659, true }, + { 173671, true }, + { 173697, true }, { 173711, true }, - { 173723, true }, - { 173733, false }, + { 173726, true }, + { 173739, true }, { 173751, true }, - { 173767, true }, - { 173782, true }, - { 173793, true }, + { 173764, true }, + { 173776, false }, + { 173794, true }, { 173810, true }, - { 173822, true }, - { 173833, true }, - { 173852, true }, - { 173868, true }, - { 173880, true }, - { 173892, true }, - { 173905, true }, - { 173917, true }, - { 173934, true }, - { 173941, true }, - { 173954, true }, - { 173971, true }, - { 173979, true }, - { 174001, true }, - { 174012, true }, + { 173825, true }, + { 173836, true }, + { 173853, true }, + { 173865, true }, + { 173876, true }, + { 173895, true }, + { 173911, true }, + { 173923, true }, + { 173935, true }, + { 173948, true }, + { 173960, true }, + { 173977, true }, + { 173984, true }, + { 173997, true }, + { 174014, true }, { 174022, true }, - { 174032, true }, - { 174044, false }, + { 174044, true }, { 174055, true }, - { 174064, true }, + { 174065, true }, { 174075, true }, - { 174093, true }, - { 174112, true }, - { 174128, true }, - { 174141, true }, - { 174154, true }, - { 174170, true }, + { 174087, false }, + { 174098, true }, + { 174107, true }, + { 174118, true }, + { 174136, true }, + { 174155, true }, + { 174171, true }, + { 174184, true }, { 174197, true }, - { 174209, true }, - { 174219, true }, - { 174234, true }, - { 174242, true }, - { 174271, true }, + { 174213, true }, + { 174240, true }, + { 174252, true }, + { 174262, true }, + { 174277, true }, { 174285, true }, - { 174295, true }, - { 174331, true }, - { 174364, true }, - { 174387, true }, - { 174400, true }, - { 174412, true }, - { 174424, true }, - { 174433, true }, - { 174446, false }, - { 174469, true }, - { 174485, true }, - { 174503, true }, - { 174520, true }, - { 174544, true }, - { 174556, true }, - { 174565, true }, - { 174574, true }, - { 174583, true }, - { 174595, true }, - { 174604, true }, - { 174612, true }, - { 174625, true }, - { 174636, true }, - { 174661, true }, - { 174672, true }, - { 174685, true }, - { 174698, true }, - { 174711, true }, - { 174725, true }, - { 174736, false }, - { 174747, true }, - { 174755, true }, - { 174763, true }, - { 174778, true }, - { 174786, true }, - { 174794, true }, + { 174314, true }, + { 174328, true }, + { 174338, true }, + { 174374, true }, + { 174407, true }, + { 174430, true }, + { 174443, true }, + { 174455, true }, + { 174467, true }, + { 174476, true }, + { 174489, false }, + { 174512, true }, + { 174528, true }, + { 174546, true }, + { 174563, true }, + { 174587, true }, + { 174599, true }, + { 174608, true }, + { 174617, true }, + { 174626, true }, + { 174638, true }, + { 174647, true }, + { 174655, true }, + { 174668, true }, + { 174679, true }, + { 174704, true }, + { 174715, true }, + { 174728, true }, + { 174741, true }, + { 174754, true }, + { 174768, true }, + { 174779, false }, + { 174790, true }, + { 174798, true }, { 174806, true }, - { 174814, true }, - { 174827, false }, - { 174838, true }, - { 174853, true }, - { 174883, true }, - { 174903, false }, - { 174911, true }, - { 174929, true }, - { 174939, true }, - { 174959, true }, - { 174979, false }, - { 174992, true }, - { 175003, true }, - { 175026, true }, - { 175052, true }, - { 175062, true }, - { 175075, true }, - { 175091, true }, - { 175106, false }, - { 175124, true }, - { 175155, true }, - { 175175, true }, - { 175192, true }, - { 175209, true }, - { 175227, true }, - { 175236, true }, - { 175249, true }, - { 175264, true }, - { 175276, true }, - { 175286, true }, - { 175293, true }, - { 175306, true }, - { 175323, true }, - { 175335, true }, + { 174821, true }, + { 174829, true }, + { 174837, true }, + { 174849, true }, + { 174857, true }, + { 174870, false }, + { 174881, true }, + { 174896, true }, + { 174926, true }, + { 174946, false }, + { 174954, true }, + { 174972, true }, + { 174982, true }, + { 175002, true }, + { 175022, false }, + { 175035, true }, + { 175046, true }, + { 175069, true }, + { 175095, true }, + { 175105, true }, + { 175118, true }, + { 175134, true }, + { 175149, false }, + { 175167, true }, + { 175198, true }, + { 175218, true }, + { 175235, true }, + { 175252, true }, + { 175270, true }, + { 175279, true }, + { 175292, true }, + { 175307, true }, + { 175319, true }, + { 175329, true }, + { 175336, true }, { 175349, true }, - { 175361, true }, - { 175376, true }, - { 175394, true }, - { 175407, true }, - { 175420, true }, - { 175431, true }, - { 175442, true }, - { 175459, true }, - { 175470, true }, + { 175366, true }, + { 175378, true }, + { 175392, true }, + { 175404, true }, + { 175419, true }, + { 175437, true }, + { 175450, true }, + { 175463, true }, + { 175474, true }, { 175485, true }, - { 175496, true }, - { 175508, true }, - { 175520, false }, - { 175532, true }, - { 175542, true }, - { 175555, false }, - { 175573, true }, - { 175583, false }, - { 175594, true }, - { 175611, true }, - { 175628, true }, - { 175645, true }, - { 175656, true }, - { 175666, true }, - { 175681, true }, - { 175691, true }, - { 175706, true }, - { 175723, true }, + { 175502, true }, + { 175513, true }, + { 175528, true }, + { 175539, true }, + { 175551, true }, + { 175563, false }, + { 175575, true }, + { 175585, true }, + { 175598, false }, + { 175616, true }, + { 175626, false }, + { 175637, true }, + { 175654, true }, + { 175671, true }, + { 175688, true }, + { 175699, true }, + { 175709, true }, + { 175724, true }, { 175734, true }, - { 175752, true }, - { 175763, true }, - { 175778, true }, - { 175793, true }, - { 175818, true }, - { 175843, true }, - { 175856, true }, - { 175873, true }, - { 175885, true }, - { 175905, true }, - { 175926, true }, - { 175940, true }, - { 175957, true }, - { 175982, true }, - { 176003, true }, + { 175749, true }, + { 175766, true }, + { 175777, true }, + { 175795, true }, + { 175806, true }, + { 175821, true }, + { 175836, true }, + { 175861, true }, + { 175886, true }, + { 175899, true }, + { 175916, true }, + { 175928, true }, + { 175948, true }, + { 175969, true }, + { 175983, true }, + { 176000, true }, { 176025, true }, - { 176055, true }, - { 176076, true }, - { 176097, true }, - { 176121, true }, - { 176136, true }, - { 176146, true }, - { 176169, true }, - { 176176, true }, - { 176195, true }, - { 176204, true }, - { 176211, true }, - { 176222, true }, - { 176241, true }, - { 176258, true }, - { 176271, true }, - { 176280, true }, - { 176290, true }, + { 176046, true }, + { 176068, true }, + { 176098, true }, + { 176119, true }, + { 176140, true }, + { 176164, true }, + { 176179, true }, + { 176189, true }, + { 176212, true }, + { 176219, true }, + { 176238, true }, + { 176247, true }, + { 176254, true }, + { 176265, true }, + { 176284, true }, { 176301, true }, - { 176311, true }, - { 176322, true }, - { 176334, true }, - { 176350, true }, - { 176360, true }, - { 176374, true }, - { 176382, true }, - { 176392, true }, - { 176402, true }, - { 176414, true }, + { 176314, true }, + { 176323, true }, + { 176333, true }, + { 176344, true }, + { 176354, true }, + { 176365, true }, + { 176377, true }, + { 176393, true }, + { 176403, true }, + { 176417, true }, { 176425, true }, - { 176439, true }, - { 176454, true }, - { 176478, true }, - { 176494, true }, - { 176508, true }, - { 176533, true }, - { 176541, true }, - { 176559, true }, - { 176572, true }, - { 176583, true }, - { 176598, true }, - { 176617, true }, - { 176638, true }, - { 176650, true }, - { 176661, true }, - { 176676, true }, - { 176690, true }, - { 176706, true }, - { 176724, true }, - { 176736, true }, - { 176754, true }, - { 176766, true }, - { 176783, true }, + { 176435, true }, + { 176445, true }, + { 176457, true }, + { 176468, true }, + { 176482, true }, + { 176497, true }, + { 176521, true }, + { 176537, true }, + { 176551, true }, + { 176576, true }, + { 176584, true }, + { 176602, true }, + { 176615, true }, + { 176626, true }, + { 176641, true }, + { 176660, true }, + { 176681, true }, + { 176693, true }, + { 176704, true }, + { 176719, true }, + { 176733, true }, + { 176749, true }, + { 176767, true }, + { 176779, true }, { 176797, true }, - { 176812, true }, + { 176809, true }, { 176826, true }, { 176840, true }, - { 176851, true }, - { 176868, true }, - { 176878, true }, - { 176887, true }, - { 176896, true }, - { 176914, true }, - { 176925, true }, - { 176937, true }, - { 176958, true }, - { 176965, true }, - { 176976, true }, - { 176993, false }, - { 177019, false }, - { 177031, true }, - { 177044, true }, - { 177063, true }, - { 177080, true }, - { 177091, true }, - { 177108, true }, - { 177118, true }, - { 177131, true }, - { 177146, true }, - { 177167, true }, - { 177183, true }, - { 177207, true }, - { 177221, true }, - { 177232, true }, - { 177246, true }, - { 177263, true }, - { 177280, true }, - { 177290, true }, - { 177305, true }, - { 177317, true }, - { 177332, true }, - { 177342, true }, - { 177355, true }, - { 177368, true }, - { 177381, true }, - { 177395, true }, - { 177415, true }, - { 177437, true }, - { 177451, true }, - { 177466, false }, - { 177479, true }, + { 176855, true }, + { 176869, true }, + { 176883, true }, + { 176894, true }, + { 176911, true }, + { 176921, true }, + { 176930, true }, + { 176939, true }, + { 176957, true }, + { 176968, true }, + { 176980, true }, + { 177001, true }, + { 177008, true }, + { 177019, true }, + { 177036, false }, + { 177062, false }, + { 177074, true }, + { 177087, true }, + { 177106, true }, + { 177123, true }, + { 177134, true }, + { 177151, true }, + { 177161, true }, + { 177174, true }, + { 177189, true }, + { 177210, true }, + { 177226, true }, + { 177250, true }, + { 177264, true }, + { 177275, true }, + { 177289, true }, + { 177306, true }, + { 177323, true }, + { 177333, true }, + { 177348, true }, + { 177360, true }, + { 177375, true }, + { 177385, true }, + { 177398, true }, + { 177411, true }, + { 177424, true }, + { 177438, true }, + { 177458, true }, + { 177480, true }, { 177494, true }, - { 177505, true }, - { 177525, true }, - { 177541, true }, - { 177560, true }, - { 177574, true }, - { 177595, true }, - { 177606, true }, - { 177622, true }, - { 177641, true }, + { 177509, false }, + { 177522, true }, + { 177537, true }, + { 177548, true }, + { 177568, true }, + { 177584, true }, + { 177603, true }, + { 177617, true }, + { 177638, true }, { 177649, true }, - { 177657, true }, - { 177668, true }, - { 177682, true }, - { 177699, true }, - { 177708, true }, - { 177724, true }, - { 177739, true }, - { 177750, true }, - { 177761, true }, - { 177773, true }, - { 177784, true }, - { 177794, true }, - { 177805, true }, - { 177815, true }, - { 177826, true }, + { 177665, true }, + { 177684, true }, + { 177692, true }, + { 177700, true }, + { 177711, true }, + { 177725, true }, + { 177742, true }, + { 177751, true }, + { 177767, true }, + { 177782, true }, + { 177793, true }, + { 177804, true }, + { 177816, true }, + { 177827, true }, { 177837, true }, - { 177844, true }, - { 177862, true }, - { 177874, true }, - { 177884, true }, - { 177895, true }, - { 177917, true }, - { 177931, true }, - { 177939, true }, - { 177958, true }, - { 177973, true }, - { 177995, true }, - { 178004, true }, - { 178016, true }, - { 178034, true }, + { 177848, true }, + { 177858, true }, + { 177869, true }, + { 177879, true }, + { 177890, true }, + { 177897, true }, + { 177915, true }, + { 177927, true }, + { 177937, true }, + { 177948, true }, + { 177970, true }, + { 177984, true }, + { 177992, true }, + { 178011, true }, + { 178026, true }, { 178048, true }, - { 178060, true }, - { 178071, true }, - { 178082, true }, + { 178057, true }, + { 178069, true }, + { 178087, true }, { 178101, true }, - { 178111, true }, - { 178123, true }, - { 178132, true }, - { 178148, true }, - { 178156, true }, - { 178168, true }, - { 178183, true }, - { 178203, true }, - { 178211, true }, - { 178224, true }, - { 178241, true }, - { 178250, true }, - { 178268, true }, - { 178280, true }, - { 178299, true }, - { 178319, true }, - { 178342, true }, - { 178355, true }, - { 178365, true }, - { 178377, true }, - { 178401, true }, - { 178417, true }, - { 178440, true }, + { 178113, true }, + { 178124, true }, + { 178135, true }, + { 178154, true }, + { 178164, true }, + { 178176, true }, + { 178185, true }, + { 178201, true }, + { 178209, true }, + { 178221, true }, + { 178236, true }, + { 178256, true }, + { 178264, true }, + { 178277, true }, + { 178294, true }, + { 178303, true }, + { 178321, true }, + { 178333, true }, + { 178352, true }, + { 178372, true }, + { 178395, true }, + { 178408, true }, + { 178418, true }, + { 178430, true }, { 178454, true }, - { 178471, true }, - { 178487, true }, - { 178504, true }, - { 178519, true }, - { 178534, true }, - { 178553, true }, - { 178569, true }, - { 178577, true }, - { 178595, true }, - { 178604, false }, - { 178613, true }, - { 178625, true }, - { 178639, true }, - { 178653, true }, - { 178663, true }, - { 178674, true }, - { 178687, true }, - { 178710, true }, - { 178718, true }, - { 178730, true }, - { 178746, true }, - { 178756, false }, - { 178765, true }, - { 178772, true }, - { 178780, true }, - { 178789, false }, - { 178803, true }, - { 178817, true }, - { 178827, true }, - { 178837, true }, - { 178847, true }, - { 178859, true }, - { 178873, true }, - { 178886, true }, - { 178898, true }, - { 178910, true }, - { 178924, true }, - { 178942, false }, - { 178955, true }, - { 178970, true }, - { 178984, true }, - { 179002, true }, - { 179012, true }, + { 178470, true }, + { 178493, true }, + { 178507, true }, + { 178524, true }, + { 178540, true }, + { 178557, true }, + { 178572, true }, + { 178587, true }, + { 178606, true }, + { 178622, true }, + { 178630, true }, + { 178648, true }, + { 178657, false }, + { 178666, true }, + { 178678, true }, + { 178692, true }, + { 178706, true }, + { 178716, true }, + { 178727, true }, + { 178740, true }, + { 178763, true }, + { 178771, true }, + { 178783, true }, + { 178799, true }, + { 178809, false }, + { 178818, true }, + { 178825, true }, + { 178833, true }, + { 178842, false }, + { 178856, true }, + { 178870, true }, + { 178880, true }, + { 178890, true }, + { 178900, true }, + { 178912, true }, + { 178926, true }, + { 178939, true }, + { 178951, true }, + { 178963, true }, + { 178977, true }, + { 178995, false }, + { 179008, true }, { 179023, true }, - { 179041, true }, - { 179053, true }, - { 179066, true }, - { 179080, true }, + { 179037, true }, + { 179055, true }, + { 179065, true }, + { 179076, true }, { 179094, true }, - { 179104, true }, - { 179117, true }, - { 179127, true }, - { 179138, true }, + { 179106, true }, + { 179119, true }, + { 179133, true }, { 179147, true }, - { 179164, true }, - { 179175, true }, - { 179184, true }, - { 179197, true }, - { 179208, true }, - { 179226, true }, - { 179236, true }, - { 179248, true }, - { 179260, true }, - { 179271, true }, - { 179287, true }, - { 179304, true }, - { 179317, true }, - { 179331, true }, + { 179157, true }, + { 179170, true }, + { 179180, true }, + { 179191, true }, + { 179200, true }, + { 179217, true }, + { 179228, true }, + { 179237, true }, + { 179250, true }, + { 179261, true }, + { 179279, true }, + { 179289, true }, + { 179301, true }, + { 179313, true }, + { 179324, true }, { 179340, true }, - { 179353, false }, - { 179364, true }, - { 179380, true }, - { 179396, false }, - { 179411, false }, - { 179422, false }, - { 179429, true }, - { 179445, true }, - { 179463, true }, + { 179357, true }, + { 179370, true }, + { 179384, true }, + { 179393, true }, + { 179406, false }, + { 179417, true }, + { 179433, true }, + { 179449, false }, + { 179464, false }, + { 179475, false }, { 179482, true }, - { 179497, true }, - { 179514, true }, - { 179528, true }, - { 179544, true }, - { 179558, true }, - { 179575, true }, - { 179600, true }, - { 179621, true }, - { 179640, true }, - { 179655, false }, - { 179669, true }, - { 179683, true }, - { 179696, true }, - { 179717, true }, - { 179729, true }, - { 179741, true }, - { 179754, true }, - { 179764, true }, - { 179784, true }, - { 179797, true }, - { 179816, true }, - { 179832, true }, + { 179498, true }, + { 179516, true }, + { 179535, true }, + { 179550, true }, + { 179567, true }, + { 179581, true }, + { 179597, true }, + { 179611, true }, + { 179628, true }, + { 179653, true }, + { 179674, true }, + { 179693, true }, + { 179708, false }, + { 179722, true }, + { 179736, true }, + { 179749, true }, + { 179770, true }, + { 179782, true }, + { 179794, true }, + { 179807, true }, + { 179817, true }, + { 179837, true }, { 179850, true }, - { 179864, false }, - { 179876, true }, - { 179890, true }, - { 179900, true }, - { 179914, true }, - { 179924, true }, - { 179940, true }, - { 179966, true }, - { 179994, true }, - { 180007, true }, - { 180023, true }, + { 179869, true }, + { 179885, true }, + { 179903, true }, + { 179917, false }, + { 179929, true }, + { 179943, true }, + { 179953, true }, + { 179967, true }, + { 179977, true }, + { 179993, true }, + { 180019, true }, { 180047, true }, - { 180063, true }, - { 180078, true }, - { 180090, true }, - { 180102, true }, - { 180114, true }, - { 180132, true }, - { 180145, true }, - { 180164, true }, - { 180182, true }, - { 180197, true }, - { 180220, true }, - { 180237, true }, - { 180256, true }, - { 180276, true }, - { 180299, true }, - { 180318, true }, - { 180337, true }, - { 180356, true }, - { 180374, true }, - { 180385, true }, - { 180395, true }, - { 180410, true }, - { 180430, true }, - { 180451, true }, - { 180471, true }, - { 180490, true }, - { 180514, true }, - { 180529, true }, + { 180060, true }, + { 180076, true }, + { 180100, true }, + { 180116, true }, + { 180131, true }, + { 180143, true }, + { 180155, true }, + { 180167, true }, + { 180185, true }, + { 180198, true }, + { 180217, true }, + { 180235, true }, + { 180250, true }, + { 180273, true }, + { 180290, true }, + { 180309, true }, + { 180329, true }, + { 180352, true }, + { 180371, true }, + { 180390, true }, + { 180409, true }, + { 180427, true }, + { 180438, true }, + { 180448, true }, + { 180463, true }, + { 180483, true }, + { 180504, true }, + { 180524, true }, { 180543, true }, - { 180555, true }, - { 180565, true }, - { 180585, true }, - { 180615, true }, + { 180567, true }, + { 180582, true }, + { 180596, true }, + { 180608, true }, + { 180618, true }, { 180638, true }, - { 180661, true }, - { 180690, true }, - { 180708, true }, - { 180724, true }, + { 180668, true }, + { 180691, true }, + { 180714, true }, { 180743, true }, - { 180755, true }, - { 180765, true }, - { 180785, false }, - { 180797, true }, - { 180810, true }, - { 180828, true }, - { 180845, true }, + { 180761, true }, + { 180777, true }, + { 180796, true }, + { 180808, true }, + { 180818, true }, + { 180838, false }, + { 180850, true }, { 180863, true }, - { 180883, true }, + { 180881, true }, { 180898, true }, - { 180907, true }, - { 180920, true }, - { 180932, true }, - { 180943, true }, - { 180955, true }, - { 180967, true }, - { 180980, true }, - { 180995, true }, - { 181010, true }, - { 181024, true }, - { 181036, true }, - { 181056, true }, - { 181067, true }, - { 181079, true }, + { 180916, true }, + { 180936, true }, + { 180951, true }, + { 180960, true }, + { 180973, true }, + { 180985, true }, + { 180996, true }, + { 181008, true }, + { 181020, true }, + { 181033, true }, + { 181048, true }, + { 181063, true }, + { 181077, true }, { 181089, true }, { 181109, true }, - { 181123, true }, - { 181141, true }, - { 181154, true }, - { 181169, true }, - { 181185, true }, - { 181200, true }, - { 181212, true }, - { 181227, true }, - { 181243, true }, + { 181120, true }, + { 181132, true }, + { 181142, true }, + { 181162, true }, + { 181176, true }, + { 181194, true }, + { 181207, true }, + { 181222, true }, + { 181238, true }, { 181253, true }, - { 181260, true }, - { 181275, true }, - { 181288, true }, - { 181308, true }, - { 181320, true }, - { 181331, true }, - { 181344, true }, - { 181353, true }, + { 181265, true }, + { 181280, true }, + { 181296, true }, + { 181306, true }, + { 181313, true }, + { 181328, true }, + { 181341, true }, + { 181361, true }, { 181373, true }, - { 181393, true }, - { 181413, true }, - { 181427, true }, - { 181439, true }, - { 181450, true }, - { 181461, false }, - { 181472, true }, - { 181483, true }, - { 181494, false }, - { 181504, false }, - { 181521, true }, - { 181533, true }, - { 181549, true }, - { 181562, true }, - { 181571, true }, - { 181585, true }, - { 181596, true }, - { 181608, true }, - { 181617, true }, - { 181635, true }, + { 181384, true }, + { 181397, true }, + { 181406, true }, + { 181426, true }, + { 181446, true }, + { 181466, true }, + { 181480, true }, + { 181492, true }, + { 181503, true }, + { 181514, false }, + { 181525, true }, + { 181536, true }, + { 181547, false }, + { 181557, false }, + { 181574, true }, + { 181586, true }, + { 181602, true }, + { 181615, true }, + { 181624, true }, + { 181638, true }, { 181649, true }, - { 181660, true }, - { 181671, true }, - { 181684, true }, - { 181697, true }, - { 181706, true }, - { 181721, true }, - { 181732, true }, + { 181661, true }, + { 181670, true }, + { 181688, true }, + { 181702, true }, + { 181713, true }, + { 181724, true }, + { 181737, true }, { 181750, true }, - { 181770, true }, - { 181782, true }, - { 181792, true }, + { 181759, true }, + { 181774, true }, + { 181785, true }, { 181803, true }, - { 181836, true }, - { 181848, true }, - { 181862, true }, - { 181876, true }, - { 181891, true }, - { 181905, true }, - { 181919, false }, - { 181939, true }, - { 181956, true }, - { 181969, true }, - { 181984, true }, - { 182000, true }, - { 182019, true }, + { 181823, true }, + { 181835, true }, + { 181845, true }, + { 181856, true }, + { 181889, true }, + { 181901, true }, + { 181915, true }, + { 181929, true }, + { 181944, true }, + { 181958, true }, + { 181972, false }, + { 181992, true }, + { 182009, true }, + { 182022, true }, { 182037, true }, { 182053, true }, - { 182070, true }, - { 182082, true }, - { 182095, true }, - { 182108, true }, - { 182122, true }, + { 182072, true }, + { 182090, true }, + { 182106, true }, + { 182123, true }, { 182135, true }, { 182148, true }, - { 182164, true }, - { 182178, true }, - { 182191, true }, - { 182204, true }, + { 182161, true }, + { 182175, true }, + { 182188, true }, + { 182201, true }, { 182217, true }, - { 182230, true }, - { 182243, true }, - { 182258, true }, - { 182271, true }, - { 182285, true }, - { 182298, true }, - { 182312, true }, - { 182325, true }, + { 182231, true }, + { 182244, true }, + { 182257, true }, + { 182270, true }, + { 182283, true }, + { 182296, true }, + { 182311, true }, + { 182324, true }, { 182338, true }, { 182351, true }, - { 182364, true }, - { 182377, true }, - { 182389, true }, - { 182396, true }, - { 182413, true }, - { 182426, false }, - { 182435, true }, - { 182446, true }, - { 182455, true }, - { 182468, true }, + { 182365, true }, + { 182378, true }, + { 182391, true }, + { 182404, true }, + { 182417, true }, + { 182430, true }, + { 182442, true }, + { 182449, true }, + { 182466, true }, + { 182479, false }, + { 182488, true }, { 182499, true }, - { 182516, true }, - { 182529, true }, - { 182542, true }, - { 182558, true }, - { 182571, true }, - { 182584, true }, + { 182508, true }, + { 182521, true }, + { 182552, true }, + { 182569, true }, + { 182582, true }, { 182595, true }, - { 182604, true }, - { 182619, true }, - { 182631, true }, - { 182647, true }, + { 182611, true }, + { 182624, true }, + { 182637, true }, + { 182648, true }, + { 182657, true }, { 182672, true }, - { 182696, true }, - { 182717, true }, - { 182734, false }, - { 182747, true }, - { 182761, true }, - { 182774, true }, - { 182785, true }, - { 182802, true }, - { 182813, true }, - { 182832, true }, - { 182850, false }, - { 182862, true }, - { 182872, true }, - { 182908, true }, - { 182921, true }, - { 182935, true }, - { 182948, true }, - { 182957, true }, - { 182965, false }, - { 182975, true }, - { 182989, true }, + { 182684, true }, + { 182700, true }, + { 182725, true }, + { 182749, true }, + { 182770, true }, + { 182787, false }, + { 182800, true }, + { 182814, true }, + { 182827, true }, + { 182838, true }, + { 182855, true }, + { 182866, true }, + { 182885, true }, + { 182903, false }, + { 182915, true }, + { 182925, true }, + { 182961, true }, + { 182974, true }, + { 182988, true }, { 183001, true }, - { 183019, true }, - { 183033, true }, - { 183051, true }, + { 183010, true }, + { 183018, false }, + { 183028, true }, + { 183042, true }, + { 183054, true }, { 183072, true }, - { 183092, true }, - { 183115, true }, - { 183131, true }, - { 183148, true }, - { 183162, true }, - { 183178, true }, - { 183191, true }, - { 183212, true }, - { 183232, true }, - { 183246, true }, - { 183256, true }, - { 183269, true }, - { 183278, true }, - { 183312, true }, - { 183329, true }, - { 183340, true }, - { 183351, true }, - { 183363, true }, - { 183377, true }, - { 183388, true }, - { 183407, true }, - { 183420, true }, - { 183432, true }, - { 183445, true }, - { 183461, true }, - { 183480, true }, - { 183495, true }, - { 183509, true }, - { 183524, true }, - { 183541, false }, - { 183556, true }, - { 183576, true }, - { 183596, false }, - { 183605, true }, - { 183614, true }, - { 183625, true }, - { 183637, true }, - { 183651, true }, - { 183664, true }, - { 183682, true }, - { 183694, true }, - { 183709, true }, - { 183721, true }, - { 183732, true }, - { 183742, true }, - { 183763, true }, - { 183791, false }, - { 183802, true }, - { 183822, true }, - { 183845, true }, - { 183852, true }, - { 183863, true }, - { 183873, true }, - { 183883, true }, - { 183897, true }, - { 183911, true }, - { 183922, false }, - { 183933, true }, - { 183941, false }, - { 183961, true }, - { 183974, true }, - { 183990, true }, - { 184005, true }, - { 184021, true }, - { 184035, true }, - { 184050, true }, - { 184063, true }, - { 184079, true }, - { 184092, true }, - { 184101, true }, - { 184121, true }, - { 184134, true }, - { 184153, true }, - { 184171, true }, - { 184181, true }, - { 184195, true }, - { 184213, true }, - { 184221, true }, - { 184241, true }, - { 184265, true }, - { 184297, true }, - { 184311, true }, - { 184326, true }, - { 184345, true }, + { 183086, true }, + { 183104, true }, + { 183125, true }, + { 183145, true }, + { 183168, true }, + { 183184, true }, + { 183201, true }, + { 183215, true }, + { 183231, true }, + { 183244, true }, + { 183265, true }, + { 183285, true }, + { 183299, true }, + { 183309, true }, + { 183322, true }, + { 183331, true }, + { 183365, true }, + { 183382, true }, + { 183393, true }, + { 183404, true }, + { 183416, true }, + { 183430, true }, + { 183441, true }, + { 183460, true }, + { 183473, true }, + { 183485, true }, + { 183498, true }, + { 183514, true }, + { 183533, true }, + { 183548, true }, + { 183562, true }, + { 183577, true }, + { 183594, false }, + { 183609, true }, + { 183629, true }, + { 183649, false }, + { 183658, true }, + { 183667, true }, + { 183678, true }, + { 183690, true }, + { 183704, true }, + { 183717, true }, + { 183735, true }, + { 183747, true }, + { 183762, true }, + { 183774, true }, + { 183785, true }, + { 183795, true }, + { 183816, true }, + { 183844, false }, + { 183855, true }, + { 183875, true }, + { 183898, true }, + { 183905, true }, + { 183916, true }, + { 183926, true }, + { 183936, true }, + { 183950, true }, + { 183964, true }, + { 183975, false }, + { 183986, true }, + { 183994, false }, + { 184014, true }, + { 184027, true }, + { 184043, true }, + { 184058, true }, + { 184074, true }, + { 184088, true }, + { 184103, true }, + { 184116, true }, + { 184132, true }, + { 184145, true }, + { 184154, true }, + { 184174, true }, + { 184187, true }, + { 184206, true }, + { 184224, true }, + { 184234, true }, + { 184248, true }, + { 184266, true }, + { 184274, true }, + { 184294, true }, + { 184318, true }, + { 184350, true }, { 184364, true }, - { 184381, true }, + { 184379, true }, { 184398, true }, - { 184411, true }, - { 184426, true }, - { 184447, true }, - { 184468, true }, - { 184482, true }, - { 184498, true }, - { 184523, true }, + { 184417, true }, + { 184434, true }, + { 184451, true }, + { 184464, true }, + { 184479, true }, + { 184500, true }, + { 184521, true }, { 184535, true }, - { 184546, true }, - { 184563, true }, - { 184587, true }, - { 184596, true }, - { 184610, true }, - { 184623, true }, - { 184636, true }, - { 184648, true }, - { 184661, true }, - { 184678, true }, - { 184703, true }, - { 184716, true }, + { 184551, true }, + { 184576, true }, + { 184588, true }, + { 184599, true }, + { 184616, true }, + { 184640, true }, + { 184649, true }, + { 184663, true }, + { 184676, true }, + { 184689, true }, + { 184701, true }, + { 184714, true }, { 184731, true }, - { 184743, true }, - { 184757, true }, - { 184771, true }, - { 184788, true }, - { 184808, true }, + { 184756, true }, + { 184769, true }, + { 184784, true }, + { 184796, true }, + { 184810, true }, { 184824, true }, - { 184842, true }, - { 184857, true }, - { 184868, true }, - { 184883, true }, - { 184896, true }, - { 184911, true }, - { 184919, false }, - { 184932, true }, - { 184944, true }, - { 184959, true }, - { 184973, true }, - { 184987, true }, - { 184996, true }, - { 185005, true }, - { 185021, true }, - { 185037, true }, - { 185059, true }, - { 185076, true }, + { 184841, true }, + { 184861, true }, + { 184877, true }, + { 184895, true }, + { 184910, true }, + { 184921, true }, + { 184936, true }, + { 184949, true }, + { 184964, true }, + { 184972, false }, + { 184985, true }, + { 184997, true }, + { 185012, true }, + { 185026, true }, + { 185040, true }, + { 185049, true }, + { 185058, true }, + { 185074, true }, { 185090, true }, - { 185100, true }, - { 185114, true }, - { 185132, true }, - { 185149, true }, - { 185168, true }, + { 185112, true }, + { 185129, true }, + { 185143, true }, + { 185153, true }, + { 185167, true }, { 185185, true }, - { 185203, true }, + { 185202, true }, { 185221, true }, - { 185234, true }, - { 185242, true }, - { 185249, true }, - { 185261, true }, - { 185272, true }, - { 185288, true }, - { 185298, true }, - { 185311, true }, - { 185323, true }, - { 185336, true }, - { 185350, true }, - { 185366, true }, - { 185379, true }, - { 185393, true }, - { 185410, true }, - { 185420, true }, - { 185440, true }, - { 185452, true }, - { 185466, true }, - { 185481, true }, + { 185238, true }, + { 185256, true }, + { 185274, true }, + { 185287, true }, + { 185295, true }, + { 185302, true }, + { 185314, true }, + { 185325, true }, + { 185341, true }, + { 185351, true }, + { 185364, true }, + { 185376, true }, + { 185389, true }, + { 185403, true }, + { 185419, true }, + { 185432, true }, + { 185446, true }, + { 185463, true }, + { 185473, true }, { 185493, true }, - { 185502, true }, - { 185516, true }, - { 185524, true }, - { 185536, true }, - { 185547, true }, - { 185561, true }, - { 185582, true }, - { 185601, true }, - { 185619, true }, - { 185638, true }, - { 185656, true }, - { 185665, true }, - { 185677, true }, - { 185699, true }, - { 185717, true }, + { 185505, true }, + { 185519, true }, + { 185534, true }, + { 185546, true }, + { 185555, true }, + { 185569, true }, + { 185577, true }, + { 185589, true }, + { 185600, true }, + { 185614, true }, + { 185635, true }, + { 185654, true }, + { 185672, true }, + { 185691, true }, + { 185709, true }, + { 185718, true }, { 185730, true }, - { 185744, true }, - { 185763, true }, - { 185776, true }, - { 185788, true }, - { 185800, true }, - { 185811, true }, - { 185825, true }, - { 185839, false }, - { 185854, true }, - { 185874, true }, - { 185887, true }, - { 185904, true }, - { 185915, true }, - { 185926, true }, + { 185752, true }, + { 185770, true }, + { 185783, true }, + { 185797, true }, + { 185816, true }, + { 185829, true }, + { 185841, true }, + { 185853, true }, + { 185864, true }, + { 185878, true }, + { 185892, false }, + { 185907, true }, + { 185927, true }, { 185940, true }, - { 185961, true }, - { 185977, true }, - { 185988, true }, - { 186007, true }, - { 186023, true }, + { 185957, true }, + { 185968, true }, + { 185979, true }, + { 185993, true }, + { 186014, true }, + { 186030, true }, { 186041, true }, - { 186057, true }, - { 186080, true }, - { 186096, true }, + { 186060, true }, + { 186076, true }, + { 186094, true }, { 186110, true }, - { 186122, true }, - { 186131, true }, - { 186144, true }, - { 186162, true }, - { 186178, true }, - { 186193, true }, - { 186209, true }, - { 186224, true }, - { 186239, true }, - { 186255, true }, - { 186270, true }, - { 186285, true }, - { 186302, true }, - { 186312, true }, - { 186322, true }, - { 186335, true }, - { 186348, true }, - { 186358, true }, - { 186379, true }, - { 186391, false }, - { 186402, true }, - { 186416, true }, - { 186428, true }, - { 186437, false }, - { 186456, true }, - { 186473, true }, - { 186486, true }, - { 186501, true }, - { 186517, true }, - { 186531, true }, - { 186545, false }, - { 186558, false }, - { 186568, true }, - { 186581, true }, - { 186591, true }, - { 186608, true }, - { 186618, false }, - { 186627, false }, - { 186635, true }, - { 186643, false }, - { 186663, true }, - { 186676, true }, - { 186694, true }, - { 186706, false }, - { 186718, true }, - { 186732, true }, - { 186749, true }, - { 186763, true }, - { 186780, true }, - { 186796, true }, - { 186815, true }, - { 186831, true }, - { 186848, true }, + { 186133, true }, + { 186149, true }, + { 186163, true }, + { 186175, true }, + { 186184, true }, + { 186197, true }, + { 186215, true }, + { 186231, true }, + { 186246, true }, + { 186262, true }, + { 186277, true }, + { 186292, true }, + { 186308, true }, + { 186323, true }, + { 186338, true }, + { 186355, true }, + { 186365, true }, + { 186375, true }, + { 186388, true }, + { 186401, true }, + { 186411, true }, + { 186432, true }, + { 186444, false }, + { 186455, true }, + { 186469, true }, + { 186481, true }, + { 186490, false }, + { 186509, true }, + { 186526, true }, + { 186539, true }, + { 186554, true }, + { 186570, true }, + { 186584, true }, + { 186598, false }, + { 186611, false }, + { 186621, true }, + { 186634, true }, + { 186644, true }, + { 186661, true }, + { 186671, false }, + { 186680, false }, + { 186688, true }, + { 186696, false }, + { 186716, true }, + { 186729, true }, + { 186747, true }, + { 186759, false }, + { 186771, true }, + { 186785, true }, + { 186802, true }, + { 186816, true }, + { 186833, true }, + { 186849, true }, { 186868, true }, - { 186891, true }, - { 186917, true }, - { 186930, true }, + { 186884, true }, + { 186901, true }, + { 186921, true }, { 186944, true }, - { 186958, true }, - { 186972, true }, - { 186993, true }, - { 187007, true }, - { 187023, true }, - { 187036, true }, - { 187053, true }, - { 187082, true }, - { 187093, true }, - { 187107, true }, - { 187126, false }, - { 187148, true }, - { 187156, true }, - { 187168, true }, - { 187181, true }, + { 186970, true }, + { 186983, true }, + { 186997, true }, + { 187011, true }, + { 187025, true }, + { 187046, true }, + { 187060, true }, + { 187076, true }, + { 187089, true }, + { 187106, true }, + { 187135, true }, + { 187146, true }, + { 187161, true }, + { 187175, true }, { 187194, false }, - { 187205, true }, { 187216, true }, - { 187234, true }, - { 187253, true }, - { 187269, true }, - { 187285, true }, - { 187294, true }, - { 187308, false }, - { 187322, true }, - { 187340, true }, - { 187358, true }, - { 187375, true }, - { 187386, false }, - { 187402, false }, + { 187224, true }, + { 187236, true }, + { 187249, true }, + { 187262, false }, + { 187273, true }, + { 187284, true }, + { 187302, true }, + { 187321, true }, + { 187337, true }, + { 187353, true }, + { 187362, true }, + { 187376, false }, + { 187390, true }, + { 187408, true }, { 187426, true }, - { 187440, true }, - { 187455, true }, - { 187482, true }, - { 187497, true }, - { 187522, true }, - { 187541, true }, - { 187551, true }, - { 187596, true }, - { 187641, true }, - { 187655, true }, - { 187663, true }, - { 187672, true }, - { 187680, true }, - { 187692, true }, - { 187704, true }, - { 187718, true }, - { 187743, true }, + { 187443, true }, + { 187454, false }, + { 187470, false }, + { 187494, true }, + { 187508, true }, + { 187523, true }, + { 187550, true }, + { 187565, true }, + { 187590, true }, + { 187609, true }, + { 187619, true }, + { 187664, true }, + { 187709, true }, + { 187723, true }, + { 187731, true }, + { 187740, true }, + { 187748, true }, { 187760, true }, - { 187777, true }, - { 187792, true }, - { 187804, true }, - { 187816, true }, - { 187824, true }, - { 187842, true }, - { 187851, false }, - { 187859, true }, - { 187871, true }, - { 187896, true }, - { 187917, true }, - { 187930, true }, - { 187943, true }, - { 187955, false }, - { 187968, true }, - { 187984, true }, + { 187772, true }, + { 187786, true }, + { 187811, true }, + { 187828, true }, + { 187845, true }, + { 187860, true }, + { 187872, true }, + { 187884, true }, + { 187897, true }, + { 187905, true }, + { 187923, true }, + { 187932, false }, + { 187940, true }, + { 187952, true }, + { 187977, true }, { 187998, true }, - { 188019, true }, - { 188040, true }, - { 188059, true }, - { 188084, true }, - { 188093, true }, - { 188105, true }, - { 188118, true }, - { 188131, true }, - { 188143, true }, - { 188151, true }, - { 188163, true }, - { 188182, true }, - { 188194, true }, + { 188011, true }, + { 188024, true }, + { 188036, false }, + { 188049, true }, + { 188065, true }, + { 188079, true }, + { 188100, true }, + { 188119, true }, + { 188144, true }, + { 188153, true }, + { 188165, true }, + { 188178, true }, + { 188191, true }, + { 188203, true }, { 188211, true }, - { 188228, true }, - { 188240, false }, - { 188249, true }, - { 188258, true }, - { 188273, true }, - { 188295, true }, - { 188314, true }, - { 188329, true }, - { 188344, true }, - { 188358, true }, - { 188371, true }, - { 188393, true }, - { 188408, true }, - { 188423, true }, - { 188438, false }, - { 188449, true }, - { 188458, true }, - { 188470, true }, - { 188487, true }, - { 188499, true }, - { 188515, false }, + { 188223, true }, + { 188242, true }, + { 188254, true }, + { 188271, true }, + { 188288, true }, + { 188300, false }, + { 188309, true }, + { 188318, true }, + { 188333, true }, + { 188355, true }, + { 188374, true }, + { 188389, true }, + { 188404, true }, + { 188418, true }, + { 188431, true }, + { 188453, true }, + { 188468, true }, + { 188483, true }, + { 188498, false }, + { 188509, true }, + { 188518, true }, { 188530, true }, - { 188543, false }, - { 188567, true }, - { 188575, true }, - { 188586, true }, - { 188597, true }, - { 188608, true }, - { 188619, true }, - { 188630, false }, - { 188643, true }, + { 188547, true }, + { 188559, true }, + { 188575, false }, + { 188590, true }, + { 188603, false }, + { 188627, true }, + { 188635, true }, + { 188646, true }, { 188657, true }, - { 188669, true }, - { 188681, true }, - { 188697, true }, - { 188712, true }, - { 188731, true }, - { 188742, true }, - { 188766, true }, - { 188780, true }, - { 188794, true }, - { 188809, true }, - { 188829, true }, - { 188845, true }, - { 188864, true }, - { 188884, true }, - { 188896, true }, - { 188919, true }, - { 188936, true }, - { 188966, true }, - { 188978, true }, - { 188989, true }, - { 188999, true }, - { 189013, true }, + { 188668, true }, + { 188679, true }, + { 188690, false }, + { 188703, true }, + { 188717, true }, + { 188729, true }, + { 188741, true }, + { 188757, true }, + { 188772, true }, + { 188791, true }, + { 188802, true }, + { 188826, true }, + { 188840, true }, + { 188854, true }, + { 188869, true }, + { 188889, true }, + { 188905, true }, + { 188924, true }, + { 188944, true }, + { 188956, true }, + { 188979, true }, + { 188996, true }, { 189026, true }, - { 189044, false }, - { 189054, true }, - { 189069, true }, - { 189087, true }, - { 189096, true }, - { 189109, true }, - { 189126, true }, - { 189137, true }, - { 189147, true }, - { 189156, true }, - { 189177, true }, - { 189199, true }, - { 189215, true }, + { 189038, true }, + { 189049, true }, + { 189059, true }, + { 189073, true }, + { 189086, true }, + { 189104, false }, + { 189114, true }, + { 189128, true }, + { 189143, true }, + { 189161, true }, + { 189170, true }, + { 189183, true }, + { 189200, true }, + { 189211, true }, + { 189221, true }, { 189230, true }, - { 189250, true }, - { 189265, true }, - { 189280, true }, - { 189297, true }, - { 189319, true }, - { 189337, true }, - { 189347, true }, - { 189369, true }, - { 189386, true }, - { 189405, true }, - { 189427, false }, - { 189444, true }, - { 189458, true }, - { 189471, true }, - { 189496, true }, - { 189513, true }, - { 189529, true }, - { 189539, true }, - { 189550, true }, - { 189559, true }, - { 189566, true }, - { 189576, true }, - { 189590, true }, - { 189608, true }, - { 189628, true }, - { 189642, true }, - { 189651, true }, - { 189675, true }, - { 189696, true }, + { 189251, true }, + { 189273, true }, + { 189289, true }, + { 189304, true }, + { 189324, true }, + { 189339, true }, + { 189354, true }, + { 189371, true }, + { 189393, true }, + { 189411, true }, + { 189421, true }, + { 189443, true }, + { 189460, true }, + { 189479, true }, + { 189501, false }, + { 189518, true }, + { 189532, true }, + { 189545, true }, + { 189570, true }, + { 189587, true }, + { 189603, true }, + { 189613, true }, + { 189624, true }, + { 189633, true }, + { 189640, true }, + { 189650, true }, + { 189664, true }, + { 189682, true }, + { 189702, true }, { 189716, true }, - { 189734, true }, - { 189747, true }, - { 189768, true }, - { 189786, true }, - { 189798, true }, - { 189806, true }, - { 189828, true }, - { 189844, true }, - { 189857, true }, - { 189882, true }, - { 189893, false }, - { 189914, true }, - { 189925, true }, - { 189946, true }, - { 189961, true }, - { 189973, true }, - { 189990, true }, - { 190016, true }, + { 189725, true }, + { 189749, true }, + { 189770, true }, + { 189790, true }, + { 189808, true }, + { 189821, true }, + { 189842, true }, + { 189860, true }, + { 189872, true }, + { 189880, true }, + { 189902, true }, + { 189918, true }, + { 189931, true }, + { 189956, true }, + { 189967, false }, + { 189988, true }, + { 189999, true }, + { 190020, true }, { 190035, true }, - { 190052, true }, - { 190081, false }, - { 190099, true }, - { 190127, true }, - { 190143, true }, - { 190159, true }, - { 190182, true }, - { 190201, false }, - { 190220, true }, - { 190232, true }, - { 190252, false }, - { 190274, true }, - { 190287, true }, - { 190300, true }, - { 190315, true }, - { 190330, true }, - { 190344, true }, - { 190367, true }, - { 190377, true }, - { 190387, true }, - { 190406, true }, - { 190419, true }, + { 190047, true }, + { 190064, true }, + { 190090, true }, + { 190109, true }, + { 190126, true }, + { 190155, false }, + { 190173, true }, + { 190201, true }, + { 190217, true }, + { 190233, true }, + { 190256, true }, + { 190275, false }, + { 190294, true }, + { 190306, true }, + { 190326, false }, + { 190348, true }, + { 190361, true }, + { 190374, true }, + { 190389, true }, + { 190404, true }, + { 190418, true }, { 190441, true }, + { 190451, true }, { 190461, true }, { 190480, true }, - { 190492, true }, - { 190505, true }, - { 190518, true }, - { 190539, true }, - { 190565, true }, - { 190586, true }, - { 190607, true }, - { 190628, true }, - { 190648, true }, + { 190493, true }, + { 190515, true }, + { 190535, true }, + { 190554, true }, + { 190566, true }, + { 190579, true }, + { 190592, true }, + { 190613, true }, + { 190639, true }, { 190660, true }, - { 190680, true }, - { 190698, true }, - { 190716, true }, - { 190726, true }, - { 190738, true }, - { 190747, true }, - { 190770, true }, - { 190786, true }, - { 190798, true }, - { 190816, true }, - { 190841, true }, - { 190856, true }, - { 190877, true }, - { 190893, true }, - { 190910, true }, - { 190926, true }, - { 190947, false }, - { 190964, false }, - { 190982, true }, - { 190992, true }, - { 191006, true }, - { 191020, true }, - { 191030, true }, - { 191042, true }, - { 191054, true }, - { 191064, true }, - { 191075, true }, - { 191086, true }, - { 191100, true }, - { 191112, true }, - { 191136, true }, - { 191148, true }, - { 191177, true }, - { 191192, true }, - { 191206, true }, + { 190681, true }, + { 190702, true }, + { 190722, true }, + { 190734, true }, + { 190754, true }, + { 190772, true }, + { 190790, true }, + { 190800, true }, + { 190812, true }, + { 190821, true }, + { 190844, true }, + { 190860, true }, + { 190872, true }, + { 190890, true }, + { 190915, true }, + { 190930, true }, + { 190951, true }, + { 190967, true }, + { 190984, true }, + { 191000, true }, + { 191021, false }, + { 191038, false }, + { 191056, true }, + { 191066, true }, + { 191080, true }, + { 191094, true }, + { 191104, true }, + { 191116, true }, + { 191128, true }, + { 191138, true }, + { 191149, true }, + { 191160, true }, + { 191174, true }, + { 191186, true }, + { 191210, true }, { 191222, true }, - { 191237, true }, - { 191264, true }, - { 191278, true }, - { 191290, true }, - { 191310, true }, - { 191323, true }, - { 191337, true }, - { 191349, true }, - { 191361, true }, - { 191379, true }, - { 191391, true }, - { 191410, true }, - { 191427, true }, - { 191448, true }, - { 191472, true }, + { 191251, true }, + { 191266, true }, + { 191280, true }, + { 191296, true }, + { 191311, true }, + { 191338, true }, + { 191352, true }, + { 191364, true }, + { 191384, true }, + { 191397, true }, + { 191411, true }, + { 191423, true }, + { 191435, true }, + { 191453, true }, + { 191465, true }, { 191484, true }, - { 191502, true }, - { 191518, true }, - { 191538, false }, - { 191556, true }, + { 191501, true }, + { 191522, true }, + { 191546, true }, + { 191558, true }, { 191576, true }, - { 191590, true }, - { 191605, true }, - { 191631, true }, - { 191657, true }, - { 191670, true }, - { 191683, true }, - { 191703, true }, - { 191711, true }, - { 191722, true }, - { 191732, true }, - { 191759, true }, - { 191778, true }, - { 191797, true }, - { 191811, true }, - { 191829, true }, - { 191844, true }, - { 191860, false }, - { 191879, true }, - { 191893, true }, - { 191902, true }, - { 191919, true }, - { 191935, true }, - { 191952, true }, - { 191970, true }, - { 191989, true }, - { 192006, true }, - { 192019, true }, - { 192029, true }, + { 191592, true }, + { 191612, false }, + { 191630, true }, + { 191650, true }, + { 191664, true }, + { 191679, true }, + { 191705, true }, + { 191731, true }, + { 191744, true }, + { 191757, true }, + { 191777, true }, + { 191785, true }, + { 191796, true }, + { 191806, true }, + { 191833, true }, + { 191852, true }, + { 191871, true }, + { 191885, true }, + { 191903, true }, + { 191918, true }, + { 191934, false }, + { 191953, true }, + { 191967, true }, + { 191976, true }, + { 191993, true }, + { 192009, true }, + { 192026, true }, { 192044, true }, - { 192062, true }, - { 192090, true }, - { 192105, true }, - { 192120, true }, - { 192138, true }, - { 192155, true }, - { 192169, true }, - { 192184, false }, - { 192197, false }, - { 192207, false }, - { 192220, false }, - { 192235, true }, - { 192253, true }, - { 192270, true }, - { 192282, true }, - { 192294, true }, - { 192306, true }, - { 192322, true }, - { 192334, true }, - { 192347, true }, - { 192359, true }, - { 192372, true }, - { 192386, true }, - { 192398, true }, - { 192411, true }, + { 192063, true }, + { 192080, true }, + { 192093, true }, + { 192103, true }, + { 192118, true }, + { 192136, true }, + { 192164, true }, + { 192179, true }, + { 192194, true }, + { 192212, true }, + { 192229, true }, + { 192243, true }, + { 192258, false }, + { 192271, false }, + { 192281, false }, + { 192294, false }, + { 192309, true }, + { 192327, true }, + { 192344, true }, + { 192356, true }, + { 192368, true }, + { 192380, true }, + { 192396, true }, + { 192408, true }, { 192421, true }, - { 192431, true }, + { 192433, true }, { 192446, true }, - { 192458, true }, - { 192469, true }, - { 192487, true }, + { 192460, true }, + { 192472, true }, + { 192485, true }, { 192495, true }, - { 192503, true }, - { 192513, true }, - { 192525, true }, - { 192539, true }, - { 192553, true }, - { 192570, true }, - { 192600, true }, + { 192505, true }, + { 192520, true }, + { 192532, true }, + { 192543, true }, + { 192561, true }, + { 192569, true }, + { 192577, true }, + { 192587, true }, + { 192599, true }, + { 192613, true }, { 192627, true }, - { 192642, true }, - { 192658, true }, - { 192673, true }, - { 192688, true }, - { 192703, true }, - { 192714, true }, - { 192722, true }, - { 192737, true }, - { 192750, true }, - { 192758, true }, - { 192768, true }, - { 192784, true }, - { 192801, true }, - { 192826, true }, - { 192843, true }, - { 192856, true }, - { 192877, true }, - { 192890, true }, - { 192902, true }, - { 192910, true }, - { 192927, true }, - { 192943, false }, - { 192950, true }, - { 192961, true }, - { 192971, true }, - { 192979, true }, - { 192991, false }, - { 193015, true }, - { 193047, true }, - { 193074, true }, - { 193094, true }, - { 193118, true }, - { 193135, false }, + { 192644, true }, + { 192674, true }, + { 192701, true }, + { 192716, true }, + { 192732, true }, + { 192747, true }, + { 192762, true }, + { 192777, true }, + { 192788, true }, + { 192796, true }, + { 192811, true }, + { 192824, true }, + { 192832, true }, + { 192842, true }, + { 192858, true }, + { 192875, true }, + { 192900, true }, + { 192917, true }, + { 192930, true }, + { 192951, true }, + { 192964, true }, + { 192976, true }, + { 192984, true }, + { 193001, true }, + { 193017, false }, + { 193024, true }, + { 193035, true }, + { 193045, true }, + { 193053, true }, + { 193065, false }, + { 193089, true }, + { 193121, true }, { 193148, true }, - { 193163, true }, - { 193174, true }, - { 193185, true }, - { 193195, true }, - { 193208, true }, - { 193216, true }, - { 193228, true }, - { 193240, false }, - { 193252, false }, - { 193260, false }, - { 193285, true }, - { 193304, true }, - { 193317, true }, - { 193332, true }, - { 193346, true }, + { 193168, true }, + { 193192, true }, + { 193209, false }, + { 193222, true }, + { 193237, true }, + { 193248, true }, + { 193259, true }, + { 193269, true }, + { 193282, true }, + { 193290, true }, + { 193302, true }, + { 193314, false }, + { 193326, false }, + { 193334, false }, { 193359, true }, - { 193371, true }, - { 193388, true }, - { 193402, true }, - { 193419, true }, - { 193431, true }, + { 193378, true }, + { 193391, true }, + { 193406, true }, + { 193420, true }, + { 193433, true }, { 193445, true }, - { 193460, true }, - { 193478, true }, + { 193462, true }, + { 193476, true }, { 193493, true }, - { 193501, true }, - { 193508, true }, - { 193528, true }, - { 193542, true }, - { 193550, true }, - { 193558, true }, - { 193573, false }, - { 193588, true }, - { 193600, true }, - { 193614, false }, - { 193625, true }, - { 193636, true }, - { 193649, false }, - { 193659, true }, - { 193669, true }, - { 193679, true }, - { 193686, true }, + { 193505, true }, + { 193519, true }, + { 193534, true }, + { 193552, true }, + { 193567, true }, + { 193575, true }, + { 193582, true }, + { 193602, true }, + { 193616, true }, + { 193624, true }, + { 193632, true }, + { 193647, false }, + { 193662, true }, + { 193674, true }, + { 193688, false }, { 193699, true }, - { 193707, true }, - { 193724, true }, - { 193732, true }, - { 193741, true }, - { 193757, true }, - { 193776, true }, - { 193787, true }, - { 193799, true }, - { 193809, true }, - { 193826, false }, - { 193837, true }, - { 193845, true }, - { 193855, true }, - { 193864, true }, - { 193880, true }, - { 193901, true }, - { 193926, false }, - { 193942, true }, + { 193710, true }, + { 193723, false }, + { 193733, true }, + { 193743, true }, + { 193753, true }, + { 193760, true }, + { 193773, true }, + { 193781, true }, + { 193798, true }, + { 193806, true }, + { 193815, true }, + { 193831, true }, + { 193850, true }, + { 193861, true }, + { 193873, true }, + { 193883, true }, + { 193900, false }, + { 193911, true }, + { 193919, true }, + { 193929, true }, + { 193938, true }, { 193954, true }, - { 193966, true }, - { 193979, true }, - { 193987, true }, - { 193995, false }, - { 194015, false }, - { 194034, false }, - { 194053, false }, - { 194073, true }, - { 194093, false }, - { 194113, false }, - { 194132, false }, - { 194151, true }, - { 194170, true }, - { 194181, true }, - { 194191, true }, - { 194203, true }, - { 194212, true }, + { 193975, true }, + { 194000, false }, + { 194016, true }, + { 194028, true }, + { 194040, true }, + { 194053, true }, + { 194061, true }, + { 194069, false }, + { 194089, false }, + { 194108, false }, + { 194127, false }, + { 194147, true }, + { 194167, false }, + { 194187, false }, + { 194206, false }, { 194225, true }, - { 194240, true }, - { 194250, true }, - { 194263, false }, - { 194274, true }, - { 194283, true }, - { 194291, true }, - { 194304, true }, - { 194312, true }, - { 194322, true }, - { 194331, true }, - { 194346, true }, - { 194369, true }, - { 194388, false }, - { 194399, true }, + { 194244, true }, + { 194255, true }, + { 194265, true }, + { 194277, true }, + { 194290, true }, + { 194305, true }, + { 194315, false }, + { 194326, true }, + { 194335, true }, + { 194343, true }, + { 194356, true }, + { 194364, true }, + { 194374, true }, + { 194383, true }, + { 194398, true }, { 194421, true }, - { 194435, true }, - { 194444, true }, - { 194452, true }, - { 194464, true }, - { 194481, true }, - { 194490, true }, - { 194497, true }, - { 194505, true }, + { 194440, false }, + { 194451, true }, + { 194473, true }, + { 194487, true }, + { 194496, true }, + { 194504, true }, { 194516, true }, - { 194530, true }, + { 194533, true }, { 194542, true }, - { 194554, true }, - { 194563, true }, - { 194572, true }, - { 194584, false }, - { 194595, true }, - { 194608, true }, - { 194634, true }, - { 194657, false }, - { 194677, true }, - { 194694, true }, - { 194708, true }, - { 194727, true }, - { 194742, true }, - { 194758, true }, - { 194771, true }, - { 194782, true }, - { 194797, true }, - { 194817, true }, - { 194837, true }, - { 194852, true }, + { 194549, true }, + { 194557, true }, + { 194568, true }, + { 194582, true }, + { 194594, true }, + { 194606, true }, + { 194615, true }, + { 194624, true }, + { 194636, false }, + { 194647, true }, + { 194660, true }, + { 194686, true }, + { 194709, false }, + { 194729, true }, + { 194746, true }, + { 194760, true }, + { 194779, true }, + { 194794, true }, + { 194810, true }, + { 194823, true }, + { 194834, true }, + { 194849, true }, { 194869, true }, - { 194878, true }, - { 194896, true }, - { 194911, true }, - { 194932, true }, - { 194952, true }, - { 194967, true }, - { 194982, true }, - { 194997, true }, - { 195012, true }, - { 195026, true }, - { 195039, true }, - { 195053, true }, - { 195062, true }, - { 195077, true }, - { 195086, true }, - { 195104, true }, - { 195115, true }, - { 195125, true }, - { 195134, true }, - { 195145, true }, - { 195155, true }, - { 195164, true }, - { 195174, true }, - { 195187, true }, - { 195198, true }, - { 195208, true }, - { 195217, true }, - { 195233, true }, - { 195240, true }, - { 195251, true }, - { 195262, true }, - { 195273, true }, - { 195287, true }, - { 195294, true }, - { 195305, true }, - { 195313, true }, - { 195331, true }, - { 195343, true }, - { 195351, true }, - { 195371, false }, - { 195387, true }, - { 195406, true }, - { 195429, true }, - { 195448, true }, - { 195465, true }, - { 195476, true }, - { 195498, true }, - { 195521, true }, - { 195534, true }, - { 195543, true }, - { 195558, true }, - { 195581, true }, - { 195615, true }, - { 195631, true }, - { 195645, true }, - { 195661, true }, + { 194889, true }, + { 194904, true }, + { 194921, true }, + { 194930, true }, + { 194948, true }, + { 194963, true }, + { 194984, true }, + { 195004, true }, + { 195019, true }, + { 195034, true }, + { 195049, true }, + { 195064, true }, + { 195078, true }, + { 195091, true }, + { 195105, true }, + { 195114, true }, + { 195129, true }, + { 195138, true }, + { 195156, true }, + { 195167, true }, + { 195177, true }, + { 195186, true }, + { 195197, true }, + { 195207, true }, + { 195216, true }, + { 195226, true }, + { 195239, true }, + { 195250, true }, + { 195260, true }, + { 195269, true }, + { 195285, true }, + { 195292, true }, + { 195303, true }, + { 195314, true }, + { 195325, true }, + { 195339, true }, + { 195346, true }, + { 195357, true }, + { 195365, true }, + { 195383, true }, + { 195395, true }, + { 195403, true }, + { 195423, false }, + { 195439, true }, + { 195458, true }, + { 195481, true }, + { 195500, true }, + { 195517, true }, + { 195528, true }, + { 195550, true }, + { 195573, true }, + { 195586, true }, + { 195595, true }, + { 195610, true }, + { 195633, true }, + { 195667, true }, { 195683, true }, - { 195696, true }, - { 195723, true }, - { 195733, true }, - { 195743, true }, - { 195761, true }, - { 195771, true }, - { 195790, true }, + { 195697, true }, + { 195713, true }, + { 195735, true }, + { 195748, true }, + { 195775, true }, + { 195785, true }, + { 195795, true }, { 195813, true }, - { 195824, true }, - { 195839, true }, - { 195850, true }, - { 195873, true }, - { 195888, true }, - { 195911, true }, - { 195920, true }, - { 195933, true }, - { 195951, true }, - { 195968, true }, - { 195978, true }, + { 195823, true }, + { 195842, true }, + { 195865, true }, + { 195876, true }, + { 195891, true }, + { 195902, true }, + { 195925, true }, + { 195940, true }, + { 195963, true }, + { 195972, true }, + { 195985, true }, { 196003, true }, - { 196021, true }, - { 196036, true }, - { 196046, true }, - { 196058, true }, - { 196071, false }, - { 196083, true }, - { 196100, true }, + { 196020, true }, + { 196030, true }, + { 196055, true }, + { 196073, true }, + { 196088, true }, + { 196098, true }, { 196110, true }, - { 196133, true }, - { 196154, true }, - { 196176, true }, - { 196194, true }, - { 196205, true }, - { 196219, true }, - { 196232, true }, - { 196243, true }, - { 196255, true }, - { 196269, true }, - { 196280, true }, - { 196290, true }, - { 196304, true }, - { 196319, true }, - { 196329, true }, - { 196340, true }, - { 196353, true }, - { 196362, true }, + { 196123, false }, + { 196135, true }, + { 196152, true }, + { 196162, true }, + { 196185, true }, + { 196206, true }, + { 196228, true }, + { 196246, true }, + { 196257, true }, + { 196271, true }, + { 196284, true }, + { 196295, true }, + { 196307, true }, + { 196321, true }, + { 196332, true }, + { 196342, true }, + { 196356, true }, { 196371, true }, - { 196387, true }, - { 196403, true }, - { 196417, false }, - { 196434, true }, - { 196445, true }, - { 196460, true }, - { 196472, true }, + { 196381, true }, + { 196392, true }, + { 196405, true }, + { 196414, true }, + { 196423, true }, + { 196439, true }, + { 196455, true }, + { 196469, false }, { 196486, true }, - { 196499, true }, - { 196517, true }, - { 196528, true }, - { 196540, true }, - { 196553, true }, - { 196565, true }, - { 196574, true }, - { 196585, true }, - { 196602, true }, - { 196618, true }, - { 196630, true }, - { 196642, true }, - { 196659, true }, - { 196671, true }, - { 196681, true }, + { 196497, true }, + { 196512, true }, + { 196524, true }, + { 196538, true }, + { 196551, true }, + { 196569, true }, + { 196580, true }, + { 196592, true }, + { 196605, true }, + { 196617, true }, + { 196626, true }, + { 196637, true }, + { 196654, true }, + { 196670, true }, + { 196682, true }, { 196694, true }, { 196711, true }, - { 196725, true }, - { 196740, true }, - { 196752, true }, + { 196723, true }, + { 196733, true }, + { 196746, true }, { 196763, true }, - { 196770, true }, - { 196781, true }, - { 196797, true }, - { 196805, true }, - { 196814, false }, - { 196821, true }, - { 196838, true }, - { 196851, true }, - { 196866, true }, - { 196885, true }, - { 196896, true }, - { 196915, true }, - { 196938, true }, - { 196950, false }, - { 196964, true }, - { 196980, true }, - { 196998, true }, - { 197010, true }, - { 197027, true }, - { 197038, true }, - { 197054, false }, - { 197073, true }, - { 197086, true }, - { 197101, true }, - { 197120, true }, - { 197136, true }, - { 197157, true }, - { 197173, true }, - { 197185, true }, - { 197199, true }, - { 197213, true }, - { 197226, true }, - { 197236, true }, - { 197257, true }, - { 197279, true }, - { 197298, true }, + { 196777, true }, + { 196792, true }, + { 196804, true }, + { 196815, true }, + { 196822, true }, + { 196833, true }, + { 196849, true }, + { 196857, true }, + { 196866, false }, + { 196873, true }, + { 196890, true }, + { 196903, true }, + { 196918, true }, + { 196937, true }, + { 196948, true }, + { 196967, true }, + { 196990, true }, + { 197002, false }, + { 197016, true }, + { 197032, true }, + { 197050, true }, + { 197062, true }, + { 197079, true }, + { 197090, true }, + { 197106, false }, + { 197125, true }, + { 197138, true }, + { 197153, true }, + { 197172, true }, + { 197188, true }, + { 197209, true }, + { 197225, true }, + { 197237, true }, + { 197251, true }, + { 197265, true }, + { 197278, true }, + { 197288, true }, { 197309, true }, - { 197326, true }, - { 197341, true }, + { 197331, true }, + { 197350, true }, { 197361, true }, - { 197388, true }, - { 197419, true }, - { 197431, true }, - { 197446, true }, - { 197465, false }, - { 197482, true }, - { 197497, true }, - { 197513, true }, - { 197525, true }, - { 197548, true }, - { 197563, true }, - { 197574, true }, - { 197582, true }, - { 197605, true }, - { 197617, true }, - { 197630, true }, - { 197638, true }, - { 197664, true }, - { 197679, true }, - { 197697, true }, - { 197710, true }, - { 197727, true }, - { 197739, true }, - { 197766, true }, - { 197797, true }, - { 197808, true }, + { 197378, true }, + { 197393, true }, + { 197413, true }, + { 197440, true }, + { 197471, true }, + { 197483, true }, + { 197498, true }, + { 197517, false }, + { 197534, true }, + { 197549, true }, + { 197565, true }, + { 197577, true }, + { 197600, true }, + { 197615, true }, + { 197626, true }, + { 197634, true }, + { 197657, true }, + { 197669, true }, + { 197682, true }, + { 197690, true }, + { 197716, true }, + { 197731, true }, + { 197749, true }, + { 197762, true }, + { 197779, true }, + { 197791, true }, { 197818, true }, - { 197833, true }, - { 197844, true }, - { 197855, true }, - { 197871, true }, - { 197883, true }, - { 197892, true }, - { 197905, true }, - { 197933, true }, - { 197954, true }, - { 197968, true }, - { 197990, true }, - { 198007, true }, - { 198019, true }, - { 198035, true }, - { 198049, true }, + { 197849, true }, + { 197860, true }, + { 197870, true }, + { 197885, true }, + { 197896, true }, + { 197907, true }, + { 197923, true }, + { 197935, true }, + { 197944, true }, + { 197957, true }, + { 197985, true }, + { 198006, true }, + { 198020, true }, + { 198042, true }, { 198059, true }, - { 198069, true }, - { 198081, true }, - { 198092, true }, - { 198103, true }, - { 198117, true }, - { 198135, true }, - { 198152, true }, - { 198172, true }, - { 198183, true }, - { 198194, true }, - { 198201, true }, - { 198211, true }, - { 198238, true }, - { 198258, true }, - { 198276, true }, - { 198291, false }, - { 198302, true }, - { 198318, true }, - { 198335, true }, - { 198352, true }, - { 198374, true }, - { 198388, true }, - { 198404, false }, - { 198421, true }, - { 198437, true }, - { 198450, true }, - { 198460, true }, - { 198471, true }, + { 198071, true }, + { 198087, true }, + { 198101, true }, + { 198111, true }, + { 198121, true }, + { 198133, true }, + { 198144, true }, + { 198155, true }, + { 198169, true }, + { 198187, true }, + { 198204, true }, + { 198224, true }, + { 198235, true }, + { 198246, true }, + { 198253, true }, + { 198263, true }, + { 198290, true }, + { 198310, true }, + { 198328, true }, + { 198343, false }, + { 198354, true }, + { 198370, true }, + { 198387, true }, + { 198404, true }, + { 198426, true }, + { 198440, true }, + { 198456, false }, + { 198473, true }, { 198489, true }, - { 198503, true }, - { 198524, true }, - { 198542, true }, - { 198560, true }, - { 198578, true }, - { 198596, true }, - { 198610, true }, - { 198620, true }, - { 198631, true }, - { 198653, true }, - { 198670, true }, - { 198690, true }, - { 198701, true }, - { 198720, true }, - { 198734, true }, + { 198502, true }, + { 198512, true }, + { 198523, true }, + { 198541, true }, + { 198555, true }, + { 198576, true }, + { 198594, true }, + { 198612, true }, + { 198630, true }, + { 198648, true }, + { 198662, true }, + { 198672, true }, + { 198683, true }, + { 198705, true }, + { 198722, true }, + { 198742, true }, { 198753, true }, - { 198765, true }, + { 198772, true }, { 198786, true }, - { 198798, true }, - { 198821, true }, - { 198839, true }, - { 198859, true }, - { 198870, true }, - { 198880, true }, - { 198896, true }, - { 198907, true }, - { 198919, false }, - { 198939, true }, - { 198958, true }, - { 198971, true }, - { 198981, true }, - { 198995, true }, - { 199012, true }, - { 199032, true }, - { 199046, true }, - { 199061, true }, - { 199075, true }, - { 199089, false }, - { 199099, true }, - { 199117, true }, - { 199131, false }, - { 199146, true }, - { 199167, true }, - { 199181, true }, - { 199194, false }, - { 199208, true }, - { 199224, true }, - { 199241, true }, - { 199257, true }, - { 199280, true }, - { 199289, false }, - { 199297, true }, - { 199307, true }, - { 199321, true }, - { 199334, true }, + { 198805, true }, + { 198817, true }, + { 198838, true }, + { 198850, true }, + { 198873, true }, + { 198891, true }, + { 198911, true }, + { 198922, true }, + { 198932, true }, + { 198948, true }, + { 198959, true }, + { 198971, false }, + { 198991, true }, + { 199010, true }, + { 199023, true }, + { 199033, true }, + { 199047, true }, + { 199064, true }, + { 199084, true }, + { 199098, true }, + { 199113, true }, + { 199127, true }, + { 199141, false }, + { 199151, true }, + { 199169, true }, + { 199183, false }, + { 199198, true }, + { 199219, true }, + { 199233, true }, + { 199246, false }, + { 199260, true }, + { 199276, true }, + { 199293, true }, + { 199309, true }, + { 199332, true }, + { 199341, false }, { 199349, true }, - { 199363, true }, - { 199378, true }, - { 199392, true }, - { 199406, true }, - { 199419, true }, - { 199433, true }, - { 199446, true }, - { 199474, true }, - { 199486, true }, - { 199501, true }, + { 199359, true }, + { 199373, true }, + { 199386, true }, + { 199401, true }, + { 199415, true }, + { 199430, true }, + { 199444, true }, + { 199458, true }, + { 199471, true }, + { 199485, true }, + { 199498, true }, { 199526, true }, - { 199540, true }, - { 199561, true }, - { 199575, true }, - { 199586, true }, - { 199594, true }, - { 199612, true }, - { 199624, true }, - { 199641, true }, - { 199666, true }, + { 199538, true }, + { 199553, true }, + { 199578, true }, + { 199592, true }, + { 199613, true }, + { 199627, true }, + { 199638, true }, + { 199646, true }, + { 199664, true }, { 199676, true }, - { 199694, true }, - { 199719, true }, - { 199739, true }, - { 199760, true }, - { 199780, true }, - { 199790, true }, - { 199803, false }, - { 199828, true }, - { 199849, true }, - { 199875, true }, - { 199895, true }, - { 199915, true }, - { 199940, true }, - { 199954, true }, + { 199693, true }, + { 199718, true }, + { 199728, true }, + { 199746, true }, + { 199771, true }, + { 199791, true }, + { 199812, true }, + { 199832, true }, + { 199842, true }, + { 199855, false }, + { 199880, true }, + { 199901, true }, + { 199927, true }, + { 199947, true }, { 199967, true }, - { 199978, true }, - { 199986, true }, - { 199995, true }, - { 200003, true }, - { 200017, true }, - { 200031, true }, - { 200044, true }, - { 200060, true }, - { 200073, true }, + { 199992, true }, + { 200006, true }, + { 200019, true }, + { 200030, true }, + { 200038, true }, + { 200047, true }, + { 200055, true }, + { 200069, true }, { 200083, true }, - { 200094, true }, - { 200105, true }, - { 200123, true }, - { 200139, true }, - { 200149, false }, - { 200161, true }, - { 200182, true }, - { 200206, true }, - { 200218, true }, - { 200228, true }, - { 200244, true }, - { 200268, true }, - { 200275, true }, - { 200291, true }, - { 200308, true }, - { 200322, true }, - { 200334, true }, - { 200346, true }, - { 200359, true }, - { 200371, true }, - { 200377, true }, - { 200387, true }, - { 200401, true }, - { 200410, true }, - { 200431, true }, - { 200444, true }, - { 200461, true }, - { 200476, true }, - { 200501, true }, - { 200527, true }, - { 200542, true }, - { 200552, true }, - { 200563, true }, - { 200572, false }, + { 200096, true }, + { 200112, true }, + { 200125, true }, + { 200135, true }, + { 200146, true }, + { 200157, true }, + { 200175, true }, + { 200191, true }, + { 200201, false }, + { 200213, true }, + { 200234, true }, + { 200258, true }, + { 200270, true }, + { 200280, true }, + { 200296, true }, + { 200320, true }, + { 200327, true }, + { 200343, true }, + { 200360, true }, + { 200374, true }, + { 200386, true }, + { 200398, true }, + { 200411, true }, + { 200423, true }, + { 200429, true }, + { 200439, true }, + { 200453, true }, + { 200462, true }, + { 200483, true }, + { 200496, true }, + { 200513, true }, + { 200528, true }, + { 200553, true }, + { 200579, true }, { 200594, true }, - { 200603, true }, - { 200618, true }, - { 200628, true }, - { 200644, true }, - { 200657, true }, - { 200669, true }, - { 200686, true }, - { 200707, true }, - { 200727, true }, - { 200748, true }, - { 200765, true }, - { 200781, true }, + { 200604, true }, + { 200615, true }, + { 200624, false }, + { 200646, true }, + { 200655, true }, + { 200670, true }, + { 200680, true }, + { 200696, true }, + { 200709, true }, + { 200721, true }, + { 200738, true }, + { 200759, true }, + { 200779, true }, { 200800, true }, - { 200812, true }, - { 200826, true }, - { 200841, true }, - { 200857, true }, - { 200871, true }, - { 200883, true }, - { 200897, true }, + { 200817, true }, + { 200833, true }, + { 200852, true }, + { 200864, true }, + { 200878, true }, + { 200893, true }, { 200909, true }, - { 200928, true }, - { 200944, true }, - { 200960, true }, - { 200976, true }, - { 200994, true }, - { 201013, true }, - { 201030, true }, - { 201047, true }, + { 200923, true }, + { 200935, true }, + { 200949, true }, + { 200961, true }, + { 200980, true }, + { 200996, true }, + { 201012, true }, + { 201028, true }, + { 201046, true }, { 201065, true }, - { 201083, true }, - { 201098, true }, - { 201114, true }, - { 201128, true }, - { 201146, true }, - { 201163, true }, - { 201176, true }, - { 201195, true }, + { 201082, true }, + { 201099, true }, + { 201117, true }, + { 201135, true }, + { 201150, true }, + { 201166, true }, + { 201180, true }, + { 201198, true }, { 201215, true }, - { 201232, true }, - { 201248, true }, - { 201266, true }, - { 201279, true }, - { 201296, false }, - { 201313, false }, - { 201334, true }, - { 201351, true }, - { 201361, true }, - { 201380, true }, - { 201394, true }, - { 201407, true }, - { 201415, true }, - { 201426, true }, - { 201441, true }, - { 201454, true }, - { 201465, true }, - { 201483, true }, - { 201495, true }, - { 201508, true }, - { 201532, true }, - { 201541, true }, - { 201556, true }, - { 201580, true }, - { 201607, true }, - { 201625, true }, - { 201637, true }, - { 201646, true }, - { 201657, true }, - { 201680, true }, - { 201693, true }, - { 201701, true }, + { 201228, true }, + { 201247, true }, + { 201267, true }, + { 201284, true }, + { 201300, true }, + { 201318, true }, + { 201331, true }, + { 201348, false }, + { 201365, false }, + { 201386, true }, + { 201403, true }, + { 201413, true }, + { 201432, true }, + { 201446, true }, + { 201459, true }, + { 201467, true }, + { 201478, true }, + { 201493, true }, + { 201506, true }, + { 201517, true }, + { 201535, true }, + { 201547, true }, + { 201560, true }, + { 201584, true }, + { 201593, true }, + { 201608, true }, + { 201632, true }, + { 201659, true }, + { 201677, true }, + { 201689, true }, + { 201698, true }, { 201709, true }, - { 201717, true }, - { 201727, true }, - { 201734, true }, + { 201732, true }, + { 201745, true }, { 201753, true }, - { 201760, true }, - { 201775, true }, - { 201784, true }, - { 201796, false }, - { 201816, true }, - { 201826, true }, - { 201843, true }, - { 201859, true }, + { 201761, true }, + { 201769, true }, + { 201779, true }, + { 201786, true }, + { 201805, true }, + { 201812, true }, + { 201827, true }, + { 201836, true }, + { 201848, false }, + { 201868, true }, { 201878, true }, - { 201889, true }, - { 201907, true }, - { 201924, true }, - { 201946, true }, + { 201895, true }, + { 201911, true }, + { 201930, true }, + { 201941, true }, { 201959, true }, - { 201984, true }, - { 202003, true }, - { 202015, true }, - { 202026, true }, - { 202039, true }, - { 202058, true }, - { 202073, true }, - { 202088, true }, - { 202104, true }, - { 202127, true }, - { 202147, true }, - { 202160, true }, - { 202175, true }, - { 202188, true }, - { 202202, true }, - { 202216, true }, + { 201976, true }, + { 201998, true }, + { 202011, true }, + { 202036, true }, + { 202055, true }, + { 202067, true }, + { 202078, true }, + { 202091, true }, + { 202110, true }, + { 202125, true }, + { 202140, true }, + { 202156, true }, + { 202179, true }, + { 202199, true }, + { 202212, true }, { 202227, true }, - { 202238, true }, - { 202248, true }, + { 202240, true }, + { 202254, true }, { 202268, true }, - { 202287, true }, - { 202299, true }, - { 202316, true }, - { 202334, true }, - { 202346, true }, - { 202363, true }, - { 202378, true }, - { 202397, true }, - { 202408, true }, - { 202432, true }, - { 202454, true }, - { 202464, true }, - { 202476, true }, - { 202486, true }, - { 202503, true }, - { 202513, true }, - { 202527, true }, - { 202543, true }, - { 202574, true }, - { 202583, true }, - { 202597, true }, - { 202610, true }, - { 202627, true }, - { 202644, true }, - { 202656, true }, - { 202672, true }, - { 202689, true }, - { 202702, true }, - { 202715, true }, - { 202725, true }, - { 202739, true }, - { 202753, true }, - { 202762, true }, - { 202772, true }, - { 202787, true }, - { 202797, true }, - { 202811, true }, - { 202827, true }, - { 202844, true }, - { 202857, true }, - { 202875, true }, - { 202892, true }, - { 202908, true }, - { 202925, true }, - { 202947, true }, - { 202969, true }, - { 202980, true }, - { 202992, true }, - { 203010, true }, - { 203024, true }, - { 203037, true }, - { 203050, true }, - { 203069, true }, + { 202279, true }, + { 202290, true }, + { 202300, true }, + { 202320, true }, + { 202339, true }, + { 202351, true }, + { 202368, true }, + { 202386, true }, + { 202398, true }, + { 202415, true }, + { 202430, true }, + { 202449, true }, + { 202460, true }, + { 202484, true }, + { 202506, true }, + { 202516, true }, + { 202528, true }, + { 202538, true }, + { 202555, true }, + { 202565, true }, + { 202579, true }, + { 202595, true }, + { 202626, true }, + { 202635, true }, + { 202649, true }, + { 202662, true }, + { 202679, true }, + { 202696, true }, + { 202708, true }, + { 202724, true }, + { 202741, true }, + { 202754, true }, + { 202767, true }, + { 202777, true }, + { 202791, true }, + { 202805, true }, + { 202814, true }, + { 202824, true }, + { 202839, true }, + { 202849, true }, + { 202863, true }, + { 202879, true }, + { 202896, true }, + { 202909, true }, + { 202927, true }, + { 202944, true }, + { 202960, true }, + { 202977, true }, + { 202999, true }, + { 203021, true }, + { 203032, true }, + { 203044, true }, + { 203062, true }, + { 203076, true }, { 203089, true }, - { 203101, true }, - { 203108, true }, - { 203126, true }, - { 203138, true }, - { 203148, true }, + { 203102, true }, + { 203121, true }, + { 203141, true }, + { 203153, true }, { 203160, true }, - { 203171, true }, - { 203186, true }, - { 203203, true }, - { 203215, true }, - { 203227, true }, - { 203246, true }, - { 203272, true }, - { 203281, true }, - { 203296, true }, - { 203310, true }, - { 203326, true }, - { 203341, true }, - { 203363, true }, - { 203376, true }, - { 203390, true }, + { 203178, true }, + { 203190, true }, + { 203200, true }, + { 203212, true }, + { 203223, true }, + { 203238, true }, + { 203255, true }, + { 203267, true }, + { 203279, true }, + { 203298, true }, + { 203324, true }, + { 203333, true }, + { 203348, true }, + { 203362, true }, + { 203378, true }, + { 203393, true }, { 203415, true }, - { 203431, true }, - { 203449, true }, - { 203463, true }, - { 203473, true }, - { 203484, true }, - { 203494, true }, - { 203506, true }, - { 203519, true }, - { 203531, true }, - { 203550, true }, - { 203568, true }, - { 203584, true }, - { 203599, true }, - { 203614, true }, - { 203624, false }, - { 203647, true }, - { 203663, true }, - { 203676, true }, - { 203687, true }, - { 203697, true }, - { 203713, true }, - { 203730, true }, - { 203750, true }, - { 203781, true }, + { 203428, true }, + { 203442, true }, + { 203467, true }, + { 203483, true }, + { 203501, true }, + { 203515, true }, + { 203525, true }, + { 203536, true }, + { 203546, true }, + { 203558, true }, + { 203571, true }, + { 203583, true }, + { 203602, true }, + { 203620, true }, + { 203636, true }, + { 203651, true }, + { 203666, true }, + { 203676, false }, + { 203699, true }, + { 203715, true }, + { 203728, true }, + { 203739, true }, + { 203749, true }, + { 203765, true }, + { 203782, true }, { 203802, true }, - { 203827, true }, - { 203848, true }, - { 203859, true }, - { 203876, true }, - { 203887, true }, - { 203899, true }, - { 203914, true }, - { 203926, true }, + { 203833, true }, + { 203854, true }, + { 203879, true }, + { 203900, true }, + { 203911, true }, + { 203928, true }, { 203939, true }, - { 203959, true }, - { 203967, true }, + { 203951, true }, + { 203966, true }, { 203978, true }, - { 203987, true }, - { 203996, true }, - { 204003, true }, + { 203991, true }, { 204011, true }, - { 204022, true }, - { 204034, false }, - { 204041, true }, - { 204053, true }, - { 204060, true }, - { 204068, true }, - { 204081, false }, - { 204090, true }, - { 204099, true }, - { 204110, true }, - { 204117, true }, - { 204134, true }, - { 204143, true }, + { 204019, true }, + { 204030, true }, + { 204039, true }, + { 204048, true }, + { 204055, true }, + { 204063, true }, + { 204074, true }, + { 204086, false }, + { 204093, true }, + { 204105, true }, + { 204112, true }, + { 204120, true }, + { 204133, false }, + { 204142, true }, { 204151, true }, - { 204165, true }, - { 204173, true }, - { 204192, false }, - { 204212, true }, - { 204222, true }, - { 204243, true }, - { 204252, true }, - { 204263, true }, - { 204279, true }, - { 204293, true }, - { 204310, true }, - { 204327, true }, - { 204338, true }, - { 204367, false }, - { 204379, true }, - { 204392, true }, - { 204413, true }, - { 204424, true }, - { 204438, true }, - { 204450, true }, - { 204464, true }, - { 204472, true }, + { 204162, true }, + { 204169, true }, + { 204186, true }, + { 204195, true }, + { 204203, true }, + { 204217, true }, + { 204236, false }, + { 204256, true }, + { 204266, true }, + { 204287, true }, + { 204296, true }, + { 204307, false }, + { 204319, true }, + { 204335, true }, + { 204349, true }, + { 204366, true }, + { 204377, true }, + { 204406, false }, + { 204418, true }, + { 204431, true }, + { 204452, true }, + { 204463, true }, + { 204477, true }, { 204489, true }, - { 204501, true }, - { 204516, true }, - { 204530, true }, - { 204538, true }, - { 204546, true }, - { 204554, true }, - { 204566, true }, - { 204574, true }, - { 204587, true }, - { 204599, true }, + { 204503, true }, + { 204511, true }, + { 204528, true }, + { 204540, true }, + { 204555, true }, + { 204569, true }, + { 204577, true }, + { 204585, true }, + { 204593, true }, + { 204605, true }, { 204613, true }, - { 204630, true }, - { 204648, true }, - { 204661, true }, - { 204671, true }, - { 204680, false }, - { 204690, true }, - { 204702, false }, - { 204714, true }, - { 204727, true }, - { 204740, true }, - { 204749, true }, - { 204772, true }, - { 204786, true }, - { 204794, true }, - { 204807, true }, - { 204823, true }, - { 204840, true }, - { 204853, true }, - { 204865, true }, - { 204876, true }, - { 204895, true }, - { 204917, true }, - { 204939, true }, - { 204959, true }, - { 204977, false }, - { 204993, true }, - { 205016, true }, - { 205024, true }, - { 205039, true }, - { 205058, true }, - { 205074, true }, - { 205090, true }, - { 205110, false }, - { 205135, true }, - { 205152, true }, - { 205170, true }, - { 205178, true }, - { 205185, true }, - { 205197, true }, - { 205210, true }, - { 205220, true }, - { 205236, true }, - { 205244, true }, - { 205252, true }, - { 205260, true }, - { 205267, true }, - { 205278, false }, - { 205301, true }, + { 204626, true }, + { 204638, true }, + { 204652, true }, + { 204669, true }, + { 204687, true }, + { 204700, true }, + { 204710, true }, + { 204719, false }, + { 204729, true }, + { 204741, false }, + { 204753, true }, + { 204766, true }, + { 204779, true }, + { 204788, true }, + { 204811, true }, + { 204825, true }, + { 204833, true }, + { 204846, true }, + { 204862, true }, + { 204879, true }, + { 204892, true }, + { 204904, true }, + { 204915, true }, + { 204934, true }, + { 204956, true }, + { 204978, true }, + { 204998, true }, + { 205016, false }, + { 205032, true }, + { 205055, true }, + { 205063, true }, + { 205078, true }, + { 205097, true }, + { 205113, true }, + { 205127, true }, + { 205143, true }, + { 205163, false }, + { 205188, true }, + { 205205, true }, + { 205223, true }, + { 205231, true }, + { 205238, true }, + { 205250, true }, + { 205263, true }, + { 205273, true }, + { 205289, true }, + { 205297, true }, + { 205305, true }, + { 205313, true }, { 205320, true }, - { 205345, true }, - { 205362, true }, - { 205374, true }, - { 205386, true }, - { 205400, true }, - { 205410, true }, - { 205421, true }, - { 205436, true }, - { 205445, true }, - { 205459, true }, - { 205468, true }, - { 205483, true }, - { 205494, true }, - { 205507, true }, - { 205529, true }, - { 205539, true }, + { 205331, false }, + { 205354, true }, + { 205373, true }, + { 205398, true }, + { 205415, true }, + { 205427, true }, + { 205439, true }, + { 205453, true }, + { 205463, true }, + { 205474, true }, + { 205489, true }, + { 205498, true }, + { 205512, true }, + { 205521, true }, + { 205536, true }, + { 205547, true }, { 205560, true }, - { 205577, true }, - { 205598, true }, - { 205612, true }, - { 205628, true }, - { 205641, true }, - { 205653, true }, - { 205663, true }, - { 205676, true }, - { 205700, true }, - { 205719, true }, - { 205731, true }, - { 205749, true }, - { 205758, false }, - { 205775, true }, - { 205793, true }, + { 205582, true }, + { 205592, true }, + { 205613, true }, + { 205630, true }, + { 205651, true }, + { 205665, true }, + { 205681, true }, + { 205694, true }, + { 205706, true }, + { 205716, true }, + { 205729, true }, + { 205753, true }, + { 205772, true }, + { 205784, true }, { 205802, true }, - { 205816, true }, - { 205829, false }, - { 205850, true }, - { 205860, true }, - { 205879, true }, - { 205892, false }, + { 205811, false }, + { 205828, true }, + { 205846, true }, + { 205855, true }, + { 205869, true }, + { 205882, false }, { 205903, true }, - { 205923, true }, - { 205948, true }, - { 205958, true }, - { 205969, true }, - { 205981, true }, - { 205996, true }, - { 206009, true }, - { 206025, true }, - { 206040, true }, - { 206055, true }, - { 206075, true }, - { 206088, true }, - { 206116, true }, - { 206133, false }, - { 206142, true }, - { 206161, true }, - { 206178, false }, - { 206193, true }, - { 206203, true }, - { 206216, true }, - { 206232, true }, - { 206248, true }, - { 206264, true }, - { 206282, true }, - { 206292, true }, - { 206305, true }, - { 206317, true }, - { 206330, true }, - { 206343, true }, - { 206352, true }, - { 206376, true }, - { 206400, false }, - { 206413, true }, - { 206424, true }, - { 206440, true }, - { 206452, true }, - { 206468, true }, - { 206485, true }, - { 206502, true }, - { 206517, true }, - { 206536, false }, - { 206545, true }, - { 206556, true }, - { 206578, true }, - { 206591, false }, - { 206606, true }, - { 206628, true }, - { 206643, true }, - { 206658, true }, - { 206670, true }, - { 206689, false }, - { 206712, true }, - { 206728, true }, - { 206744, true }, - { 206762, true }, - { 206780, false }, - { 206800, true }, - { 206812, true }, - { 206825, true }, - { 206841, true }, - { 206852, true }, - { 206868, true }, - { 206887, true }, - { 206898, true }, + { 205913, true }, + { 205932, true }, + { 205945, false }, + { 205956, true }, + { 205976, true }, + { 206001, true }, + { 206011, true }, + { 206022, true }, + { 206034, true }, + { 206049, true }, + { 206062, true }, + { 206078, true }, + { 206093, true }, + { 206108, true }, + { 206128, true }, + { 206141, true }, + { 206169, true }, + { 206186, false }, + { 206195, true }, + { 206214, true }, + { 206231, false }, + { 206246, true }, + { 206260, true }, + { 206270, true }, + { 206283, true }, + { 206299, true }, + { 206315, true }, + { 206331, true }, + { 206349, true }, + { 206359, true }, + { 206372, true }, + { 206384, true }, + { 206397, true }, + { 206410, true }, + { 206419, true }, + { 206443, true }, + { 206467, false }, + { 206480, true }, + { 206491, true }, + { 206507, true }, + { 206519, true }, + { 206535, true }, + { 206552, true }, + { 206569, true }, + { 206584, true }, + { 206603, false }, + { 206612, true }, + { 206623, true }, + { 206645, true }, + { 206658, false }, + { 206673, true }, + { 206695, true }, + { 206710, true }, + { 206725, true }, + { 206737, true }, + { 206756, false }, + { 206779, true }, + { 206795, true }, + { 206811, true }, + { 206829, true }, + { 206847, false }, + { 206867, true }, + { 206879, true }, + { 206892, true }, { 206908, true }, - { 206925, true }, - { 206937, true }, - { 206956, true }, - { 206968, true }, - { 206985, true }, - { 207006, true }, - { 207017, true }, - { 207036, true }, - { 207057, true }, - { 207067, true }, - { 207076, true }, - { 207089, true }, - { 207097, true }, - { 207113, true }, - { 207137, false }, - { 207155, true }, - { 207173, false }, - { 207193, true }, - { 207211, true }, - { 207223, true }, - { 207240, true }, - { 207263, true }, - { 207282, true }, - { 207302, true }, - { 207315, true }, - { 207327, true }, - { 207337, true }, - { 207345, true }, - { 207367, true }, - { 207387, true }, - { 207395, true }, - { 207409, true }, - { 207425, true }, - { 207435, true }, - { 207449, true }, - { 207458, true }, - { 207470, true }, - { 207479, true }, - { 207488, true }, - { 207497, true }, - { 207509, true }, - { 207520, true }, - { 207530, true }, - { 207551, true }, + { 206919, true }, + { 206935, true }, + { 206954, true }, + { 206965, true }, + { 206975, true }, + { 206992, true }, + { 207004, true }, + { 207023, true }, + { 207035, true }, + { 207052, true }, + { 207073, true }, + { 207084, true }, + { 207103, true }, + { 207124, true }, + { 207134, true }, + { 207143, true }, + { 207156, true }, + { 207164, true }, + { 207180, true }, + { 207204, false }, + { 207222, true }, + { 207240, false }, + { 207260, true }, + { 207278, true }, + { 207290, true }, + { 207307, true }, + { 207330, true }, + { 207349, true }, + { 207369, true }, + { 207382, true }, + { 207394, true }, + { 207404, true }, + { 207412, true }, + { 207434, true }, + { 207454, true }, + { 207462, true }, + { 207476, true }, + { 207492, true }, + { 207502, true }, + { 207516, true }, + { 207525, true }, + { 207537, true }, + { 207546, true }, + { 207555, false }, { 207564, true }, - { 207590, true }, - { 207607, true }, - { 207628, true }, - { 207646, true }, - { 207664, true }, - { 207680, true }, - { 207693, true }, - { 207703, true }, - { 207720, true }, - { 207737, true }, - { 207746, true }, + { 207576, true }, + { 207587, true }, + { 207597, true }, + { 207618, true }, + { 207631, true }, + { 207657, true }, + { 207674, true }, + { 207695, true }, + { 207713, true }, + { 207731, true }, + { 207747, true }, { 207760, true }, - { 207774, true }, - { 207786, true }, - { 207805, true }, - { 207815, true }, - { 207832, true }, - { 207854, true }, - { 207876, true }, - { 207890, true }, - { 207904, true }, - { 207918, true }, - { 207936, true }, - { 207951, true }, - { 207965, true }, - { 207972, true }, - { 207981, true }, - { 207993, true }, - { 207999, true }, - { 208005, true }, - { 208013, true }, - { 208025, true }, - { 208046, true }, - { 208058, true }, - { 208068, true }, - { 208079, true }, - { 208091, true }, - { 208109, true }, - { 208122, true }, - { 208141, true }, - { 208157, true }, - { 208168, true }, - { 208181, true }, - { 208199, true }, - { 208214, true }, - { 208228, true }, - { 208250, false }, - { 208264, true }, - { 208283, true }, - { 208299, true }, - { 208309, true }, - { 208317, true }, - { 208334, true }, - { 208351, true }, - { 208365, true }, - { 208377, true }, - { 208389, true }, - { 208406, true }, - { 208420, true }, - { 208434, false }, - { 208447, true }, - { 208461, true }, - { 208479, true }, - { 208491, true }, - { 208503, true }, - { 208522, true }, - { 208541, true }, + { 207770, true }, + { 207787, true }, + { 207804, true }, + { 207813, true }, + { 207827, true }, + { 207841, true }, + { 207853, true }, + { 207872, true }, + { 207882, true }, + { 207899, true }, + { 207921, true }, + { 207943, true }, + { 207957, true }, + { 207971, true }, + { 207985, true }, + { 208003, true }, + { 208018, true }, + { 208032, true }, + { 208039, true }, + { 208048, true }, + { 208060, true }, + { 208066, true }, + { 208072, true }, + { 208080, true }, + { 208092, true }, + { 208113, true }, + { 208125, true }, + { 208135, true }, + { 208146, true }, + { 208158, true }, + { 208176, true }, + { 208189, true }, + { 208208, true }, + { 208224, true }, + { 208235, true }, + { 208248, true }, + { 208266, true }, + { 208281, true }, + { 208295, true }, + { 208317, false }, + { 208331, true }, + { 208350, true }, + { 208366, true }, + { 208376, true }, + { 208384, true }, + { 208401, true }, + { 208418, true }, + { 208432, true }, + { 208444, true }, + { 208456, true }, + { 208473, true }, + { 208487, true }, + { 208501, false }, + { 208514, true }, + { 208528, true }, + { 208546, true }, { 208558, true }, - { 208574, true }, - { 208587, true }, - { 208601, true }, - { 208613, true }, - { 208626, true }, - { 208642, true }, - { 208655, true }, + { 208570, true }, + { 208589, true }, + { 208608, true }, + { 208625, true }, + { 208641, true }, + { 208654, true }, { 208668, true }, - { 208683, true }, - { 208711, true }, - { 208721, true }, - { 208732, true }, - { 208745, true }, - { 208760, true }, - { 208773, true }, - { 208783, true }, - { 208808, true }, - { 208820, true }, - { 208834, true }, - { 208848, true }, - { 208864, true }, + { 208680, true }, + { 208693, true }, + { 208709, true }, + { 208722, true }, + { 208735, true }, + { 208750, true }, + { 208778, true }, + { 208788, true }, + { 208799, true }, + { 208812, true }, + { 208827, true }, + { 208840, true }, + { 208850, true }, + { 208875, true }, { 208887, true }, - { 208911, true }, - { 208927, true }, - { 208942, true }, - { 208974, true }, - { 208998, true }, - { 209013, true }, - { 209025, true }, - { 209047, true }, - { 209066, true }, - { 209084, true }, - { 209097, true }, + { 208901, true }, + { 208915, true }, + { 208931, true }, + { 208954, true }, + { 208978, true }, + { 208994, true }, + { 209009, true }, + { 209041, true }, + { 209065, true }, + { 209080, true }, + { 209092, true }, { 209114, true }, - { 209125, true }, - { 209137, true }, - { 209157, true }, - { 209169, true }, + { 209133, true }, + { 209151, true }, + { 209164, true }, { 209181, true }, - { 209199, true }, - { 209216, true }, - { 209231, true }, - { 209250, true }, - { 209263, true }, - { 209279, true }, - { 209297, true }, - { 209309, true }, - { 209325, true }, - { 209338, true }, - { 209358, true }, - { 209371, true }, - { 209393, true }, - { 209410, true }, + { 209192, true }, + { 209204, true }, + { 209224, true }, + { 209236, true }, + { 209248, true }, + { 209266, true }, + { 209283, true }, + { 209298, true }, + { 209317, true }, + { 209330, true }, + { 209346, true }, + { 209364, true }, + { 209376, true }, + { 209392, true }, + { 209405, true }, { 209425, true }, - { 209441, true }, - { 209462, true }, - { 209482, true }, - { 209495, true }, - { 209507, true }, - { 209519, true }, - { 209533, true }, - { 209551, true }, - { 209566, true }, - { 209583, true }, - { 209602, true }, - { 209621, true }, - { 209636, true }, - { 209648, true }, - { 209665, true }, - { 209680, true }, - { 209697, true }, + { 209438, true }, + { 209460, true }, + { 209477, true }, + { 209492, true }, + { 209508, true }, + { 209529, true }, + { 209549, true }, + { 209562, true }, + { 209574, true }, + { 209586, true }, + { 209600, true }, + { 209618, true }, + { 209633, true }, + { 209650, true }, + { 209669, true }, + { 209688, true }, + { 209703, true }, { 209715, true }, - { 209726, true }, - { 209738, true }, - { 209760, true }, - { 209772, true }, - { 209781, true }, + { 209732, true }, + { 209747, true }, + { 209764, true }, + { 209782, true }, { 209793, true }, - { 209808, true }, - { 209826, true }, - { 209841, true }, - { 209857, true }, - { 209876, true }, - { 209892, true }, - { 209909, true }, - { 209922, true }, - { 209941, true }, + { 209805, true }, + { 209827, true }, + { 209839, true }, + { 209848, true }, + { 209860, true }, + { 209875, true }, + { 209893, true }, + { 209908, true }, + { 209924, true }, + { 209943, true }, { 209959, true }, - { 209965, true }, - { 209983, true }, - { 210006, true }, - { 210015, true }, - { 210023, false }, - { 210043, true }, - { 210060, true }, - { 210074, true }, - { 210086, true }, - { 210105, false }, - { 210122, true }, + { 209976, true }, + { 209989, true }, + { 210008, true }, + { 210026, true }, + { 210032, true }, + { 210050, true }, + { 210073, true }, + { 210082, true }, + { 210090, false }, + { 210110, true }, + { 210127, true }, { 210141, true }, - { 210152, true }, - { 210171, true }, - { 210188, true }, - { 210211, true }, - { 210237, true }, - { 210248, true }, - { 210266, true }, - { 210286, true }, - { 210303, true }, - { 210322, true }, - { 210340, true }, - { 210358, true }, - { 210367, true }, - { 210374, true }, - { 210381, true }, - { 210392, true }, - { 210403, false }, - { 210423, true }, - { 210431, true }, - { 210442, true }, - { 210453, true }, - { 210464, true }, - { 210477, true }, - { 210496, true }, + { 210153, true }, + { 210172, false }, + { 210189, true }, + { 210208, true }, + { 210219, true }, + { 210238, true }, + { 210255, true }, + { 210278, true }, + { 210304, true }, + { 210315, true }, + { 210333, true }, + { 210353, true }, + { 210370, true }, + { 210389, true }, + { 210407, true }, + { 210425, true }, + { 210434, true }, + { 210441, true }, + { 210448, true }, + { 210459, true }, + { 210470, false }, + { 210490, true }, + { 210498, true }, { 210509, true }, - { 210527, true }, - { 210542, true }, - { 210565, true }, - { 210582, true }, - { 210593, true }, - { 210610, true }, - { 210625, true }, - { 210636, true }, - { 210651, true }, - { 210664, true }, - { 210675, true }, - { 210693, true }, - { 210719, true }, - { 210748, true }, + { 210520, true }, + { 210531, true }, + { 210544, true }, + { 210563, true }, + { 210576, true }, + { 210594, true }, + { 210609, true }, + { 210632, true }, + { 210649, true }, + { 210660, true }, + { 210677, true }, + { 210692, true }, + { 210703, true }, + { 210718, true }, + { 210731, true }, + { 210742, true }, { 210760, true }, - { 210773, false }, - { 210793, true }, - { 210808, true }, - { 210826, true }, - { 210841, true }, - { 210862, false }, - { 210878, true }, - { 210894, true }, - { 210912, true }, - { 210928, true }, - { 210943, true }, + { 210786, true }, + { 210815, true }, + { 210827, true }, + { 210840, false }, + { 210860, true }, + { 210875, true }, + { 210893, true }, + { 210908, true }, + { 210929, false }, + { 210945, true }, { 210961, true }, - { 210977, true }, - { 210989, true }, - { 211001, false }, - { 211023, true }, - { 211045, true }, - { 211065, true }, - { 211079, true }, - { 211100, true }, - { 211119, true }, - { 211139, true }, - { 211160, true }, - { 211179, true }, - { 211199, true }, - { 211218, true }, - { 211235, true }, - { 211253, false }, - { 211271, true }, - { 211291, true }, - { 211310, true }, - { 211329, true }, - { 211345, true }, - { 211365, true }, - { 211386, true }, - { 211413, true }, - { 211425, true }, - { 211436, true }, - { 211447, true }, - { 211461, true }, - { 211476, true }, - { 211488, true }, - { 211499, true }, - { 211510, true }, - { 211524, true }, - { 211535, true }, - { 211544, true }, - { 211559, true }, - { 211569, true }, - { 211582, true }, - { 211601, true }, - { 211619, true }, - { 211639, true }, - { 211655, true }, - { 211664, true }, - { 211674, true }, - { 211695, false }, - { 211712, true }, - { 211732, true }, + { 210979, true }, + { 210995, true }, + { 211010, true }, + { 211028, true }, + { 211044, true }, + { 211056, true }, + { 211068, false }, + { 211090, true }, + { 211112, true }, + { 211132, true }, + { 211146, true }, + { 211167, true }, + { 211186, true }, + { 211206, true }, + { 211227, true }, + { 211246, true }, + { 211266, true }, + { 211285, true }, + { 211302, true }, + { 211320, false }, + { 211338, true }, + { 211358, true }, + { 211377, true }, + { 211396, true }, + { 211412, true }, + { 211432, true }, + { 211453, true }, + { 211480, true }, + { 211492, true }, + { 211503, true }, + { 211514, true }, + { 211528, true }, + { 211543, true }, + { 211555, true }, + { 211566, true }, + { 211577, true }, + { 211591, true }, + { 211602, true }, + { 211611, true }, + { 211626, true }, + { 211636, true }, + { 211649, true }, + { 211668, true }, + { 211686, true }, + { 211706, true }, + { 211722, true }, + { 211731, true }, { 211741, true }, - { 211754, true }, - { 211771, true }, - { 211794, true }, + { 211762, false }, + { 211779, true }, + { 211799, true }, { 211808, true }, - { 211822, true }, - { 211834, true }, - { 211851, true }, - { 211866, true }, - { 211876, true }, - { 211893, true }, - { 211909, true }, - { 211926, true }, - { 211942, true }, - { 211954, true }, - { 211965, true }, - { 211979, false }, - { 211995, true }, + { 211821, true }, + { 211838, true }, + { 211861, true }, + { 211875, true }, + { 211889, true }, + { 211901, true }, + { 211918, true }, + { 211933, true }, + { 211943, true }, + { 211960, true }, + { 211976, true }, + { 211993, true }, { 212009, true }, - { 212020, true }, - { 212035, true }, - { 212051, true }, - { 212063, true }, + { 212021, true }, + { 212032, true }, + { 212046, false }, + { 212062, true }, { 212076, true }, - { 212085, true }, - { 212098, true }, - { 212115, true }, - { 212124, true }, - { 212136, true }, - { 212148, true }, - { 212160, true }, - { 212179, true }, + { 212087, true }, + { 212102, true }, + { 212118, true }, + { 212130, true }, + { 212143, true }, + { 212152, true }, + { 212165, true }, + { 212182, true }, { 212191, true }, - { 212200, true }, - { 212212, true }, + { 212203, true }, + { 212215, true }, { 212227, true }, - { 212239, true }, - { 212256, true }, - { 212268, true }, - { 212284, true }, - { 212300, true }, - { 212321, true }, - { 212337, true }, - { 212355, true }, - { 212371, true }, - { 212387, true }, - { 212407, true }, + { 212246, true }, + { 212258, true }, + { 212267, true }, + { 212279, true }, + { 212294, true }, + { 212306, true }, + { 212323, true }, + { 212335, true }, + { 212351, true }, + { 212367, true }, + { 212388, true }, + { 212404, true }, { 212422, true }, - { 212434, true }, - { 212449, true }, - { 212459, true }, + { 212438, true }, + { 212454, true }, { 212474, true }, - { 212486, true }, - { 212498, true }, - { 212515, true }, - { 212530, true }, - { 212544, true }, - { 212555, true }, - { 212566, true }, - { 212577, true }, - { 212588, true }, - { 212596, true }, - { 212609, true }, - { 212623, true }, - { 212636, true }, - { 212654, true }, + { 212489, true }, + { 212501, true }, + { 212516, true }, + { 212526, true }, + { 212541, true }, + { 212553, true }, + { 212565, true }, + { 212582, true }, + { 212597, true }, + { 212611, true }, + { 212622, true }, + { 212633, true }, + { 212644, true }, + { 212655, true }, { 212663, true }, - { 212680, true }, + { 212676, true }, { 212690, true }, { 212703, true }, - { 212720, true }, - { 212734, true }, - { 212743, true }, - { 212758, true }, - { 212772, true }, - { 212785, true }, - { 212799, true }, - { 212807, true }, - { 212826, true }, - { 212844, true }, - { 212864, true }, - { 212881, true }, - { 212896, true }, + { 212721, true }, + { 212730, true }, + { 212747, true }, + { 212757, true }, + { 212770, true }, + { 212787, true }, + { 212801, true }, + { 212810, true }, + { 212825, true }, + { 212839, true }, + { 212852, true }, + { 212866, true }, + { 212874, true }, + { 212893, true }, { 212911, true }, - { 212925, true }, - { 212943, true }, - { 212959, true }, - { 212975, true }, - { 212989, true }, - { 213005, true }, - { 213027, true }, - { 213044, true }, - { 213063, true }, - { 213076, true }, - { 213090, true }, - { 213106, false }, - { 213124, true }, - { 213139, true }, - { 213156, true }, - { 213171, true }, - { 213188, false }, - { 213214, true }, - { 213226, true }, - { 213241, true }, - { 213259, true }, - { 213272, true }, - { 213285, true }, - { 213297, true }, - { 213316, true }, - { 213331, true }, - { 213341, true }, - { 213356, true }, - { 213372, true }, - { 213384, true }, - { 213406, true }, - { 213419, false }, - { 213430, true }, - { 213458, true }, - { 213475, true }, - { 213506, true }, - { 213517, true }, - { 213530, true }, + { 212931, true }, + { 212948, true }, + { 212963, true }, + { 212978, true }, + { 212992, true }, + { 213010, true }, + { 213026, true }, + { 213042, true }, + { 213056, true }, + { 213072, true }, + { 213094, true }, + { 213111, true }, + { 213130, true }, + { 213143, true }, + { 213157, true }, + { 213173, false }, + { 213191, true }, + { 213206, true }, + { 213223, true }, + { 213238, true }, + { 213255, false }, + { 213281, true }, + { 213293, true }, + { 213308, true }, + { 213326, true }, + { 213339, true }, + { 213352, true }, + { 213364, true }, + { 213383, true }, + { 213398, true }, + { 213408, true }, + { 213423, true }, + { 213439, true }, + { 213451, true }, + { 213473, true }, + { 213486, false }, + { 213497, true }, + { 213525, true }, { 213542, true }, - { 213553, true }, - { 213565, true }, - { 213579, true }, - { 213591, true }, - { 213599, true }, - { 213607, true }, - { 213619, true }, - { 213637, true }, - { 213648, false }, - { 213668, true }, + { 213573, true }, + { 213584, true }, + { 213597, true }, + { 213609, true }, + { 213620, true }, + { 213632, true }, + { 213646, true }, + { 213658, true }, + { 213666, true }, + { 213674, true }, { 213686, true }, - { 213706, true }, - { 213721, true }, - { 213736, true }, - { 213753, false }, - { 213767, true }, - { 213787, true }, - { 213807, true }, - { 213827, true }, - { 213838, true }, - { 213863, true }, - { 213884, true }, - { 213902, true }, - { 213917, true }, - { 213934, true }, - { 213949, true }, - { 213965, true }, + { 213704, true }, + { 213715, false }, + { 213735, true }, + { 213753, true }, + { 213773, true }, + { 213788, true }, + { 213803, true }, + { 213820, false }, + { 213834, true }, + { 213854, true }, + { 213874, true }, + { 213894, true }, + { 213905, true }, + { 213930, true }, + { 213951, true }, + { 213969, true }, { 213984, true }, - { 214009, true }, - { 214022, true }, - { 214033, true }, - { 214044, true }, - { 214058, false }, - { 214073, true }, - { 214086, false }, - { 214114, true }, - { 214126, true }, - { 214139, true }, - { 214152, false }, - { 214160, true }, - { 214170, true }, - { 214186, true }, - { 214201, true }, - { 214219, true }, - { 214231, true }, - { 214250, true }, - { 214262, true }, - { 214275, true }, - { 214288, true }, - { 214303, true }, - { 214316, true }, - { 214338, true }, - { 214352, true }, - { 214365, true }, - { 214380, true }, - { 214394, true }, - { 214407, true }, - { 214427, false }, - { 214444, true }, - { 214462, true }, - { 214476, true }, - { 214489, true }, - { 214503, true }, - { 214514, true }, - { 214525, true }, - { 214538, true }, - { 214548, true }, - { 214565, true }, - { 214573, false }, - { 214588, true }, - { 214599, true }, - { 214612, true }, - { 214626, true }, - { 214641, true }, - { 214652, true }, - { 214684, true }, - { 214709, true }, - { 214745, true }, - { 214757, true }, - { 214770, true }, - { 214785, true }, - { 214798, true }, - { 214815, true }, + { 214001, true }, + { 214016, true }, + { 214032, true }, + { 214051, true }, + { 214076, true }, + { 214089, true }, + { 214100, true }, + { 214111, true }, + { 214125, false }, + { 214140, true }, + { 214153, false }, + { 214181, true }, + { 214193, true }, + { 214206, true }, + { 214219, false }, + { 214227, true }, + { 214237, true }, + { 214253, true }, + { 214268, true }, + { 214286, true }, + { 214298, true }, + { 214317, true }, + { 214329, true }, + { 214342, true }, + { 214355, true }, + { 214370, true }, + { 214383, true }, + { 214405, true }, + { 214419, true }, + { 214432, true }, + { 214447, true }, + { 214461, true }, + { 214474, true }, + { 214494, false }, + { 214511, true }, + { 214529, true }, + { 214543, true }, + { 214556, true }, + { 214570, true }, + { 214581, true }, + { 214592, true }, + { 214605, true }, + { 214615, true }, + { 214632, true }, + { 214640, false }, + { 214655, true }, + { 214666, true }, + { 214679, true }, + { 214693, true }, + { 214708, true }, + { 214719, true }, + { 214751, true }, + { 214776, true }, + { 214812, true }, + { 214824, true }, { 214837, true }, - { 214859, true }, - { 214877, true }, - { 214890, true }, - { 214901, true }, - { 214913, true }, - { 214924, true }, - { 214942, true }, - { 214950, true }, - { 214983, true }, - { 214990, true }, - { 215007, true }, - { 215023, true }, - { 215038, true }, - { 215055, true }, - { 215065, true }, - { 215078, true }, - { 215092, true }, - { 215102, false }, - { 215120, true }, - { 215138, true }, + { 214852, true }, + { 214865, true }, + { 214882, true }, + { 214904, true }, + { 214926, true }, + { 214944, true }, + { 214957, true }, + { 214968, true }, + { 214980, true }, + { 214991, true }, + { 215009, true }, + { 215017, true }, + { 215050, true }, + { 215057, true }, + { 215074, true }, + { 215090, true }, + { 215105, true }, + { 215122, true }, + { 215132, true }, + { 215145, true }, { 215159, true }, - { 215171, true }, - { 215183, true }, - { 215194, true }, - { 215207, true }, - { 215220, true }, - { 215236, true }, - { 215253, true }, - { 215267, true }, - { 215281, true }, - { 215301, true }, - { 215316, true }, - { 215330, true }, - { 215342, true }, - { 215362, true }, - { 215381, true }, - { 215394, true }, - { 215414, true }, - { 215425, true }, - { 215435, true }, - { 215444, true }, - { 215456, true }, - { 215478, true }, - { 215489, true }, - { 215500, true }, - { 215514, true }, - { 215533, true }, - { 215550, true }, - { 215565, true }, - { 215580, true }, - { 215597, true }, - { 215611, true }, - { 215625, true }, - { 215639, true }, - { 215662, true }, - { 215682, true }, - { 215696, true }, - { 215710, true }, - { 215724, true }, - { 215734, true }, - { 215746, true }, - { 215761, true }, + { 215169, false }, + { 215187, true }, + { 215205, true }, + { 215226, true }, + { 215238, true }, + { 215250, true }, + { 215261, true }, + { 215274, true }, + { 215287, true }, + { 215303, true }, + { 215320, true }, + { 215334, true }, + { 215348, true }, + { 215368, true }, + { 215383, true }, + { 215397, true }, + { 215409, true }, + { 215429, true }, + { 215448, true }, + { 215461, true }, + { 215481, true }, + { 215492, true }, + { 215502, true }, + { 215511, true }, + { 215523, true }, + { 215545, true }, + { 215556, true }, + { 215567, true }, + { 215581, true }, + { 215600, true }, + { 215617, true }, + { 215632, true }, + { 215647, true }, + { 215664, true }, + { 215678, true }, + { 215692, true }, + { 215706, true }, + { 215729, true }, + { 215749, true }, + { 215763, true }, { 215777, true }, - { 215787, true }, + { 215791, true }, { 215801, true }, - { 215815, true }, - { 215824, true }, - { 215836, true }, - { 215847, true }, - { 215858, true }, - { 215870, true }, - { 215879, true }, - { 215888, true }, - { 215899, true }, - { 215913, true }, + { 215813, true }, + { 215828, true }, + { 215844, true }, + { 215854, true }, + { 215868, true }, + { 215882, true }, + { 215891, true }, + { 215903, true }, + { 215914, true }, { 215925, true }, - { 215941, true }, - { 215956, true }, + { 215937, true }, + { 215946, true }, + { 215955, true }, { 215966, true }, - { 215979, true }, + { 215980, true }, { 215992, true }, { 216008, true }, - { 216029, true }, - { 216050, true }, - { 216069, true }, - { 216079, true }, - { 216091, true }, - { 216102, true }, - { 216125, true }, - { 216133, true }, - { 216148, true }, - { 216162, true }, - { 216176, true }, - { 216188, true }, - { 216211, true }, - { 216224, true }, - { 216234, true }, - { 216242, true }, - { 216263, true }, - { 216275, true }, - { 216286, true }, - { 216306, true }, - { 216325, true }, - { 216336, true }, - { 216361, false }, + { 216023, true }, + { 216033, true }, + { 216046, true }, + { 216059, true }, + { 216075, true }, + { 216096, true }, + { 216117, true }, + { 216136, true }, + { 216146, true }, + { 216158, true }, + { 216169, true }, + { 216192, true }, + { 216200, true }, + { 216215, true }, + { 216229, true }, + { 216243, true }, + { 216255, true }, + { 216278, true }, + { 216291, true }, + { 216301, true }, + { 216309, true }, + { 216330, true }, + { 216342, true }, + { 216353, true }, { 216373, true }, - { 216384, true }, - { 216395, true }, - { 216411, true }, - { 216426, true }, - { 216441, true }, - { 216452, true }, - { 216465, true }, - { 216478, true }, - { 216490, true }, - { 216506, true }, - { 216521, true }, - { 216536, true }, - { 216553, true }, - { 216576, true }, - { 216595, true }, - { 216609, true }, + { 216392, true }, + { 216403, true }, + { 216428, false }, + { 216440, true }, + { 216451, true }, + { 216462, false }, + { 216472, true }, + { 216488, true }, + { 216503, true }, + { 216518, true }, + { 216529, true }, + { 216542, true }, + { 216555, true }, + { 216567, true }, + { 216583, true }, + { 216598, true }, + { 216613, true }, { 216630, true }, - { 216650, true }, - { 216668, true }, - { 216687, true }, - { 216705, true }, - { 216723, true }, - { 216739, true }, - { 216753, true }, - { 216768, true }, - { 216780, false }, - { 216794, true }, - { 216807, true }, - { 216817, true }, - { 216833, true }, - { 216844, true }, - { 216855, true }, - { 216866, true }, - { 216878, true }, - { 216896, true }, - { 216914, true }, - { 216936, true }, - { 216950, true }, - { 216967, true }, - { 216986, true }, - { 217004, true }, - { 217025, true }, - { 217039, false }, - { 217051, true }, - { 217066, true }, - { 217082, true }, - { 217100, true }, - { 217110, true }, - { 217122, false }, - { 217133, true }, - { 217152, false }, - { 217171, true }, + { 216653, true }, + { 216672, true }, + { 216686, true }, + { 216707, true }, + { 216727, true }, + { 216745, true }, + { 216764, true }, + { 216782, true }, + { 216800, true }, + { 216816, true }, + { 216830, true }, + { 216845, true }, + { 216857, false }, + { 216871, true }, + { 216884, true }, + { 216894, true }, + { 216910, true }, + { 216921, true }, + { 216932, true }, + { 216943, true }, + { 216955, true }, + { 216973, true }, + { 216991, true }, + { 217013, true }, + { 217027, true }, + { 217044, true }, + { 217063, true }, + { 217081, true }, + { 217102, true }, + { 217116, false }, + { 217128, true }, + { 217143, true }, + { 217159, true }, + { 217177, true }, { 217187, true }, - { 217202, true }, - { 217215, false }, - { 217234, true }, - { 217245, true }, - { 217263, true }, - { 217288, true }, - { 217303, true }, - { 217318, true }, - { 217336, true }, - { 217351, true }, - { 217366, true }, - { 217383, true }, - { 217394, true }, - { 217404, true }, - { 217416, true }, - { 217430, true }, - { 217442, true }, - { 217457, true }, - { 217466, true }, - { 217484, true }, - { 217495, false }, - { 217508, true }, - { 217525, true }, + { 217199, false }, + { 217210, true }, + { 217229, false }, + { 217248, true }, + { 217264, true }, + { 217279, true }, + { 217292, false }, + { 217311, true }, + { 217322, true }, + { 217340, true }, + { 217365, true }, + { 217380, true }, + { 217395, true }, + { 217413, true }, + { 217428, true }, + { 217443, true }, + { 217460, true }, + { 217471, true }, + { 217481, true }, + { 217493, true }, + { 217507, true }, + { 217519, true }, + { 217534, true }, { 217543, true }, - { 217558, false }, - { 217571, true }, - { 217583, true }, - { 217604, true }, - { 217617, true }, - { 217634, true }, - { 217654, true }, - { 217677, true }, - { 217696, true }, - { 217707, true }, - { 217721, true }, - { 217731, false }, - { 217743, true }, - { 217758, true }, - { 217772, true }, - { 217782, true }, - { 217796, true }, - { 217816, true }, - { 217839, true }, - { 217857, true }, - { 217865, true }, - { 217876, true }, - { 217883, true }, - { 217891, true }, - { 217908, true }, - { 217923, true }, - { 217935, true }, - { 217950, true }, - { 217967, true }, - { 217984, true }, - { 218001, true }, - { 218012, false }, - { 218021, true }, - { 218034, false }, - { 218051, true }, - { 218064, true }, - { 218075, true }, - { 218085, false }, + { 217561, true }, + { 217572, false }, + { 217585, true }, + { 217602, true }, + { 217620, true }, + { 217635, false }, + { 217648, true }, + { 217660, true }, + { 217681, true }, + { 217694, true }, + { 217711, true }, + { 217731, true }, + { 217754, true }, + { 217773, true }, + { 217784, true }, + { 217798, true }, + { 217808, false }, + { 217820, true }, + { 217835, true }, + { 217849, true }, + { 217859, true }, + { 217873, true }, + { 217893, true }, + { 217916, true }, + { 217934, true }, + { 217942, true }, + { 217953, true }, + { 217960, true }, + { 217968, true }, + { 217985, true }, + { 218000, true }, + { 218012, true }, + { 218027, true }, + { 218044, true }, + { 218061, true }, + { 218078, true }, + { 218089, false }, { 218098, true }, - { 218115, true }, - { 218130, false }, - { 218154, false }, - { 218166, true }, - { 218191, true }, - { 218200, true }, - { 218212, true }, - { 218232, true }, - { 218249, true }, + { 218111, false }, + { 218128, true }, + { 218141, true }, + { 218152, true }, + { 218162, false }, + { 218175, true }, + { 218192, true }, + { 218207, false }, + { 218231, false }, + { 218243, true }, { 218268, true }, - { 218278, true }, - { 218287, true }, - { 218303, true }, - { 218322, true }, + { 218277, true }, + { 218289, true }, + { 218309, true }, + { 218326, true }, { 218345, true }, - { 218363, true }, - { 218379, true }, - { 218394, true }, - { 218409, true }, - { 218424, true }, - { 218444, true }, - { 218457, true }, - { 218470, true }, - { 218483, true }, - { 218492, true }, - { 218505, true }, - { 218519, true }, - { 218533, true }, - { 218556, true }, - { 218580, true }, - { 218591, true }, + { 218355, true }, + { 218364, true }, + { 218380, true }, + { 218399, true }, + { 218422, true }, + { 218440, true }, + { 218456, true }, + { 218471, true }, + { 218486, true }, + { 218501, true }, + { 218521, true }, + { 218534, true }, + { 218547, true }, + { 218560, true }, + { 218569, true }, + { 218582, true }, + { 218596, true }, { 218610, true }, - { 218632, true }, - { 218658, true }, - { 218673, true }, - { 218688, true }, - { 218702, true }, - { 218718, true }, - { 218730, true }, - { 218753, true }, - { 218762, true }, - { 218770, true }, - { 218781, true }, - { 218797, true }, - { 218811, true }, - { 218824, true }, - { 218841, false }, - { 218859, true }, - { 218883, true }, - { 218896, true }, - { 218907, true }, - { 218924, true }, - { 218937, true }, - { 218948, true }, - { 218962, true }, - { 218974, true }, - { 218984, true }, - { 218999, true }, - { 219012, true }, - { 219028, true }, - { 219038, false }, - { 219048, true }, + { 218633, true }, + { 218657, true }, + { 218668, true }, + { 218687, true }, + { 218709, true }, + { 218735, true }, + { 218750, true }, + { 218765, true }, + { 218775, true }, + { 218789, true }, + { 218805, true }, + { 218817, true }, + { 218840, true }, + { 218849, true }, + { 218857, true }, + { 218868, true }, + { 218884, true }, + { 218898, true }, + { 218911, true }, + { 218928, false }, + { 218946, true }, + { 218970, true }, + { 218983, true }, + { 218994, true }, + { 219011, true }, + { 219024, true }, + { 219035, true }, + { 219049, true }, { 219061, true }, - { 219076, true }, + { 219071, true }, { 219086, true }, - { 219102, true }, - { 219116, true }, - { 219128, true }, - { 219137, true }, - { 219152, true }, - { 219170, true }, - { 219179, true }, - { 219199, true }, + { 219099, true }, + { 219115, true }, + { 219125, false }, + { 219135, true }, + { 219148, true }, + { 219163, true }, + { 219173, true }, + { 219189, true }, + { 219203, true }, { 219215, true }, - { 219232, true }, - { 219245, true }, - { 219255, true }, - { 219265, true }, - { 219279, true }, - { 219291, true }, - { 219304, true }, - { 219321, true }, - { 219336, true }, - { 219348, true }, - { 219365, true }, - { 219379, true }, - { 219388, true }, - { 219404, true }, - { 219417, true }, - { 219432, false }, - { 219444, true }, - { 219457, true }, - { 219467, true }, - { 219476, true }, - { 219488, true }, - { 219496, true }, + { 219224, true }, + { 219239, true }, + { 219257, true }, + { 219266, true }, + { 219286, true }, + { 219302, true }, + { 219319, true }, + { 219332, true }, + { 219342, true }, + { 219352, true }, + { 219366, true }, + { 219378, true }, + { 219391, true }, + { 219408, true }, + { 219423, true }, + { 219435, true }, + { 219452, true }, + { 219466, true }, + { 219475, true }, + { 219491, true }, { 219504, true }, - { 219512, true }, - { 219518, true }, - { 219529, true }, - { 219542, true }, - { 219557, true }, - { 219576, true }, - { 219600, true }, - { 219613, true }, - { 219628, true }, - { 219652, true }, - { 219662, true }, - { 219674, true }, - { 219691, true }, - { 219701, true }, - { 219717, true }, - { 219738, true }, - { 219753, false }, - { 219776, true }, - { 219797, true }, - { 219810, true }, - { 219823, true }, - { 219837, true }, - { 219849, true }, - { 219862, true }, - { 219881, true }, - { 219894, true }, - { 219912, true }, - { 219936, false }, - { 219963, true }, - { 219989, true }, - { 220004, true }, - { 220021, true }, - { 220037, true }, - { 220054, true }, - { 220071, true }, - { 220086, true }, - { 220099, true }, - { 220110, true }, - { 220121, true }, - { 220131, true }, - { 220144, true }, - { 220162, true }, - { 220175, true }, - { 220189, true }, - { 220199, true }, - { 220210, true }, - { 220219, true }, - { 220240, true }, - { 220254, false }, - { 220263, true }, - { 220270, true }, - { 220277, true }, - { 220285, true }, - { 220308, true }, - { 220321, true }, - { 220335, true }, - { 220348, true }, - { 220363, true }, - { 220377, true }, - { 220392, true }, - { 220401, true }, - { 220409, true }, + { 219519, false }, + { 219531, true }, + { 219544, true }, + { 219554, true }, + { 219563, true }, + { 219575, true }, + { 219583, true }, + { 219591, true }, + { 219599, true }, + { 219605, true }, + { 219616, true }, + { 219629, true }, + { 219644, true }, + { 219663, true }, + { 219687, true }, + { 219700, true }, + { 219715, true }, + { 219739, true }, + { 219749, true }, + { 219761, true }, + { 219778, true }, + { 219788, true }, + { 219804, true }, + { 219825, true }, + { 219840, false }, + { 219863, true }, + { 219884, true }, + { 219897, true }, + { 219910, true }, + { 219924, true }, + { 219936, true }, + { 219949, true }, + { 219968, true }, + { 219981, true }, + { 219999, true }, + { 220023, false }, + { 220050, true }, + { 220076, true }, + { 220091, true }, + { 220108, true }, + { 220124, true }, + { 220141, true }, + { 220158, true }, + { 220173, true }, + { 220186, true }, + { 220197, true }, + { 220208, true }, + { 220218, true }, + { 220231, true }, + { 220249, true }, + { 220262, true }, + { 220276, true }, + { 220286, true }, + { 220297, true }, + { 220306, true }, + { 220327, true }, + { 220341, false }, + { 220350, true }, + { 220357, true }, + { 220364, true }, + { 220372, true }, + { 220395, true }, + { 220408, true }, { 220422, true }, - { 220430, true }, - { 220448, true }, - { 220460, true }, - { 220471, true }, - { 220480, true }, - { 220501, true }, + { 220435, true }, + { 220450, true }, + { 220464, true }, + { 220479, true }, + { 220488, true }, + { 220496, true }, + { 220509, true }, { 220517, true }, - { 220526, true }, - { 220539, true }, - { 220550, true }, - { 220562, true }, - { 220577, false }, - { 220590, true }, - { 220599, true }, - { 220611, true }, - { 220622, true }, - { 220634, true }, - { 220647, true }, - { 220660, true }, - { 220675, true }, - { 220695, true }, - { 220707, true }, - { 220717, true }, - { 220728, false }, + { 220535, true }, + { 220546, true }, + { 220555, true }, + { 220576, true }, + { 220592, true }, + { 220601, true }, + { 220614, true }, + { 220625, true }, + { 220637, true }, + { 220652, false }, + { 220665, true }, + { 220674, true }, + { 220686, true }, + { 220697, true }, + { 220709, true }, + { 220722, true }, { 220735, true }, - { 220745, true }, - { 220757, true }, - { 220773, true }, + { 220750, true }, + { 220770, true }, { 220782, true }, - { 220796, true }, - { 220816, true }, - { 220828, true }, - { 220841, true }, - { 220855, true }, - { 220873, true }, - { 220880, true }, - { 220897, true }, - { 220914, true }, - { 220934, true }, - { 220953, true }, - { 220971, true }, - { 220987, false }, - { 221005, true }, + { 220792, true }, + { 220803, false }, + { 220810, true }, + { 220820, true }, + { 220832, true }, + { 220848, true }, + { 220863, true }, + { 220872, true }, + { 220886, true }, + { 220906, true }, + { 220918, true }, + { 220931, true }, + { 220945, true }, + { 220963, true }, + { 220970, true }, + { 220987, true }, + { 221004, true }, { 221024, true }, - { 221051, false }, - { 221069, true }, - { 221086, true }, - { 221101, true }, - { 221115, true }, - { 221131, true }, - { 221145, true }, - { 221160, false }, - { 221179, true }, - { 221197, true }, - { 221215, true }, - { 221233, true }, - { 221250, true }, - { 221271, true }, - { 221290, true }, - { 221304, true }, - { 221315, true }, + { 221043, true }, + { 221061, true }, + { 221077, false }, + { 221095, true }, + { 221114, true }, + { 221141, false }, + { 221159, true }, + { 221176, true }, + { 221191, true }, + { 221205, true }, + { 221221, true }, + { 221235, true }, + { 221250, false }, + { 221269, true }, + { 221287, true }, + { 221305, true }, { 221323, true }, - { 221333, true }, - { 221350, true }, - { 221365, true }, - { 221376, true }, - { 221398, true }, - { 221411, true }, - { 221431, true }, - { 221450, true }, - { 221476, true }, - { 221492, true }, - { 221510, true }, - { 221528, true }, - { 221543, true }, - { 221551, true }, - { 221564, true }, - { 221572, true }, - { 221583, true }, + { 221340, true }, + { 221361, true }, + { 221380, true }, + { 221394, true }, + { 221405, true }, + { 221413, true }, + { 221423, true }, + { 221438, true }, + { 221455, true }, + { 221470, true }, + { 221481, true }, + { 221503, true }, + { 221516, true }, + { 221536, true }, + { 221555, true }, + { 221581, true }, { 221597, true }, - { 221611, true }, - { 221622, true }, - { 221638, true }, - { 221655, true }, - { 221665, true }, - { 221675, true }, - { 221696, true }, - { 221709, true }, - { 221727, true }, - { 221740, true }, - { 221766, true }, - { 221785, true }, - { 221801, true }, - { 221818, true }, + { 221615, true }, + { 221633, true }, + { 221648, true }, + { 221656, true }, + { 221669, true }, + { 221677, true }, + { 221688, true }, + { 221702, true }, + { 221716, true }, + { 221732, true }, + { 221749, true }, + { 221759, true }, + { 221769, true }, + { 221790, true }, + { 221803, true }, + { 221821, true }, { 221834, true }, - { 221857, true }, - { 221882, true }, - { 221898, true }, - { 221910, true }, - { 221924, true }, - { 221935, true }, - { 221948, true }, - { 221959, true }, - { 221974, true }, - { 221984, true }, - { 221999, true }, - { 222011, true }, + { 221860, true }, + { 221879, true }, + { 221895, true }, + { 221912, true }, + { 221928, true }, + { 221951, true }, + { 221976, true }, + { 221992, true }, + { 222004, true }, + { 222018, true }, { 222029, true }, - { 222054, true }, - { 222066, true }, + { 222042, true }, + { 222053, true }, + { 222068, true }, { 222078, true }, - { 222090, true }, - { 222101, true }, - { 222113, true }, - { 222131, true }, - { 222152, true }, - { 222176, true }, - { 222187, true }, - { 222203, true }, - { 222215, true }, - { 222229, true }, - { 222244, true }, - { 222257, true }, - { 222273, false }, - { 222282, true }, - { 222300, true }, - { 222314, true }, - { 222328, true }, - { 222336, false }, - { 222348, true }, - { 222358, true }, - { 222375, true }, - { 222385, true }, - { 222396, true }, - { 222403, true }, - { 222414, true }, - { 222434, true }, - { 222451, true }, - { 222463, true }, - { 222483, false }, - { 222498, true }, - { 222509, true }, - { 222518, false }, - { 222525, true }, - { 222536, true }, - { 222552, true }, - { 222561, true }, - { 222576, true }, - { 222588, true }, - { 222602, true }, - { 222612, true }, - { 222621, true }, - { 222639, false }, - { 222650, true }, - { 222666, false }, - { 222679, true }, - { 222695, true }, - { 222707, true }, - { 222721, true }, - { 222733, true }, - { 222745, true }, - { 222765, true }, - { 222779, true }, - { 222795, true }, - { 222809, true }, - { 222824, true }, - { 222832, true }, - { 222847, true }, - { 222863, true }, - { 222876, true }, + { 222093, true }, + { 222105, true }, + { 222123, true }, + { 222148, true }, + { 222160, true }, + { 222172, true }, + { 222184, true }, + { 222195, true }, + { 222207, true }, + { 222225, true }, + { 222246, true }, + { 222270, true }, + { 222281, true }, + { 222297, true }, + { 222309, true }, + { 222323, true }, + { 222338, true }, + { 222351, true }, + { 222367, false }, + { 222376, true }, + { 222394, true }, + { 222408, true }, + { 222422, true }, + { 222430, false }, + { 222442, true }, + { 222452, true }, + { 222469, true }, + { 222479, true }, + { 222490, true }, + { 222497, true }, + { 222508, true }, + { 222528, true }, + { 222545, true }, + { 222557, true }, + { 222577, false }, + { 222592, true }, + { 222603, true }, + { 222612, false }, + { 222619, true }, + { 222630, true }, + { 222646, true }, + { 222655, true }, + { 222670, true }, + { 222682, true }, + { 222696, true }, + { 222706, true }, + { 222715, true }, + { 222733, false }, + { 222744, true }, + { 222760, false }, + { 222773, true }, + { 222789, true }, + { 222801, true }, + { 222815, true }, + { 222827, true }, + { 222839, true }, + { 222859, true }, + { 222873, true }, { 222889, true }, { 222903, true }, - { 222925, true }, - { 222945, true }, - { 222966, true }, - { 222991, true }, - { 223010, true }, - { 223026, true }, - { 223054, true }, - { 223079, true }, - { 223100, true }, - { 223129, true }, + { 222918, true }, + { 222926, true }, + { 222941, true }, + { 222957, true }, + { 222970, true }, + { 222983, true }, + { 222997, true }, + { 223019, true }, + { 223039, true }, + { 223060, true }, + { 223085, true }, + { 223104, true }, + { 223120, true }, { 223148, true }, - { 223172, true }, - { 223182, true }, - { 223191, true }, - { 223204, true }, - { 223213, true }, - { 223219, true }, - { 223231, true }, - { 223248, true }, - { 223262, true }, - { 223281, true }, - { 223295, false }, - { 223308, true }, - { 223321, true }, - { 223334, true }, - { 223352, true }, - { 223373, true }, - { 223385, true }, - { 223411, true }, - { 223420, true }, - { 223433, true }, - { 223443, true }, - { 223456, true }, - { 223475, true }, - { 223494, true }, + { 223173, true }, + { 223194, true }, + { 223223, true }, + { 223242, true }, + { 223266, true }, + { 223276, true }, + { 223285, true }, + { 223298, true }, + { 223307, true }, + { 223313, true }, + { 223325, true }, + { 223342, true }, + { 223356, true }, + { 223375, true }, + { 223389, false }, + { 223402, true }, + { 223415, true }, + { 223428, true }, + { 223446, true }, + { 223467, true }, + { 223479, true }, + { 223505, true }, { 223514, true }, - { 223533, true }, - { 223549, true }, + { 223527, true }, + { 223537, true }, + { 223550, true }, { 223569, true }, - { 223578, true }, - { 223589, true }, - { 223598, true }, - { 223617, false }, - { 223633, false }, - { 223646, false }, - { 223659, true }, - { 223670, true }, - { 223691, true }, - { 223702, true }, - { 223721, true }, - { 223734, true }, - { 223746, true }, - { 223759, true }, - { 223778, true }, - { 223793, false }, + { 223588, true }, + { 223605, true }, + { 223625, true }, + { 223644, true }, + { 223660, true }, + { 223680, true }, + { 223689, true }, + { 223700, true }, + { 223709, true }, + { 223728, false }, + { 223744, false }, + { 223757, false }, + { 223770, true }, + { 223781, true }, { 223802, true }, - { 223815, false }, - { 223827, true }, - { 223842, true }, - { 223858, true }, - { 223872, true }, - { 223885, true }, - { 223899, true }, - { 223923, true }, - { 223940, true }, - { 223955, true }, - { 223971, true }, - { 223989, true }, - { 224006, true }, - { 224023, true }, - { 224038, true }, - { 224056, true }, - { 224072, true }, - { 224085, true }, - { 224094, true }, - { 224107, true }, - { 224127, true }, - { 224138, true }, - { 224147, true }, - { 224156, true }, - { 224174, true }, - { 224190, true }, - { 224204, true }, + { 223813, true }, + { 223832, true }, + { 223845, true }, + { 223857, true }, + { 223870, true }, + { 223889, true }, + { 223904, false }, + { 223913, true }, + { 223926, false }, + { 223938, true }, + { 223953, true }, + { 223969, true }, + { 223983, true }, + { 223996, true }, + { 224010, true }, + { 224034, true }, + { 224051, true }, + { 224066, true }, + { 224082, true }, + { 224100, true }, + { 224117, true }, + { 224134, true }, + { 224149, true }, + { 224167, true }, + { 224183, true }, + { 224196, true }, + { 224205, true }, { 224218, true }, - { 224231, true }, - { 224246, true }, - { 224266, true }, - { 224283, true }, - { 224300, true }, - { 224312, true }, - { 224328, true }, - { 224342, true }, + { 224238, true }, + { 224249, true }, + { 224263, true }, + { 224272, true }, + { 224281, true }, + { 224299, true }, + { 224315, true }, + { 224329, true }, + { 224343, true }, { 224356, true }, - { 224377, true }, - { 224396, true }, - { 224421, false }, + { 224371, true }, + { 224391, true }, + { 224408, true }, + { 224425, true }, { 224437, true }, - { 224456, true }, - { 224471, true }, - { 224495, true }, - { 224507, true }, - { 224517, true }, - { 224528, true }, - { 224541, true }, - { 224555, true }, - { 224577, true }, - { 224586, true }, - { 224615, true }, - { 224640, true }, - { 224665, true }, - { 224694, true }, - { 224710, true }, - { 224719, true }, - { 224731, true }, - { 224745, true }, - { 224759, true }, - { 224773, true }, + { 224453, true }, + { 224467, true }, + { 224481, true }, + { 224502, true }, + { 224521, true }, + { 224546, false }, + { 224562, true }, + { 224581, true }, + { 224596, true }, + { 224620, true }, + { 224632, true }, + { 224642, true }, + { 224653, true }, + { 224666, true }, + { 224680, true }, + { 224702, true }, + { 224711, true }, + { 224740, true }, + { 224765, true }, { 224790, true }, - { 224803, true }, - { 224822, true }, - { 224833, true }, - { 224846, true }, - { 224863, true }, - { 224872, true }, - { 224887, true }, - { 224905, true }, - { 224919, false }, - { 224930, true }, - { 224943, true }, - { 224963, false }, - { 224976, true }, - { 224986, true }, - { 225005, true }, - { 225015, true }, - { 225028, true }, - { 225047, true }, - { 225059, true }, - { 225081, true }, - { 225089, true }, - { 225100, true }, + { 224819, true }, + { 224835, true }, + { 224844, true }, + { 224856, true }, + { 224870, true }, + { 224884, true }, + { 224898, true }, + { 224915, true }, + { 224928, true }, + { 224947, true }, + { 224958, true }, + { 224971, true }, + { 224988, true }, + { 224997, true }, + { 225012, true }, + { 225030, true }, + { 225044, false }, + { 225055, true }, + { 225068, true }, + { 225088, false }, + { 225101, true }, { 225111, true }, - { 225122, true }, - { 225132, true }, - { 225142, true }, - { 225154, true }, - { 225163, true }, - { 225175, true }, - { 225183, true }, - { 225189, true }, - { 225195, false }, - { 225203, true }, - { 225212, true }, - { 225221, true }, - { 225229, true }, - { 225239, true }, + { 225130, true }, + { 225140, true }, + { 225153, true }, + { 225172, true }, + { 225184, true }, + { 225206, true }, + { 225214, true }, + { 225225, true }, + { 225236, true }, { 225247, true }, - { 225266, true }, - { 225273, true }, + { 225257, true }, + { 225269, true }, + { 225278, true }, + { 225290, true }, { 225298, true }, - { 225305, true }, + { 225304, true }, + { 225310, false }, { 225318, true }, - { 225332, true }, - { 225342, true }, - { 225352, true }, - { 225371, true }, - { 225383, true }, - { 225398, true }, - { 225409, true }, - { 225421, true }, + { 225327, true }, + { 225336, true }, + { 225344, true }, + { 225354, true }, + { 225362, true }, + { 225381, true }, + { 225388, true }, + { 225413, true }, + { 225420, true }, { 225433, true }, - { 225446, true }, - { 225454, true }, + { 225447, true }, + { 225457, true }, { 225467, true }, - { 225479, true }, + { 225486, true }, { 225498, true }, - { 225525, true }, + { 225513, true }, + { 225524, true }, { 225536, true }, - { 225551, true }, - { 225567, true }, - { 225589, true }, - { 225603, true }, - { 225616, true }, - { 225629, true }, - { 225648, true }, - { 225677, true }, - { 225698, false }, + { 225548, true }, + { 225561, true }, + { 225569, true }, + { 225582, true }, + { 225594, true }, + { 225604, true }, + { 225623, true }, + { 225650, true }, + { 225661, true }, + { 225676, true }, + { 225692, true }, { 225714, true }, - { 225730, true }, - { 225745, true }, - { 225761, true }, - { 225779, true }, - { 225798, true }, - { 225807, true }, - { 225820, true }, - { 225837, true }, - { 225852, true }, - { 225865, true }, - { 225883, true }, + { 225728, true }, + { 225741, true }, + { 225754, true }, + { 225773, true }, + { 225802, true }, + { 225823, false }, + { 225839, true }, + { 225855, true }, + { 225870, true }, + { 225886, true }, { 225904, true }, - { 225917, true }, - { 225936, true }, - { 225963, true }, - { 225982, true }, - { 226000, true }, - { 226017, true }, - { 226040, true }, - { 226054, true }, - { 226072, true }, - { 226090, true }, - { 226106, true }, - { 226124, true }, - { 226137, true }, - { 226149, true }, + { 225923, true }, + { 225932, true }, + { 225945, true }, + { 225962, true }, + { 225977, true }, + { 225990, true }, + { 226008, true }, + { 226029, true }, + { 226042, true }, + { 226061, true }, + { 226088, true }, + { 226107, true }, + { 226125, true }, + { 226142, true }, { 226165, true }, - { 226186, true }, - { 226196, true }, - { 226216, true }, - { 226229, true }, - { 226238, true }, + { 226179, true }, + { 226197, true }, + { 226215, true }, + { 226231, true }, { 226249, true }, - { 226259, true }, - { 226272, true }, - { 226285, true }, - { 226301, true }, - { 226314, true }, - { 226328, true }, - { 226343, true }, - { 226355, true }, - { 226369, true }, + { 226262, true }, + { 226274, true }, + { 226290, true }, + { 226311, true }, + { 226321, true }, + { 226341, true }, + { 226354, true }, + { 226363, true }, + { 226374, true }, { 226384, true }, - { 226396, true }, - { 226412, true }, - { 226432, true }, - { 226448, true }, - { 226461, true }, - { 226476, true }, - { 226486, true }, - { 226495, true }, - { 226522, true }, - { 226534, true }, - { 226567, true }, + { 226397, true }, + { 226410, true }, + { 226426, true }, + { 226439, true }, + { 226453, true }, + { 226468, true }, + { 226480, true }, + { 226494, true }, + { 226509, true }, + { 226521, true }, + { 226537, true }, + { 226557, true }, + { 226573, true }, + { 226586, true }, { 226601, true }, - { 226635, true }, - { 226650, false }, - { 226667, true }, - { 226685, true }, - { 226709, true }, - { 226728, true }, - { 226745, true }, - { 226769, true }, - { 226782, true }, - { 226796, true }, - { 226804, true }, - { 226815, true }, - { 226829, true }, - { 226841, true }, - { 226850, false }, - { 226860, true }, - { 226880, true }, + { 226611, true }, + { 226620, true }, + { 226647, true }, + { 226659, true }, + { 226692, true }, + { 226726, true }, + { 226760, true }, + { 226775, false }, + { 226792, true }, + { 226810, true }, + { 226834, true }, + { 226853, true }, + { 226870, true }, { 226894, true }, { 226907, true }, - { 226927, true }, - { 226945, true }, + { 226921, true }, + { 226929, true }, + { 226940, true }, { 226954, true }, { 226966, true }, - { 226981, true }, - { 226997, true }, - { 227012, true }, - { 227027, true }, - { 227038, true }, - { 227063, true }, - { 227078, false }, - { 227095, true }, - { 227107, false }, - { 227130, true }, - { 227155, true }, - { 227174, true }, - { 227191, true }, - { 227208, true }, - { 227216, true }, - { 227229, true }, - { 227240, true }, - { 227259, true }, - { 227274, true }, - { 227296, true }, - { 227319, true }, - { 227332, true }, - { 227350, true }, - { 227373, true }, - { 227390, true }, - { 227400, false }, - { 227414, true }, - { 227431, true }, - { 227443, true }, - { 227463, true }, - { 227480, true }, - { 227490, true }, - { 227512, true }, - { 227527, true }, - { 227540, true }, - { 227555, true }, - { 227573, true }, - { 227584, true }, - { 227601, false }, + { 226975, false }, + { 226985, true }, + { 227005, true }, + { 227019, true }, + { 227032, true }, + { 227052, true }, + { 227070, true }, + { 227079, true }, + { 227091, true }, + { 227106, true }, + { 227122, true }, + { 227137, true }, + { 227152, true }, + { 227163, true }, + { 227188, true }, + { 227203, false }, + { 227220, true }, + { 227232, false }, + { 227255, true }, + { 227280, true }, + { 227299, true }, + { 227316, true }, + { 227333, true }, + { 227341, true }, + { 227354, true }, + { 227365, true }, + { 227384, true }, + { 227399, true }, + { 227421, true }, + { 227444, true }, + { 227457, true }, + { 227475, true }, + { 227498, true }, + { 227515, true }, + { 227525, false }, + { 227539, true }, + { 227556, true }, + { 227568, true }, + { 227588, true }, + { 227605, true }, { 227615, true }, - { 227631, true }, - { 227643, true }, + { 227637, true }, + { 227652, true }, + { 227665, true }, { 227680, true }, - { 227699, true }, - { 227713, true }, - { 227725, true }, + { 227698, true }, + { 227709, true }, + { 227726, false }, { 227740, true }, - { 227753, true }, - { 227768, false }, - { 227780, true }, - { 227797, false }, - { 227812, true }, - { 227825, true }, - { 227833, true }, - { 227845, false }, - { 227857, true }, - { 227874, true }, - { 227887, true }, - { 227903, true }, - { 227933, true }, - { 227949, false }, - { 227957, true }, - { 227970, true }, - { 227986, true }, + { 227756, true }, + { 227768, true }, + { 227805, true }, + { 227824, true }, + { 227838, true }, + { 227850, true }, + { 227865, true }, + { 227878, true }, + { 227893, false }, + { 227905, true }, + { 227922, false }, + { 227937, true }, + { 227950, true }, + { 227958, true }, + { 227970, false }, + { 227982, true }, { 227999, true }, - { 228017, true }, - { 228027, true }, - { 228038, true }, - { 228054, true }, - { 228064, true }, - { 228090, true }, - { 228109, true }, - { 228122, true }, - { 228141, true }, - { 228166, true }, - { 228183, true }, - { 228197, true }, - { 228223, true }, - { 228238, false }, - { 228249, true }, - { 228269, true }, - { 228282, true }, - { 228295, true }, - { 228307, true }, - { 228326, true }, - { 228339, true }, - { 228354, true }, - { 228365, true }, - { 228376, true }, - { 228396, true }, - { 228406, true }, - { 228416, true }, - { 228438, true }, - { 228458, true }, - { 228475, true }, - { 228493, true }, - { 228506, true }, - { 228519, true }, - { 228534, true }, - { 228545, true }, - { 228556, true }, - { 228571, true }, - { 228595, true }, - { 228611, true }, - { 228633, true }, + { 228012, true }, + { 228028, true }, + { 228058, true }, + { 228074, false }, + { 228082, true }, + { 228095, true }, + { 228111, true }, + { 228124, true }, + { 228142, true }, + { 228152, true }, + { 228163, true }, + { 228179, true }, + { 228189, true }, + { 228215, true }, + { 228234, true }, + { 228247, true }, + { 228266, true }, + { 228291, true }, + { 228308, true }, + { 228322, true }, + { 228348, true }, + { 228363, false }, + { 228374, true }, + { 228394, true }, + { 228407, true }, + { 228420, true }, + { 228432, true }, + { 228451, true }, + { 228464, true }, + { 228479, true }, + { 228490, true }, + { 228501, true }, + { 228521, true }, + { 228531, true }, + { 228541, true }, + { 228563, true }, + { 228583, true }, + { 228600, true }, + { 228618, true }, + { 228631, true }, { 228644, true }, - { 228660, true }, - { 228676, true }, - { 228689, true }, - { 228702, true }, - { 228726, true }, - { 228741, true }, - { 228754, true }, - { 228773, true }, - { 228783, true }, - { 228797, true }, - { 228808, true }, - { 228825, true }, - { 228837, true }, - { 228851, true }, - { 228864, true }, - { 228881, true }, - { 228898, true }, - { 228910, true }, - { 228921, true }, - { 228936, true }, - { 228953, true }, - { 228962, true }, - { 228982, true }, - { 228999, true }, - { 229014, true }, - { 229040, true }, - { 229058, true }, - { 229068, true }, - { 229085, true }, - { 229102, true }, - { 229117, true }, - { 229133, true }, - { 229149, true }, - { 229168, true }, - { 229185, true }, - { 229202, true }, - { 229213, true }, - { 229224, true }, - { 229239, true }, - { 229251, true }, - { 229266, true }, - { 229284, true }, - { 229297, true }, - { 229307, true }, + { 228659, true }, + { 228670, true }, + { 228685, true }, + { 228709, true }, + { 228725, true }, + { 228747, true }, + { 228758, true }, + { 228774, true }, + { 228790, true }, + { 228803, true }, + { 228816, true }, + { 228840, true }, + { 228855, true }, + { 228868, true }, + { 228887, true }, + { 228897, true }, + { 228911, true }, + { 228922, true }, + { 228939, true }, + { 228951, true }, + { 228965, true }, + { 228978, true }, + { 228995, true }, + { 229012, true }, + { 229024, true }, + { 229035, true }, + { 229050, true }, + { 229067, true }, + { 229076, true }, + { 229096, true }, + { 229113, true }, + { 229128, true }, + { 229154, true }, + { 229172, true }, + { 229182, true }, + { 229199, true }, + { 229216, true }, + { 229231, true }, + { 229247, true }, + { 229263, true }, + { 229282, true }, + { 229299, true }, { 229316, true }, - { 229329, true }, - { 229344, true }, - { 229354, true }, - { 229366, true }, - { 229380, false }, - { 229389, true }, - { 229399, false }, + { 229327, true }, + { 229338, true }, + { 229353, true }, + { 229365, true }, + { 229380, true }, + { 229398, true }, { 229411, true }, - { 229422, true }, - { 229439, true }, - { 229449, true }, - { 229459, true }, - { 229470, true }, - { 229479, true }, - { 229490, false }, + { 229421, true }, + { 229430, true }, + { 229443, true }, + { 229458, true }, + { 229468, true }, + { 229480, true }, + { 229494, false }, { 229503, true }, - { 229519, true }, - { 229531, true }, - { 229542, true }, - { 229556, false }, - { 229567, true }, - { 229590, true }, - { 229612, true }, - { 229620, true }, - { 229630, false }, - { 229642, true }, - { 229655, true }, - { 229663, true }, - { 229671, true }, - { 229683, true }, - { 229698, true }, - { 229708, true }, - { 229724, true }, - { 229737, true }, - { 229746, true }, - { 229763, true }, + { 229513, false }, + { 229525, true }, + { 229536, true }, + { 229553, true }, + { 229563, true }, + { 229573, true }, + { 229584, true }, + { 229593, true }, + { 229604, false }, + { 229617, true }, + { 229633, true }, + { 229645, true }, + { 229656, true }, + { 229670, false }, + { 229681, true }, + { 229704, true }, + { 229726, true }, + { 229734, true }, + { 229744, false }, + { 229756, true }, + { 229769, true }, { 229777, true }, - { 229790, true }, - { 229805, true }, - { 229814, true }, - { 229823, false }, - { 229832, true }, + { 229785, true }, + { 229797, true }, + { 229812, true }, + { 229822, true }, + { 229838, true }, { 229851, true }, - { 229864, true }, - { 229879, true }, - { 229901, true }, - { 229917, false }, - { 229929, true }, - { 229939, true }, - { 229952, true }, - { 229968, true }, - { 229981, true }, - { 229992, true }, - { 230006, true }, - { 230023, true }, - { 230036, true }, - { 230052, true }, - { 230073, true }, - { 230092, true }, - { 230109, true }, - { 230125, true }, - { 230145, true }, - { 230158, true }, - { 230169, true }, - { 230183, true }, - { 230203, true }, - { 230227, true }, - { 230250, true }, - { 230261, true }, - { 230283, true }, - { 230308, true }, - { 230320, false }, + { 229860, true }, + { 229877, true }, + { 229891, true }, + { 229904, true }, + { 229919, true }, + { 229928, true }, + { 229937, false }, + { 229946, true }, + { 229959, true }, + { 229974, true }, + { 229996, true }, + { 230012, true }, + { 230022, true }, + { 230035, true }, + { 230051, true }, + { 230064, true }, + { 230075, true }, + { 230089, true }, + { 230106, true }, + { 230119, true }, + { 230135, true }, + { 230156, true }, + { 230175, true }, + { 230192, true }, + { 230208, true }, + { 230228, true }, + { 230241, true }, + { 230252, true }, + { 230266, true }, + { 230286, true }, + { 230310, true }, { 230333, true }, - { 230351, true }, - { 230365, true }, - { 230379, false }, - { 230400, true }, - { 230417, true }, - { 230428, true }, - { 230438, true }, - { 230448, true }, - { 230460, true }, - { 230472, true }, - { 230484, true }, - { 230503, true }, - { 230529, true }, + { 230344, true }, + { 230366, true }, + { 230378, false }, + { 230391, true }, + { 230409, true }, + { 230423, true }, + { 230437, false }, + { 230458, true }, + { 230475, true }, + { 230486, true }, + { 230496, true }, + { 230506, true }, + { 230518, true }, + { 230530, true }, { 230542, true }, - { 230556, true }, - { 230573, true }, - { 230592, true }, - { 230609, true }, - { 230627, true }, - { 230642, true }, - { 230663, true }, - { 230684, true }, - { 230692, false }, - { 230710, true }, - { 230724, true }, - { 230746, true }, - { 230765, true }, - { 230777, true }, - { 230790, true }, - { 230802, true }, + { 230561, true }, + { 230587, true }, + { 230600, true }, + { 230614, true }, + { 230631, true }, + { 230650, true }, + { 230667, true }, + { 230685, true }, + { 230700, true }, + { 230721, true }, + { 230742, true }, + { 230750, false }, + { 230768, true }, + { 230782, true }, + { 230804, true }, { 230823, true }, - { 230847, true }, - { 230857, true }, - { 230872, true }, - { 230887, true }, - { 230904, true }, - { 230926, true }, - { 230936, true }, - { 230954, true }, - { 230970, true }, - { 230989, true }, - { 231003, true }, - { 231020, true }, - { 231030, true }, - { 231045, true }, + { 230835, true }, + { 230848, true }, + { 230860, true }, + { 230881, true }, + { 230905, true }, + { 230915, true }, + { 230930, true }, + { 230945, true }, + { 230962, true }, + { 230984, true }, + { 230994, true }, + { 231012, true }, + { 231028, true }, + { 231047, true }, { 231061, true }, + { 231078, true }, { 231088, true }, - { 231102, true }, - { 231118, true }, - { 231133, true }, + { 231103, true }, + { 231119, true }, { 231146, true }, - { 231155, true }, - { 231166, true }, - { 231182, true }, - { 231197, true }, - { 231210, true }, - { 231223, false }, - { 231234, true }, - { 231250, true }, - { 231262, true }, - { 231276, true }, - { 231293, true }, + { 231160, true }, + { 231176, true }, + { 231191, true }, + { 231204, true }, + { 231213, true }, + { 231224, true }, + { 231240, true }, + { 231255, true }, + { 231268, true }, + { 231281, false }, + { 231292, true }, { 231308, true }, - { 231319, true }, - { 231335, true }, - { 231347, true }, - { 231363, true }, - { 231384, true }, - { 231407, true }, - { 231428, true }, - { 231443, true }, - { 231453, true }, - { 231467, true }, - { 231477, true }, + { 231320, true }, + { 231334, true }, + { 231351, true }, + { 231366, true }, + { 231377, true }, + { 231393, true }, + { 231405, true }, + { 231421, true }, + { 231442, true }, + { 231465, true }, { 231486, true }, - { 231493, true }, - { 231507, true }, - { 231527, true }, - { 231538, true }, - { 231552, true }, - { 231565, false }, - { 231579, true }, - { 231590, true }, - { 231600, true }, - { 231618, true }, - { 231628, true }, - { 231645, true }, + { 231501, true }, + { 231511, true }, + { 231525, true }, + { 231535, true }, + { 231544, true }, + { 231551, true }, + { 231565, true }, + { 231585, true }, + { 231596, true }, + { 231610, true }, + { 231623, false }, + { 231637, true }, + { 231648, true }, { 231658, true }, - { 231668, true }, - { 231679, true }, - { 231704, true }, - { 231718, true }, - { 231729, true }, - { 231740, true }, - { 231755, true }, - { 231771, false }, - { 231782, false }, - { 231797, true }, - { 231812, false }, - { 231826, false }, - { 231845, true }, - { 231856, true }, - { 231866, true }, - { 231877, true }, + { 231676, true }, + { 231689, true }, + { 231699, true }, + { 231710, true }, + { 231735, true }, + { 231749, true }, + { 231760, true }, + { 231771, true }, + { 231786, true }, + { 231802, false }, + { 231813, false }, + { 231828, true }, + { 231843, false }, + { 231857, false }, + { 231876, true }, + { 231887, true }, { 231897, true }, - { 231909, true }, - { 231922, true }, - { 231935, true }, + { 231908, true }, + { 231928, true }, + { 231940, true }, { 231953, true }, - { 231963, true }, - { 231972, false }, - { 231982, true }, - { 231993, true }, - { 232004, true }, - { 232016, true }, - { 232027, true }, + { 231966, true }, + { 231984, true }, + { 231994, true }, + { 232003, false }, + { 232013, true }, + { 232024, true }, { 232035, true }, - { 232045, true }, - { 232060, true }, - { 232077, true }, - { 232094, true }, - { 232107, true }, - { 232116, true }, - { 232123, true }, - { 232142, true }, - { 232153, true }, - { 232172, false }, - { 232183, true }, - { 232200, true }, - { 232217, true }, - { 232230, true }, - { 232241, true }, - { 232252, true }, - { 232269, false }, - { 232284, false }, - { 232292, true }, - { 232301, true }, - { 232321, true }, - { 232344, false }, - { 232357, true }, - { 232368, true }, - { 232384, false }, - { 232391, true }, - { 232401, true }, - { 232415, true }, - { 232424, true }, - { 232438, true }, - { 232458, false }, - { 232478, false }, - { 232490, false }, - { 232506, true }, - { 232518, true }, - { 232530, true }, + { 232047, true }, + { 232058, true }, + { 232066, true }, + { 232076, true }, + { 232091, true }, + { 232108, true }, + { 232125, true }, + { 232138, true }, + { 232147, true }, + { 232154, true }, + { 232173, true }, + { 232184, true }, + { 232203, false }, + { 232214, true }, + { 232231, true }, + { 232248, true }, + { 232261, true }, + { 232272, true }, + { 232283, true }, + { 232300, false }, + { 232315, false }, + { 232323, true }, + { 232332, true }, + { 232352, true }, + { 232375, false }, + { 232388, true }, + { 232399, true }, + { 232415, false }, + { 232422, true }, + { 232432, true }, + { 232446, true }, + { 232455, true }, + { 232469, true }, + { 232489, false }, + { 232509, false }, + { 232521, false }, + { 232537, true }, { 232549, true }, - { 232559, true }, - { 232583, true }, - { 232591, true }, - { 232608, true }, - { 232624, true }, - { 232640, true }, - { 232653, true }, - { 232662, true }, - { 232675, true }, - { 232690, true }, - { 232704, true }, - { 232720, false }, + { 232561, true }, + { 232580, true }, + { 232590, true }, + { 232614, true }, + { 232622, true }, + { 232639, true }, + { 232655, true }, + { 232671, true }, + { 232684, true }, + { 232693, true }, + { 232706, true }, + { 232721, true }, { 232735, true }, - { 232744, true }, - { 232764, true }, + { 232751, false }, + { 232766, true }, { 232775, true }, - { 232783, true }, - { 232797, true }, - { 232810, true }, - { 232821, true }, - { 232831, false }, + { 232795, true }, + { 232806, true }, + { 232814, true }, + { 232828, true }, { 232841, true }, - { 232855, true }, - { 232867, true }, - { 232881, true }, - { 232891, true }, - { 232910, false }, - { 232923, true }, - { 232939, true }, - { 232961, true }, - { 232978, true }, - { 232994, true }, - { 233008, true }, - { 233021, true }, - { 233030, true }, + { 232852, true }, + { 232862, false }, + { 232872, true }, + { 232886, true }, + { 232898, true }, + { 232912, true }, + { 232922, true }, + { 232941, false }, + { 232954, true }, + { 232970, true }, + { 232992, true }, + { 233009, true }, + { 233025, true }, { 233039, true }, - { 233054, true }, - { 233068, true }, - { 233078, true }, - { 233107, true }, - { 233119, true }, - { 233131, true }, - { 233152, true }, - { 233166, true }, + { 233052, true }, + { 233061, true }, + { 233070, true }, + { 233085, true }, + { 233099, true }, + { 233109, true }, + { 233138, true }, + { 233150, true }, + { 233162, true }, { 233183, true }, - { 233194, true }, - { 233209, true }, - { 233223, true }, - { 233243, true }, - { 233259, true }, - { 233271, true }, - { 233285, true }, - { 233300, true }, - { 233314, true }, - { 233327, true }, - { 233338, true }, - { 233354, true }, - { 233370, true }, - { 233379, true }, - { 233389, true }, - { 233413, false }, - { 233425, true }, - { 233441, true }, - { 233469, true }, - { 233501, true }, - { 233516, true }, - { 233528, true }, - { 233539, true }, - { 233553, true }, - { 233566, true }, + { 233197, true }, + { 233214, true }, + { 233225, true }, + { 233240, true }, + { 233254, true }, + { 233274, true }, + { 233290, true }, + { 233302, true }, + { 233316, true }, + { 233331, true }, + { 233345, true }, + { 233358, true }, + { 233369, true }, + { 233385, true }, + { 233401, true }, + { 233410, true }, + { 233420, true }, + { 233444, false }, + { 233456, true }, + { 233472, true }, + { 233500, true }, + { 233532, true }, + { 233547, true }, + { 233559, true }, + { 233570, true }, { 233584, true }, - { 233598, true }, - { 233612, true }, - { 233624, true }, - { 233645, true }, - { 233660, true }, + { 233597, true }, + { 233615, true }, + { 233629, true }, + { 233643, true }, + { 233655, true }, { 233676, true }, - { 233693, true }, - { 233706, false }, - { 233714, false }, - { 233726, true }, - { 233735, true }, - { 233745, true }, - { 233756, true }, - { 233768, true }, - { 233784, true }, - { 233800, true }, - { 233810, true }, - { 233821, true }, - { 233832, false }, - { 233844, true }, - { 233855, true }, - { 233867, true }, + { 233691, true }, + { 233707, true }, + { 233724, true }, + { 233737, false }, + { 233745, false }, + { 233757, true }, + { 233766, true }, + { 233776, true }, + { 233787, true }, + { 233799, true }, + { 233815, true }, + { 233831, true }, + { 233841, true }, + { 233852, true }, + { 233863, false }, + { 233875, true }, { 233886, true }, - { 233896, true }, - { 233905, true }, - { 233924, true }, - { 233952, true }, - { 233966, true }, - { 233980, true }, - { 233999, true }, - { 234021, true }, - { 234043, true }, - { 234065, true }, - { 234083, true }, - { 234100, true }, - { 234116, true }, - { 234127, true }, - { 234142, true }, + { 233898, true }, + { 233917, true }, + { 233927, true }, + { 233936, true }, + { 233955, true }, + { 233983, true }, + { 233997, true }, + { 234011, true }, + { 234030, true }, + { 234052, true }, + { 234074, true }, + { 234096, true }, + { 234114, true }, + { 234131, true }, + { 234147, true }, { 234158, true }, - { 234171, false }, - { 234187, true }, - { 234203, true }, - { 234216, true }, + { 234173, true }, + { 234189, true }, + { 234202, false }, + { 234218, true }, { 234234, true }, - { 234249, true }, - { 234263, true }, - { 234279, true }, + { 234247, true }, + { 234265, true }, + { 234280, true }, { 234294, true }, - { 234314, true }, - { 234333, true }, - { 234352, true }, - { 234365, true }, - { 234381, true }, - { 234394, true }, - { 234409, true }, + { 234310, true }, + { 234325, true }, + { 234345, true }, + { 234364, true }, + { 234383, true }, + { 234396, true }, + { 234412, true }, { 234425, true }, - { 234442, true }, - { 234461, true }, - { 234472, true }, - { 234488, true }, - { 234505, true }, - { 234518, true }, - { 234531, true }, - { 234546, true }, - { 234563, true }, - { 234582, true }, - { 234595, true }, - { 234611, true }, - { 234622, true }, - { 234635, true }, - { 234649, false }, - { 234665, true }, - { 234684, true }, - { 234704, true }, - { 234724, true }, - { 234738, true }, - { 234750, true }, - { 234765, true }, - { 234776, true }, - { 234787, true }, - { 234803, true }, - { 234827, true }, - { 234842, true }, + { 234440, true }, + { 234456, true }, + { 234473, true }, + { 234492, true }, + { 234503, true }, + { 234519, true }, + { 234536, true }, + { 234549, true }, + { 234562, true }, + { 234577, true }, + { 234594, true }, + { 234613, true }, + { 234626, true }, + { 234642, true }, + { 234653, true }, + { 234666, true }, + { 234680, false }, + { 234696, true }, + { 234715, true }, + { 234735, true }, + { 234755, true }, + { 234769, true }, + { 234781, true }, + { 234796, true }, + { 234807, true }, + { 234818, true }, + { 234834, true }, { 234858, true }, - { 234884, true }, - { 234901, true }, - { 234918, true }, - { 234939, true }, - { 234956, true }, - { 234974, true }, - { 234992, false }, - { 235011, true }, - { 235022, true }, - { 235038, true }, - { 235052, true }, - { 235065, true }, - { 235078, true }, - { 235091, true }, - { 235108, true }, - { 235123, true }, + { 234873, true }, + { 234889, true }, + { 234915, true }, + { 234932, true }, + { 234949, true }, + { 234970, true }, + { 234987, true }, + { 235005, true }, + { 235023, false }, + { 235042, true }, + { 235053, true }, + { 235069, true }, + { 235083, true }, + { 235096, true }, + { 235109, true }, + { 235122, true }, { 235139, true }, - { 235150, true }, - { 235158, true }, - { 235167, true }, - { 235177, true }, - { 235188, true }, - { 235200, true }, - { 235214, true }, - { 235223, true }, - { 235240, true }, - { 235249, true }, - { 235262, true }, - { 235281, true }, - { 235302, true }, - { 235310, true }, - { 235329, true }, - { 235346, false }, - { 235361, true }, - { 235374, false }, - { 235390, false }, - { 235402, false }, - { 235417, true }, - { 235430, true }, - { 235445, true }, - { 235465, true }, - { 235487, false }, - { 235510, true }, - { 235528, true }, - { 235544, true }, - { 235556, true }, - { 235574, true }, - { 235586, true }, - { 235595, true }, - { 235609, true }, + { 235154, true }, + { 235170, true }, + { 235181, true }, + { 235189, true }, + { 235198, true }, + { 235208, true }, + { 235219, true }, + { 235231, true }, + { 235245, true }, + { 235254, true }, + { 235271, true }, + { 235280, true }, + { 235293, true }, + { 235312, true }, + { 235333, true }, + { 235341, true }, + { 235360, true }, + { 235377, false }, + { 235392, true }, + { 235405, false }, + { 235421, false }, + { 235433, false }, + { 235448, true }, + { 235461, true }, + { 235476, true }, + { 235496, true }, + { 235518, false }, + { 235541, true }, + { 235559, true }, + { 235575, true }, + { 235587, true }, + { 235605, true }, { 235617, true }, { 235626, true }, - { 235642, true }, - { 235652, true }, - { 235672, true }, - { 235689, true }, + { 235640, true }, + { 235648, true }, + { 235657, true }, + { 235673, true }, + { 235683, true }, { 235703, true }, - { 235723, true }, + { 235720, true }, { 235734, true }, - { 235747, true }, - { 235762, true }, - { 235774, true }, - { 235790, true }, - { 235803, true }, - { 235824, true }, - { 235832, true }, - { 235849, true }, - { 235872, true }, - { 235884, true }, - { 235893, true }, - { 235903, true }, - { 235916, true }, - { 235926, true }, - { 235937, true }, - { 235952, true }, - { 235965, false }, - { 235975, true }, - { 235989, true }, - { 236009, true }, - { 236022, true }, - { 236042, false }, - { 236065, true }, - { 236078, true }, - { 236089, true }, - { 236100, true }, - { 236110, true }, - { 236121, true }, - { 236146, true }, - { 236156, true }, - { 236170, true }, - { 236184, true }, - { 236198, true }, + { 235754, true }, + { 235765, true }, + { 235778, true }, + { 235793, true }, + { 235805, true }, + { 235821, true }, + { 235834, true }, + { 235855, true }, + { 235863, true }, + { 235873, true }, + { 235890, true }, + { 235913, true }, + { 235925, true }, + { 235934, true }, + { 235944, true }, + { 235957, true }, + { 235967, true }, + { 235978, true }, + { 235993, true }, + { 236006, false }, + { 236016, true }, + { 236030, true }, + { 236050, true }, + { 236063, true }, + { 236083, false }, + { 236106, true }, + { 236119, true }, + { 236130, true }, + { 236141, true }, + { 236151, true }, + { 236162, true }, + { 236187, true }, + { 236197, true }, { 236211, true }, - { 236224, false }, + { 236225, true }, { 236239, true }, - { 236253, true }, - { 236278, true }, - { 236292, true }, - { 236304, true }, - { 236316, true }, - { 236328, true }, - { 236342, true }, - { 236352, false }, - { 236372, true }, - { 236382, true }, - { 236396, true }, - { 236406, true }, - { 236419, true }, - { 236434, true }, - { 236443, true }, - { 236453, true }, - { 236467, true }, - { 236476, true }, - { 236485, true }, - { 236496, true }, - { 236507, true }, - { 236518, true }, - { 236528, true }, - { 236536, true }, - { 236544, true }, - { 236553, false }, - { 236573, true }, - { 236588, true }, - { 236600, true }, - { 236612, true }, - { 236627, true }, - { 236646, true }, - { 236666, true }, - { 236694, true }, - { 236719, true }, - { 236729, true }, - { 236742, true }, - { 236756, true }, - { 236771, true }, + { 236252, true }, + { 236265, false }, + { 236280, true }, + { 236294, true }, + { 236319, true }, + { 236333, true }, + { 236345, true }, + { 236357, true }, + { 236369, true }, + { 236383, true }, + { 236393, false }, + { 236413, true }, + { 236423, true }, + { 236437, true }, + { 236447, true }, + { 236460, true }, + { 236475, true }, + { 236484, true }, + { 236494, true }, + { 236508, true }, + { 236517, true }, + { 236526, true }, + { 236537, true }, + { 236548, true }, + { 236559, true }, + { 236569, true }, + { 236577, true }, + { 236585, true }, + { 236594, false }, + { 236614, true }, + { 236629, true }, + { 236641, true }, + { 236653, true }, + { 236668, true }, + { 236687, true }, + { 236707, true }, + { 236735, true }, + { 236760, true }, + { 236770, true }, + { 236783, true }, { 236797, true }, - { 236814, true }, - { 236829, true }, - { 236837, true }, - { 236852, false }, + { 236812, true }, + { 236838, true }, + { 236855, true }, { 236870, true }, - { 236882, true }, - { 236904, true }, - { 236920, true }, - { 236935, true }, - { 236946, true }, - { 236967, true }, - { 236989, true }, - { 237003, true }, - { 237024, true }, - { 237038, true }, - { 237055, true }, - { 237074, true }, - { 237095, true }, - { 237114, true }, - { 237127, true }, - { 237147, true }, - { 237163, true }, - { 237189, true }, - { 237209, true }, + { 236878, true }, + { 236893, false }, + { 236911, true }, + { 236923, true }, + { 236945, true }, + { 236961, true }, + { 236976, true }, + { 236987, true }, + { 237008, true }, + { 237030, true }, + { 237044, true }, + { 237065, true }, + { 237079, true }, + { 237096, true }, + { 237115, true }, + { 237136, true }, + { 237155, true }, + { 237168, true }, + { 237188, true }, + { 237204, true }, { 237230, true }, - { 237247, true }, - { 237266, true }, - { 237290, true }, - { 237309, true }, - { 237325, true }, - { 237350, false }, - { 237376, true }, - { 237395, true }, - { 237406, true }, - { 237430, true }, - { 237456, true }, - { 237474, true }, - { 237485, true }, - { 237507, true }, - { 237523, true }, - { 237540, true }, - { 237558, true }, - { 237568, true }, - { 237582, true }, - { 237598, true }, - { 237616, true }, - { 237633, true }, - { 237655, true }, - { 237678, true }, - { 237690, true }, - { 237709, true }, - { 237727, true }, - { 237750, true }, - { 237763, true }, - { 237779, true }, - { 237797, true }, - { 237815, true }, - { 237829, true }, - { 237847, true }, - { 237865, true }, - { 237880, true }, - { 237897, true }, - { 237911, true }, + { 237250, true }, + { 237271, true }, + { 237288, true }, + { 237307, true }, + { 237331, true }, + { 237350, true }, + { 237366, true }, + { 237391, false }, + { 237417, true }, + { 237436, true }, + { 237447, true }, + { 237471, true }, + { 237497, true }, + { 237515, true }, + { 237526, true }, + { 237548, true }, + { 237564, true }, + { 237581, true }, + { 237599, true }, + { 237609, true }, + { 237625, true }, + { 237643, true }, + { 237660, true }, + { 237682, true }, + { 237705, true }, + { 237717, true }, + { 237736, true }, + { 237754, true }, + { 237777, true }, + { 237790, true }, + { 237806, true }, + { 237824, true }, + { 237842, true }, + { 237856, true }, + { 237874, true }, + { 237892, true }, + { 237907, true }, + { 237924, true }, { 237938, true }, - { 237956, true }, - { 237972, true }, - { 237990, true }, - { 238006, true }, - { 238022, true }, - { 238035, true }, - { 238055, true }, - { 238071, true }, - { 238089, true }, - { 238106, true }, - { 238125, true }, - { 238138, true }, - { 238174, true }, - { 238197, true }, - { 238217, true }, - { 238232, true }, - { 238250, true }, - { 238270, true }, - { 238287, true }, - { 238306, true }, - { 238317, true }, - { 238339, true }, - { 238357, true }, - { 238387, true }, - { 238403, true }, - { 238418, true }, - { 238433, true }, - { 238444, true }, - { 238458, true }, - { 238480, true }, - { 238494, true }, - { 238509, true }, - { 238530, true }, - { 238543, true }, - { 238558, true }, - { 238571, true }, - { 238594, true }, - { 238603, true }, - { 238625, true }, - { 238635, true }, - { 238656, true }, - { 238680, true }, - { 238706, true }, - { 238724, true }, - { 238735, true }, - { 238752, true }, - { 238770, true }, - { 238785, true }, - { 238801, true }, - { 238818, true }, - { 238831, true }, - { 238847, true }, - { 238866, true }, - { 238884, true }, - { 238908, true }, - { 238921, true }, - { 238938, true }, - { 238953, true }, - { 238975, true }, - { 238994, true }, - { 239014, true }, - { 239031, false }, - { 239046, true }, - { 239064, true }, - { 239086, true }, - { 239102, true }, - { 239121, true }, - { 239133, true }, - { 239159, true }, - { 239171, true }, - { 239183, true }, - { 239199, true }, - { 239217, true }, - { 239236, true }, - { 239256, true }, - { 239276, true }, - { 239292, true }, - { 239311, true }, - { 239322, true }, - { 239352, false }, - { 239366, true }, - { 239383, true }, - { 239404, true }, - { 239424, true }, - { 239438, true }, - { 239456, true }, - { 239472, true }, - { 239482, true }, - { 239498, true }, + { 237965, true }, + { 237983, true }, + { 237999, true }, + { 238017, true }, + { 238033, true }, + { 238049, true }, + { 238062, true }, + { 238082, true }, + { 238098, true }, + { 238116, true }, + { 238133, true }, + { 238152, true }, + { 238165, true }, + { 238201, true }, + { 238224, true }, + { 238244, true }, + { 238259, true }, + { 238277, true }, + { 238297, true }, + { 238314, true }, + { 238333, true }, + { 238344, true }, + { 238366, true }, + { 238384, true }, + { 238414, true }, + { 238430, true }, + { 238445, true }, + { 238460, true }, + { 238471, true }, + { 238485, true }, + { 238507, true }, + { 238521, true }, + { 238536, true }, + { 238557, true }, + { 238570, true }, + { 238585, true }, + { 238598, true }, + { 238621, true }, + { 238630, true }, + { 238652, true }, + { 238662, true }, + { 238683, true }, + { 238707, true }, + { 238733, true }, + { 238751, true }, + { 238762, true }, + { 238779, true }, + { 238797, true }, + { 238812, true }, + { 238828, true }, + { 238845, true }, + { 238858, true }, + { 238874, true }, + { 238893, true }, + { 238911, true }, + { 238935, true }, + { 238948, true }, + { 238965, true }, + { 238980, true }, + { 239002, true }, + { 239021, true }, + { 239041, true }, + { 239058, false }, + { 239073, true }, + { 239091, true }, + { 239113, true }, + { 239129, true }, + { 239148, true }, + { 239160, true }, + { 239186, true }, + { 239198, true }, + { 239210, true }, + { 239226, true }, + { 239244, true }, + { 239263, true }, + { 239283, true }, + { 239303, true }, + { 239319, true }, + { 239338, true }, + { 239349, true }, + { 239379, false }, + { 239393, true }, + { 239410, true }, + { 239431, true }, + { 239451, true }, + { 239465, true }, + { 239483, true }, + { 239499, true }, { 239509, true }, - { 239521, true }, - { 239540, true }, - { 239560, true }, - { 239574, true }, + { 239525, true }, + { 239536, true }, + { 239548, true }, + { 239567, true }, { 239587, true }, - { 239598, true }, - { 239619, true }, - { 239644, true }, - { 239672, true }, - { 239688, true }, - { 239701, true }, - { 239718, true }, - { 239735, false }, - { 239750, true }, - { 239775, true }, - { 239796, true }, - { 239805, true }, - { 239815, true }, - { 239827, true }, + { 239601, true }, + { 239614, true }, + { 239625, true }, + { 239646, true }, + { 239671, true }, + { 239699, true }, + { 239715, true }, + { 239728, true }, + { 239745, true }, + { 239762, false }, + { 239777, true }, + { 239802, true }, + { 239823, true }, + { 239832, true }, { 239842, true }, - { 239861, true }, - { 239880, true }, - { 239897, true }, - { 239918, true }, - { 239935, true }, - { 239951, false }, - { 239969, true }, - { 239986, true }, - { 239999, true }, - { 240023, true }, - { 240041, true }, - { 240055, true }, - { 240076, true }, - { 240091, true }, - { 240106, true }, + { 239854, true }, + { 239869, true }, + { 239888, true }, + { 239907, true }, + { 239924, true }, + { 239945, true }, + { 239962, true }, + { 239978, false }, + { 239996, true }, + { 240013, true }, + { 240026, true }, + { 240050, true }, + { 240068, true }, + { 240082, true }, + { 240103, true }, { 240118, true }, - { 240143, true }, - { 240156, true }, - { 240178, true }, - { 240188, true }, + { 240133, true }, + { 240145, true }, + { 240170, true }, + { 240183, true }, { 240205, true }, - { 240224, true }, - { 240237, true }, + { 240215, true }, + { 240232, true }, { 240251, true }, { 240264, true }, - { 240288, true }, - { 240302, true }, - { 240324, true }, - { 240357, true }, - { 240372, true }, - { 240386, true }, - { 240395, true }, - { 240404, true }, - { 240424, true }, - { 240438, true }, - { 240448, true }, - { 240460, true }, - { 240476, false }, - { 240490, true }, - { 240499, true }, - { 240510, true }, - { 240524, true }, - { 240542, true }, - { 240557, true }, - { 240570, true }, - { 240580, true }, - { 240595, true }, - { 240608, true }, - { 240627, true }, - { 240647, true }, - { 240670, true }, - { 240677, true }, - { 240693, true }, - { 240708, true }, - { 240726, true }, + { 240278, true }, + { 240291, true }, + { 240315, true }, + { 240329, true }, + { 240351, true }, + { 240384, true }, + { 240399, true }, + { 240413, true }, + { 240422, true }, + { 240431, true }, + { 240451, true }, + { 240465, true }, + { 240475, true }, + { 240487, true }, + { 240503, false }, + { 240517, true }, + { 240526, true }, + { 240537, true }, + { 240551, true }, + { 240569, true }, + { 240584, true }, + { 240597, true }, + { 240607, true }, + { 240622, true }, + { 240635, true }, + { 240654, true }, + { 240674, true }, + { 240697, true }, + { 240704, true }, + { 240720, true }, { 240738, true }, - { 240768, true }, - { 240781, true }, - { 240794, true }, - { 240804, true }, + { 240750, true }, + { 240780, true }, + { 240793, true }, + { 240806, true }, { 240816, true }, - { 240830, true }, - { 240844, true }, - { 240854, true }, - { 240869, true }, - { 240887, true }, + { 240828, true }, + { 240842, true }, + { 240856, true }, + { 240866, true }, + { 240881, true }, { 240899, true }, - { 240912, true }, + { 240911, true }, { 240924, true }, - { 240935, true }, - { 240949, true }, - { 240968, true }, - { 240983, true }, + { 240936, true }, + { 240947, true }, + { 240961, true }, + { 240980, true }, { 240995, true }, { 241007, true }, - { 241018, true }, - { 241033, true }, - { 241044, true }, - { 241059, true }, + { 241019, true }, + { 241030, true }, + { 241045, true }, + { 241056, true }, { 241071, true }, - { 241087, true }, - { 241102, true }, - { 241118, true }, - { 241127, true }, - { 241136, true }, - { 241150, true }, - { 241161, false }, - { 241176, true }, - { 241190, true }, - { 241199, true }, - { 241215, true }, - { 241228, true }, - { 241241, true }, - { 241261, true }, - { 241275, true }, - { 241288, false }, - { 241308, true }, - { 241321, true }, - { 241335, true }, - { 241351, true }, - { 241365, true }, - { 241376, true }, - { 241393, true }, - { 241407, true }, + { 241083, true }, + { 241099, true }, + { 241114, true }, + { 241130, true }, + { 241139, true }, + { 241148, true }, + { 241162, true }, + { 241173, false }, + { 241188, true }, + { 241202, true }, + { 241211, true }, + { 241227, true }, + { 241240, true }, + { 241253, true }, + { 241273, true }, + { 241287, true }, + { 241300, false }, + { 241320, true }, + { 241333, true }, + { 241347, true }, + { 241363, true }, + { 241377, true }, + { 241388, true }, + { 241405, true }, { 241419, true }, - { 241433, true }, + { 241431, true }, { 241445, true }, { 241457, true }, { 241469, true }, { 241481, true }, - { 241491, true }, - { 241506, true }, - { 241519, true }, - { 241536, true }, - { 241563, true }, - { 241576, true }, - { 241601, true }, - { 241619, true }, + { 241493, true }, + { 241503, true }, + { 241518, true }, + { 241531, true }, + { 241548, true }, + { 241575, true }, + { 241588, true }, + { 241613, true }, { 241631, true }, - { 241642, true }, - { 241650, true }, + { 241643, true }, + { 241654, true }, { 241662, true }, - { 241675, true }, - { 241702, false }, - { 241716, true }, - { 241725, true }, - { 241740, true }, - { 241758, true }, - { 241765, false }, - { 241778, true }, - { 241786, true }, - { 241796, true }, - { 241816, true }, - { 241825, true }, - { 241833, true }, - { 241846, true }, - { 241859, true }, - { 241868, true }, - { 241880, true }, - { 241893, true }, - { 241901, true }, - { 241910, true }, - { 241920, true }, - { 241930, true }, - { 241940, true }, - { 241950, true }, - { 241960, true }, - { 241969, true }, - { 241976, true }, - { 241988, true }, - { 242004, true }, - { 242021, true }, - { 242030, true }, - { 242037, true }, - { 242051, true }, - { 242068, true }, - { 242080, true }, - { 242100, true }, - { 242109, true }, - { 242126, true }, - { 242134, true }, - { 242141, true }, - { 242150, true }, - { 242159, true }, - { 242171, true }, - { 242185, true }, - { 242202, true }, - { 242218, true }, - { 242234, true }, - { 242253, true }, - { 242271, true }, - { 242289, true }, - { 242306, true }, - { 242321, true }, - { 242336, true }, - { 242351, true }, - { 242369, true }, - { 242386, true }, - { 242396, true }, - { 242405, true }, - { 242415, true }, - { 242425, true }, - { 242435, true }, - { 242447, true }, - { 242465, true }, - { 242482, true }, - { 242496, true }, - { 242511, true }, - { 242523, true }, - { 242537, true }, - { 242545, true }, - { 242559, true }, - { 242567, true }, - { 242577, true }, - { 242590, true }, - { 242600, true }, - { 242615, true }, - { 242627, true }, - { 242636, true }, - { 242645, true }, - { 242658, false }, - { 242691, true }, - { 242706, true }, - { 242717, true }, - { 242740, true }, - { 242753, true }, - { 242764, true }, - { 242778, true }, - { 242798, true }, - { 242811, true }, - { 242825, true }, - { 242838, true }, - { 242854, true }, - { 242864, true }, - { 242878, true }, - { 242896, true }, - { 242910, true }, - { 242926, true }, - { 242941, true }, - { 242951, true }, - { 242963, true }, - { 242977, true }, - { 242993, true }, - { 243005, true }, - { 243021, true }, - { 243031, true }, - { 243044, true }, - { 243061, true }, - { 243075, true }, - { 243083, true }, - { 243095, true }, - { 243109, true }, + { 241674, true }, + { 241687, true }, + { 241714, false }, + { 241728, true }, + { 241737, true }, + { 241752, true }, + { 241770, true }, + { 241777, false }, + { 241790, true }, + { 241798, true }, + { 241808, true }, + { 241828, true }, + { 241836, true }, + { 241849, true }, + { 241862, true }, + { 241871, true }, + { 241883, true }, + { 241896, true }, + { 241904, true }, + { 241913, true }, + { 241923, true }, + { 241933, true }, + { 241943, true }, + { 241953, true }, + { 241963, true }, + { 241972, true }, + { 241979, true }, + { 241991, true }, + { 242007, true }, + { 242024, true }, + { 242033, true }, + { 242040, true }, + { 242054, true }, + { 242071, true }, + { 242083, true }, + { 242103, true }, + { 242112, true }, + { 242129, true }, + { 242137, true }, + { 242144, true }, + { 242153, true }, + { 242162, true }, + { 242174, true }, + { 242188, true }, + { 242205, true }, + { 242221, true }, + { 242237, true }, + { 242256, true }, + { 242274, true }, + { 242292, true }, + { 242309, true }, + { 242324, true }, + { 242339, true }, + { 242354, true }, + { 242372, true }, + { 242389, true }, + { 242399, true }, + { 242408, true }, + { 242418, true }, + { 242428, true }, + { 242438, true }, + { 242450, true }, + { 242468, true }, + { 242485, true }, + { 242499, true }, + { 242514, true }, + { 242526, true }, + { 242540, true }, + { 242548, true }, + { 242562, true }, + { 242570, true }, + { 242580, true }, + { 242593, true }, + { 242603, true }, + { 242618, true }, + { 242630, true }, + { 242639, true }, + { 242648, true }, + { 242661, false }, + { 242694, true }, + { 242709, true }, + { 242720, true }, + { 242743, true }, + { 242756, true }, + { 242767, true }, + { 242781, true }, + { 242801, true }, + { 242814, true }, + { 242828, true }, + { 242841, true }, + { 242857, true }, + { 242867, true }, + { 242881, true }, + { 242899, true }, + { 242913, true }, + { 242929, true }, + { 242944, true }, + { 242966, true }, + { 242976, true }, + { 242988, true }, + { 243002, true }, + { 243018, true }, + { 243030, true }, + { 243046, true }, + { 243056, true }, + { 243069, true }, + { 243086, true }, + { 243100, true }, + { 243108, true }, { 243120, true }, - { 243128, true }, - { 243140, false }, - { 243148, true }, - { 243159, true }, - { 243175, true }, - { 243186, true }, - { 243199, true }, - { 243211, false }, - { 243225, true }, - { 243238, true }, - { 243249, true }, - { 243259, false }, - { 243270, true }, - { 243284, true }, - { 243303, true }, - { 243314, true }, + { 243134, true }, + { 243145, true }, + { 243153, true }, + { 243165, false }, + { 243173, true }, + { 243184, true }, + { 243200, true }, + { 243211, true }, + { 243224, true }, + { 243236, false }, + { 243250, true }, + { 243263, true }, + { 243274, true }, + { 243284, false }, + { 243295, true }, + { 243309, true }, { 243328, true }, { 243339, true }, - { 243350, true }, - { 243361, true }, - { 243372, true }, - { 243383, true }, + { 243353, true }, + { 243364, true }, + { 243375, true }, + { 243386, true }, { 243397, true }, - { 243409, true }, - { 243424, true }, - { 243438, true }, - { 243453, true }, - { 243466, true }, - { 243482, true }, + { 243408, true }, + { 243422, true }, + { 243434, true }, + { 243449, true }, + { 243463, true }, + { 243478, true }, { 243491, true }, - { 243500, true }, - { 243514, true }, + { 243507, true }, + { 243516, true }, { 243525, true }, - { 243536, false }, - { 243552, true }, - { 243563, true }, - { 243574, true }, - { 243584, true }, - { 243600, true }, - { 243607, false }, - { 243621, true }, - { 243634, true }, - { 243643, true }, - { 243653, true }, - { 243666, true }, - { 243676, true }, - { 243700, true }, - { 243713, true }, - { 243723, true }, - { 243736, false }, - { 243755, true }, - { 243769, true }, - { 243781, true }, - { 243795, true }, - { 243816, true }, - { 243831, true }, - { 243845, true }, - { 243857, true }, - { 243872, false }, - { 243891, true }, - { 243901, true }, - { 243913, true }, - { 243923, true }, - { 243935, true }, - { 243952, true }, - { 243971, true }, - { 243980, false }, - { 243995, true }, - { 244013, false }, - { 244025, true }, - { 244051, true }, - { 244062, true }, - { 244077, true }, - { 244095, true }, - { 244108, true }, - { 244124, true }, - { 244139, true }, - { 244154, true }, - { 244166, true }, + { 243539, true }, + { 243550, true }, + { 243561, false }, + { 243577, true }, + { 243588, true }, + { 243599, true }, + { 243609, true }, + { 243625, true }, + { 243632, false }, + { 243646, true }, + { 243659, true }, + { 243668, true }, + { 243678, true }, + { 243691, true }, + { 243701, true }, + { 243725, true }, + { 243738, true }, + { 243748, true }, + { 243761, false }, + { 243780, true }, + { 243794, true }, + { 243806, true }, + { 243820, true }, + { 243841, true }, + { 243856, true }, + { 243870, true }, + { 243882, true }, + { 243897, false }, + { 243916, true }, + { 243926, true }, + { 243938, true }, + { 243948, true }, + { 243960, true }, + { 243977, true }, + { 243996, true }, + { 244005, false }, + { 244020, true }, + { 244038, false }, + { 244050, true }, + { 244076, true }, + { 244087, true }, + { 244102, true }, + { 244120, true }, + { 244133, true }, + { 244149, true }, + { 244164, true }, { 244179, true }, - { 244189, true }, - { 244207, true }, - { 244227, true }, - { 244246, true }, - { 244274, true }, - { 244288, true }, - { 244307, true }, - { 244328, true }, - { 244337, true }, - { 244361, true }, - { 244375, true }, - { 244385, false }, - { 244404, true }, - { 244418, true }, - { 244433, true }, - { 244450, true }, - { 244470, true }, - { 244484, true }, - { 244494, true }, - { 244515, true }, - { 244533, true }, - { 244546, true }, - { 244567, true }, - { 244579, true }, - { 244590, true }, - { 244605, true }, - { 244620, true }, - { 244631, true }, - { 244652, true }, - { 244671, true }, - { 244682, true }, - { 244711, true }, + { 244191, true }, + { 244204, true }, + { 244214, true }, + { 244232, true }, + { 244252, true }, + { 244271, true }, + { 244299, true }, + { 244313, true }, + { 244332, true }, + { 244353, true }, + { 244362, true }, + { 244386, true }, + { 244400, true }, + { 244410, false }, + { 244429, true }, + { 244443, true }, + { 244458, true }, + { 244475, true }, + { 244495, true }, + { 244509, true }, + { 244519, true }, + { 244540, true }, + { 244558, true }, + { 244571, true }, + { 244592, true }, + { 244604, true }, + { 244615, true }, + { 244630, true }, + { 244645, true }, + { 244656, true }, + { 244677, true }, + { 244696, true }, + { 244707, true }, { 244736, true }, - { 244757, true }, - { 244764, true }, - { 244776, true }, - { 244791, true }, - { 244807, true }, - { 244824, true }, - { 244846, true }, - { 244856, true }, - { 244868, true }, - { 244880, true }, - { 244897, true }, - { 244906, true }, - { 244919, false }, - { 244932, false }, - { 244952, true }, - { 244962, true }, - { 244981, true }, - { 245002, true }, - { 245014, true }, + { 244761, true }, + { 244782, true }, + { 244789, true }, + { 244801, true }, + { 244816, true }, + { 244832, true }, + { 244849, true }, + { 244871, true }, + { 244881, true }, + { 244893, true }, + { 244905, true }, + { 244922, true }, + { 244931, true }, + { 244944, false }, + { 244957, false }, + { 244977, true }, + { 244987, true }, + { 245006, true }, { 245027, true }, - { 245044, true }, - { 245060, true }, - { 245071, true }, - { 245086, true }, - { 245104, true }, - { 245117, true }, - { 245132, true }, - { 245145, true }, - { 245161, true }, - { 245179, true }, - { 245191, true }, - { 245210, false }, - { 245227, true }, - { 245238, true }, - { 245258, true }, - { 245269, true }, - { 245295, true }, - { 245314, true }, - { 245333, true }, - { 245343, true }, + { 245039, true }, + { 245052, true }, + { 245069, true }, + { 245085, true }, + { 245096, true }, + { 245111, true }, + { 245129, true }, + { 245142, true }, + { 245157, true }, + { 245170, true }, + { 245186, true }, + { 245204, true }, + { 245216, true }, + { 245235, false }, + { 245252, true }, + { 245263, true }, + { 245283, true }, + { 245294, true }, + { 245320, true }, + { 245339, true }, { 245358, true }, - { 245370, true }, - { 245390, true }, - { 245408, true }, - { 245425, true }, - { 245438, true }, - { 245451, true }, - { 245464, true }, - { 245477, true }, - { 245490, true }, - { 245514, true }, - { 245525, true }, - { 245537, true }, - { 245552, true }, - { 245568, true }, - { 245578, true }, - { 245591, true }, - { 245609, true }, - { 245627, true }, - { 245646, true }, - { 245658, true }, + { 245368, true }, + { 245383, true }, + { 245395, true }, + { 245415, true }, + { 245433, true }, + { 245450, true }, + { 245463, true }, + { 245476, true }, + { 245489, true }, + { 245502, true }, + { 245515, true }, + { 245539, true }, + { 245550, true }, + { 245562, true }, + { 245577, true }, + { 245593, true }, + { 245603, true }, + { 245616, true }, + { 245634, true }, + { 245652, true }, { 245671, true }, - { 245689, true }, - { 245711, true }, - { 245724, true }, - { 245746, true }, - { 245766, true }, - { 245782, true }, - { 245793, true }, - { 245821, true }, + { 245683, true }, + { 245696, true }, + { 245714, true }, + { 245736, true }, + { 245749, true }, + { 245771, true }, + { 245791, true }, + { 245807, true }, + { 245818, true }, { 245846, true }, - { 245878, true }, - { 245897, true }, - { 245917, true }, - { 245932, true }, - { 245952, true }, - { 245965, true }, + { 245871, true }, + { 245903, true }, + { 245922, true }, + { 245942, true }, + { 245957, true }, + { 245977, true }, { 245990, true }, - { 246006, true }, - { 246023, true }, - { 246040, true }, - { 246052, true }, + { 246015, true }, + { 246031, true }, + { 246048, true }, { 246065, true }, + { 246077, true }, { 246090, true }, - { 246108, true }, - { 246122, true }, - { 246143, true }, - { 246155, true }, - { 246170, true }, - { 246187, true }, - { 246199, true }, - { 246218, true }, - { 246235, true }, - { 246253, true }, - { 246268, true }, - { 246279, true }, + { 246115, true }, + { 246133, true }, + { 246147, true }, + { 246168, true }, + { 246180, true }, + { 246195, true }, + { 246212, true }, + { 246224, true }, + { 246243, true }, + { 246260, true }, + { 246278, true }, { 246293, true }, - { 246312, true }, - { 246329, true }, - { 246344, true }, + { 246304, true }, + { 246318, true }, + { 246337, true }, { 246354, true }, - { 246366, true }, - { 246386, true }, - { 246400, true }, - { 246415, true }, - { 246429, true }, - { 246439, true }, - { 246452, true }, - { 246471, true }, - { 246483, true }, - { 246497, true }, - { 246506, true }, - { 246520, true }, - { 246534, true }, - { 246544, true }, - { 246556, true }, - { 246567, true }, - { 246585, true }, - { 246597, false }, - { 246605, true }, - { 246616, true }, - { 246632, true }, - { 246644, true }, - { 246655, true }, - { 246667, true }, - { 246678, true }, - { 246690, true }, - { 246702, true }, - { 246711, true }, - { 246721, true }, - { 246735, true }, - { 246749, true }, - { 246763, true }, - { 246777, true }, - { 246795, true }, - { 246806, true }, - { 246822, true }, - { 246834, true }, - { 246849, true }, - { 246867, true }, - { 246887, true }, - { 246900, true }, - { 246908, true }, - { 246929, true }, - { 246940, true }, - { 246955, true }, - { 246970, false }, - { 246988, false }, - { 247009, true }, - { 247032, true }, - { 247049, true }, - { 247061, true }, - { 247082, true }, - { 247108, true }, - { 247125, true }, - { 247142, true }, - { 247162, true }, - { 247175, true }, - { 247188, true }, - { 247202, true }, - { 247224, true }, - { 247241, true }, - { 247258, true }, - { 247278, true }, + { 246369, true }, + { 246379, true }, + { 246391, true }, + { 246411, true }, + { 246425, true }, + { 246440, true }, + { 246454, true }, + { 246464, true }, + { 246477, true }, + { 246496, true }, + { 246508, true }, + { 246522, true }, + { 246531, true }, + { 246545, true }, + { 246559, true }, + { 246569, true }, + { 246581, true }, + { 246592, true }, + { 246610, true }, + { 246622, false }, + { 246630, true }, + { 246641, true }, + { 246657, true }, + { 246669, true }, + { 246680, true }, + { 246692, true }, + { 246703, true }, + { 246715, true }, + { 246727, true }, + { 246736, true }, + { 246746, true }, + { 246760, true }, + { 246774, true }, + { 246788, true }, + { 246802, true }, + { 246820, true }, + { 246831, true }, + { 246847, true }, + { 246859, true }, + { 246874, true }, + { 246892, true }, + { 246912, true }, + { 246925, true }, + { 246933, true }, + { 246954, true }, + { 246965, true }, + { 246980, true }, + { 246995, false }, + { 247013, false }, + { 247034, true }, + { 247057, true }, + { 247074, true }, + { 247086, true }, + { 247107, true }, + { 247133, true }, + { 247150, true }, + { 247167, true }, + { 247187, true }, + { 247200, true }, + { 247213, true }, + { 247227, true }, + { 247249, true }, + { 247266, true }, + { 247283, true }, { 247303, true }, { 247328, true }, - { 247354, true }, - { 247370, true }, - { 247381, true }, - { 247399, true }, - { 247408, true }, - { 247418, false }, - { 247428, true }, - { 247439, true }, - { 247461, true }, - { 247474, true }, - { 247488, true }, - { 247497, true }, - { 247510, true }, - { 247532, true }, - { 247544, true }, - { 247552, false }, - { 247566, true }, - { 247574, true }, - { 247584, true }, - { 247594, true }, - { 247601, true }, - { 247612, true }, - { 247624, true }, - { 247634, true }, - { 247641, true }, - { 247653, true }, - { 247665, true }, - { 247676, true }, - { 247685, true }, - { 247695, true }, - { 247705, true }, - { 247716, true }, - { 247733, true }, - { 247744, true }, - { 247752, true }, - { 247773, true }, - { 247786, true }, + { 247353, true }, + { 247379, true }, + { 247395, true }, + { 247406, true }, + { 247424, true }, + { 247433, true }, + { 247443, false }, + { 247453, true }, + { 247464, true }, + { 247486, true }, + { 247499, true }, + { 247513, true }, + { 247522, true }, + { 247535, true }, + { 247557, true }, + { 247569, true }, + { 247577, false }, + { 247591, true }, + { 247599, true }, + { 247609, true }, + { 247619, true }, + { 247626, true }, + { 247637, true }, + { 247649, true }, + { 247659, true }, + { 247666, true }, + { 247678, true }, + { 247690, true }, + { 247701, true }, + { 247710, true }, + { 247720, true }, + { 247730, true }, + { 247741, true }, + { 247758, true }, + { 247769, true }, + { 247777, true }, { 247798, true }, - { 247809, true }, + { 247811, true }, { 247823, true }, - { 247849, true }, - { 247879, false }, - { 247893, true }, - { 247909, true }, - { 247925, true }, - { 247938, true }, - { 247949, true }, - { 247961, true }, - { 247976, true }, + { 247834, true }, + { 247848, true }, + { 247874, true }, + { 247904, false }, + { 247918, true }, + { 247934, true }, + { 247950, true }, + { 247963, true }, + { 247974, true }, { 247989, true }, - { 248005, true }, - { 248026, true }, - { 248042, true }, - { 248054, true }, - { 248064, true }, - { 248086, true }, - { 248117, true }, - { 248134, true }, - { 248151, true }, - { 248162, false }, - { 248173, true }, - { 248183, true }, - { 248195, true }, - { 248207, true }, - { 248221, false }, - { 248232, false }, - { 248245, true }, - { 248257, false }, - { 248277, true }, - { 248287, true }, - { 248295, false }, - { 248304, true }, + { 248002, true }, + { 248018, true }, + { 248039, true }, + { 248055, true }, + { 248067, true }, + { 248077, true }, + { 248099, true }, + { 248130, true }, + { 248147, true }, + { 248164, true }, + { 248175, false }, + { 248186, true }, + { 248196, true }, + { 248208, true }, + { 248220, true }, + { 248234, false }, + { 248245, false }, + { 248258, true }, + { 248270, false }, + { 248290, true }, + { 248300, true }, + { 248308, false }, { 248317, true }, - { 248334, true }, - { 248392, true }, - { 248438, true }, - { 248492, true }, - { 248539, true }, - { 248588, true }, - { 248633, true }, - { 248683, true }, - { 248737, true }, - { 248783, true }, - { 248830, true }, - { 248884, true }, - { 248911, true }, - { 248944, true }, + { 248330, true }, + { 248347, true }, + { 248405, true }, + { 248451, true }, + { 248505, true }, + { 248552, true }, + { 248601, true }, + { 248646, true }, + { 248696, true }, + { 248750, true }, + { 248796, true }, + { 248843, true }, + { 248897, true }, + { 248924, true }, { 248957, true }, { 248970, true }, - { 248986, true }, - { 249009, true }, + { 248983, true }, + { 248999, true }, { 249022, true }, - { 249038, true }, - { 249048, true }, - { 249059, false }, - { 249071, true }, - { 249088, true }, - { 249098, true }, - { 249115, true }, - { 249133, true }, - { 249147, true }, - { 249165, true }, - { 249181, true }, - { 249192, true }, - { 249203, true }, - { 249211, true }, - { 249221, true }, - { 249228, true }, - { 249237, true }, - { 249245, true }, - { 249255, true }, - { 249266, true }, - { 249273, true }, - { 249282, true }, - { 249300, true }, - { 249316, true }, - { 249335, true }, + { 249035, true }, + { 249051, true }, + { 249061, true }, + { 249072, false }, + { 249084, true }, + { 249101, true }, + { 249111, true }, + { 249128, true }, + { 249146, true }, + { 249160, true }, + { 249178, true }, + { 249194, true }, + { 249205, true }, + { 249216, true }, + { 249224, true }, + { 249234, true }, + { 249241, true }, + { 249250, true }, + { 249258, true }, + { 249268, true }, + { 249279, true }, + { 249286, true }, + { 249295, true }, + { 249313, true }, + { 249329, true }, { 249348, true }, - { 249362, true }, - { 249374, true }, - { 249388, true }, - { 249400, true }, + { 249361, true }, + { 249375, true }, + { 249387, true }, + { 249401, true }, { 249413, true }, - { 249424, true }, - { 249445, true }, - { 249455, true }, - { 249464, true }, - { 249473, true }, - { 249480, true }, - { 249487, true }, - { 249511, true }, - { 249525, true }, - { 249535, true }, - { 249552, false }, - { 249567, true }, - { 249579, true }, - { 249593, true }, - { 249607, true }, - { 249618, true }, - { 249630, true }, - { 249642, true }, - { 249649, true }, - { 249659, true }, - { 249671, true }, + { 249426, true }, + { 249437, true }, + { 249458, true }, + { 249468, true }, + { 249477, true }, + { 249486, true }, + { 249493, true }, + { 249500, true }, + { 249524, true }, + { 249538, true }, + { 249548, true }, + { 249565, false }, + { 249580, true }, + { 249592, true }, + { 249606, true }, + { 249620, true }, + { 249631, true }, + { 249643, true }, + { 249655, true }, + { 249662, true }, + { 249672, true }, { 249684, true }, - { 249694, true }, - { 249709, true }, - { 249720, true }, - { 249736, true }, - { 249751, true }, - { 249761, true }, - { 249780, true }, - { 249792, true }, - { 249799, true }, - { 249815, true }, - { 249837, true }, - { 249848, true }, - { 249863, true }, - { 249886, true }, - { 249896, true }, - { 249907, true }, - { 249917, true }, - { 249929, true }, - { 249945, true }, - { 249952, true }, - { 249959, true }, - { 249971, true }, - { 249982, true }, - { 249992, true }, - { 250004, true }, - { 250014, false }, - { 250034, false }, - { 250057, true }, - { 250081, true }, - { 250091, true }, - { 250102, true }, - { 250114, true }, + { 249697, true }, + { 249707, true }, + { 249722, true }, + { 249733, true }, + { 249749, true }, + { 249764, true }, + { 249774, true }, + { 249793, true }, + { 249805, true }, + { 249812, true }, + { 249828, true }, + { 249850, true }, + { 249861, true }, + { 249876, true }, + { 249899, true }, + { 249909, true }, + { 249920, true }, + { 249930, true }, + { 249942, true }, + { 249958, true }, + { 249965, true }, + { 249972, true }, + { 249984, true }, + { 249995, true }, + { 250005, true }, + { 250017, true }, + { 250027, false }, + { 250047, false }, + { 250070, true }, + { 250094, true }, + { 250104, true }, + { 250115, true }, { 250127, true }, - { 250141, true }, - { 250155, true }, + { 250140, true }, + { 250154, true }, { 250168, true }, - { 250179, true }, - { 250195, false }, - { 250216, true }, - { 250226, true }, - { 250237, true }, - { 250252, true }, - { 250266, true }, - { 250280, true }, - { 250294, true }, - { 250303, true }, - { 250318, true }, + { 250181, true }, + { 250192, true }, + { 250208, false }, + { 250229, true }, + { 250239, true }, + { 250250, true }, + { 250265, true }, + { 250279, true }, + { 250293, true }, + { 250307, true }, + { 250316, true }, { 250331, true }, { 250344, true }, - { 250358, true }, - { 250373, true }, - { 250388, true }, - { 250404, true }, - { 250418, true }, - { 250433, true }, - { 250447, true }, - { 250463, true }, - { 250477, true }, - { 250491, true }, - { 250509, true }, - { 250529, true }, - { 250548, true }, - { 250562, true }, - { 250579, true }, - { 250597, false }, - { 250609, true }, - { 250625, true }, - { 250636, true }, - { 250646, false }, - { 250670, true }, - { 250684, false }, - { 250699, true }, - { 250711, true }, - { 250725, true }, - { 250742, true }, - { 250752, true }, - { 250767, true }, - { 250782, true }, - { 250797, true }, - { 250812, true }, - { 250827, true }, - { 250842, true }, - { 250860, true }, - { 250877, true }, - { 250894, true }, - { 250917, true }, - { 250937, true }, - { 250951, true }, - { 250971, true }, - { 250989, true }, - { 251006, true }, + { 250357, true }, + { 250371, true }, + { 250386, true }, + { 250401, true }, + { 250417, true }, + { 250431, true }, + { 250446, true }, + { 250460, true }, + { 250476, true }, + { 250490, true }, + { 250504, true }, + { 250522, true }, + { 250542, true }, + { 250561, true }, + { 250575, true }, + { 250592, true }, + { 250610, false }, + { 250622, true }, + { 250638, true }, + { 250649, true }, + { 250659, false }, + { 250683, true }, + { 250697, false }, + { 250712, true }, + { 250724, true }, + { 250738, true }, + { 250755, true }, + { 250765, true }, + { 250780, true }, + { 250795, true }, + { 250810, true }, + { 250825, true }, + { 250840, true }, + { 250855, true }, + { 250873, true }, + { 250890, true }, + { 250907, true }, + { 250930, true }, + { 250950, true }, + { 250964, true }, + { 250984, true }, + { 251002, true }, { 251019, true }, { 251032, true }, - { 251049, true }, - { 251066, false }, - { 251083, true }, + { 251045, true }, + { 251062, true }, + { 251079, false }, { 251096, true }, - { 251113, true }, + { 251109, true }, { 251126, true }, { 251139, true }, - { 251159, true }, - { 251177, true }, - { 251187, true }, + { 251152, true }, + { 251172, true }, + { 251190, true }, { 251200, true }, - { 251214, true }, - { 251228, false }, - { 251239, true }, - { 251256, true }, - { 251283, true }, - { 251297, true }, - { 251316, true }, - { 251339, true }, - { 251367, true }, - { 251383, true }, - { 251391, true }, - { 251403, true }, - { 251417, false }, - { 251430, true }, - { 251444, true }, + { 251213, true }, + { 251227, true }, + { 251241, false }, + { 251252, true }, + { 251269, true }, + { 251296, true }, + { 251310, true }, + { 251329, true }, + { 251352, true }, + { 251380, true }, + { 251396, true }, + { 251404, true }, + { 251416, true }, + { 251430, false }, + { 251443, true }, { 251457, true }, - { 251467, true }, - { 251476, true }, - { 251488, true }, + { 251470, true }, + { 251480, true }, + { 251489, true }, { 251501, true }, - { 251517, true }, - { 251527, true }, - { 251542, true }, - { 251550, true }, - { 251561, true }, - { 251576, true }, - { 251593, true }, - { 251603, true }, - { 251613, true }, - { 251634, true }, - { 251653, true }, - { 251673, true }, - { 251689, true }, - { 251704, true }, - { 251712, true }, - { 251731, true }, - { 251742, true }, - { 251758, true }, - { 251773, true }, - { 251783, true }, - { 251791, true }, + { 251514, true }, + { 251530, true }, + { 251540, true }, + { 251555, true }, + { 251563, true }, + { 251574, true }, + { 251589, true }, + { 251606, true }, + { 251616, true }, + { 251626, true }, + { 251647, true }, + { 251666, true }, + { 251686, true }, + { 251702, true }, + { 251717, true }, + { 251725, true }, + { 251744, true }, + { 251755, true }, + { 251771, true }, + { 251786, true }, + { 251796, true }, { 251804, true }, - { 251815, true }, - { 251830, false }, - { 251850, true }, - { 251865, true }, - { 251887, true }, - { 251897, true }, - { 251912, true }, + { 251817, true }, + { 251828, true }, + { 251843, false }, + { 251863, true }, + { 251878, true }, + { 251900, true }, + { 251910, true }, { 251925, true }, - { 251936, true }, - { 251946, true }, - { 251958, true }, - { 251982, true }, + { 251938, true }, + { 251949, true }, + { 251959, true }, + { 251971, true }, { 251995, true }, { 252008, true }, - { 252020, true }, - { 252034, true }, - { 252045, true }, - { 252062, true }, - { 252078, true }, - { 252094, true }, - { 252110, true }, - { 252129, true }, - { 252153, true }, - { 252173, true }, - { 252184, true }, - { 252195, true }, - { 252205, true }, - { 252216, true }, - { 252224, false }, - { 252231, true }, - { 252239, true }, - { 252257, true }, - { 252270, true }, - { 252281, true }, - { 252295, true }, - { 252310, false }, - { 252319, true }, - { 252329, true }, - { 252347, true }, - { 252361, true }, - { 252380, true }, - { 252392, true }, - { 252419, false }, - { 252428, false }, - { 252451, true }, - { 252462, true }, - { 252469, true }, - { 252476, true }, - { 252487, true }, - { 252500, true }, - { 252516, true }, - { 252529, true }, - { 252545, true }, - { 252557, true }, - { 252575, true }, - { 252585, true }, - { 252602, true }, - { 252617, true }, - { 252628, true }, - { 252639, true }, - { 252657, true }, - { 252671, true }, - { 252683, true }, + { 252021, true }, + { 252033, true }, + { 252047, true }, + { 252058, true }, + { 252075, true }, + { 252091, true }, + { 252107, true }, + { 252123, true }, + { 252142, true }, + { 252166, true }, + { 252186, true }, + { 252208, true }, + { 252219, true }, + { 252230, true }, + { 252240, true }, + { 252251, true }, + { 252259, false }, + { 252266, true }, + { 252274, true }, + { 252292, true }, + { 252305, true }, + { 252316, true }, + { 252330, true }, + { 252345, false }, + { 252354, true }, + { 252364, true }, + { 252382, true }, + { 252396, true }, + { 252415, true }, + { 252427, true }, + { 252454, false }, + { 252463, false }, + { 252486, true }, + { 252497, true }, + { 252504, true }, + { 252511, true }, + { 252522, true }, + { 252535, true }, + { 252551, true }, + { 252564, true }, + { 252580, true }, + { 252592, true }, + { 252610, true }, + { 252620, true }, + { 252637, true }, + { 252652, true }, + { 252663, true }, + { 252674, true }, { 252692, true }, - { 252702, true }, - { 252714, true }, - { 252726, true }, + { 252706, true }, + { 252718, true }, + { 252727, true }, { 252737, true }, - { 252750, true }, - { 252766, true }, + { 252749, true }, + { 252761, true }, + { 252772, true }, { 252785, true }, - { 252804, true }, - { 252819, true }, - { 252829, true }, - { 252848, true }, - { 252866, true }, - { 252878, true }, - { 252897, true }, - { 252905, false }, - { 252920, true }, - { 252927, true }, - { 252940, true }, + { 252801, true }, + { 252820, true }, + { 252839, true }, + { 252854, true }, + { 252864, true }, + { 252883, true }, + { 252901, true }, + { 252913, true }, + { 252932, true }, + { 252940, false }, { 252955, true }, - { 252967, true }, - { 252982, true }, - { 252991, true }, - { 253002, false }, - { 253012, true }, - { 253023, true }, - { 253032, true }, - { 253041, true }, - { 253049, true }, - { 253055, true }, - { 253074, true }, - { 253087, true }, + { 252962, true }, + { 252975, true }, + { 252990, true }, + { 253002, true }, + { 253017, true }, + { 253026, true }, + { 253037, false }, + { 253047, true }, + { 253058, true }, + { 253067, true }, + { 253076, true }, + { 253084, true }, + { 253090, true }, { 253109, true }, - { 253127, true }, - { 253140, true }, - { 253156, true }, - { 253172, true }, - { 253189, true }, - { 253198, true }, - { 253212, true }, - { 253228, true }, - { 253240, true }, - { 253251, true }, - { 253266, true }, - { 253280, true }, - { 253295, true }, - { 253310, true }, - { 253328, true }, - { 253340, true }, - { 253350, true }, - { 253374, true }, - { 253394, true }, - { 253411, true }, - { 253432, true }, - { 253445, true }, - { 253461, true }, - { 253473, true }, - { 253487, true }, - { 253504, true }, - { 253523, true }, - { 253538, true }, - { 253552, true }, - { 253567, true }, - { 253580, true }, - { 253589, true }, - { 253600, true }, - { 253613, true }, + { 253122, true }, + { 253144, true }, + { 253162, true }, + { 253175, true }, + { 253191, true }, + { 253207, true }, + { 253224, true }, + { 253233, true }, + { 253247, true }, + { 253263, true }, + { 253275, true }, + { 253286, true }, + { 253301, true }, + { 253315, true }, + { 253330, true }, + { 253345, true }, + { 253363, true }, + { 253375, true }, + { 253385, true }, + { 253409, true }, + { 253429, true }, + { 253446, true }, + { 253467, true }, + { 253480, true }, + { 253496, true }, + { 253508, true }, + { 253522, true }, + { 253539, true }, + { 253558, true }, + { 253573, true }, + { 253587, true }, + { 253602, true }, + { 253615, true }, { 253624, true }, - { 253638, true }, + { 253635, true }, { 253648, true }, - { 253663, true }, - { 253675, true }, - { 253689, true }, - { 253714, true }, - { 253729, true }, - { 253752, false }, - { 253765, true }, - { 253777, true }, - { 253791, true }, - { 253806, true }, - { 253815, true }, - { 253827, true }, - { 253837, true }, - { 253851, true }, - { 253864, true }, - { 253877, true }, - { 253896, true }, - { 253907, false }, - { 253921, true }, - { 253933, true }, - { 253945, true }, - { 253961, true }, - { 253979, true }, - { 254005, true }, - { 254023, false }, - { 254036, true }, - { 254054, true }, - { 254064, true }, - { 254074, true }, - { 254091, true }, - { 254102, true }, - { 254117, true }, - { 254129, true }, - { 254145, true }, - { 254153, true }, - { 254163, true }, - { 254173, true }, + { 253659, true }, + { 253673, true }, + { 253683, true }, + { 253698, true }, + { 253710, true }, + { 253724, true }, + { 253749, true }, + { 253764, true }, + { 253787, false }, + { 253800, true }, + { 253812, true }, + { 253826, true }, + { 253841, true }, + { 253850, true }, + { 253862, true }, + { 253872, true }, + { 253886, true }, + { 253899, true }, + { 253912, true }, + { 253931, true }, + { 253942, false }, + { 253956, true }, + { 253968, true }, + { 253980, true }, + { 253996, true }, + { 254014, true }, + { 254040, true }, + { 254058, false }, + { 254071, true }, + { 254089, true }, + { 254099, true }, + { 254109, true }, + { 254126, true }, + { 254137, true }, + { 254152, true }, + { 254164, true }, + { 254180, true }, { 254188, true }, - { 254201, true }, - { 254211, true }, + { 254198, true }, + { 254208, true }, { 254223, true }, - { 254233, true }, - { 254243, true }, - { 254254, true }, - { 254274, true }, - { 254282, false }, - { 254303, true }, - { 254316, true }, - { 254325, true }, - { 254339, true }, - { 254349, true }, - { 254362, true }, - { 254372, true }, - { 254388, true }, - { 254399, false }, - { 254419, true }, - { 254429, true }, - { 254436, true }, - { 254446, true }, - { 254456, true }, - { 254470, true }, - { 254487, true }, - { 254507, true }, - { 254520, true }, - { 254536, true }, - { 254545, true }, - { 254575, true }, - { 254601, true }, - { 254621, true }, - { 254629, true }, - { 254648, true }, - { 254662, true }, - { 254671, true }, - { 254686, true }, - { 254711, true }, - { 254730, true }, - { 254740, true }, - { 254761, true }, - { 254773, true }, - { 254788, true }, - { 254801, true }, - { 254817, true }, - { 254829, true }, - { 254846, true }, - { 254857, true }, - { 254874, true }, + { 254236, true }, + { 254246, true }, + { 254258, true }, + { 254268, true }, + { 254278, true }, + { 254289, true }, + { 254309, true }, + { 254317, false }, + { 254338, true }, + { 254351, true }, + { 254360, true }, + { 254374, true }, + { 254384, true }, + { 254397, true }, + { 254407, true }, + { 254423, true }, + { 254434, false }, + { 254454, true }, + { 254464, true }, + { 254471, true }, + { 254481, true }, + { 254491, true }, + { 254505, true }, + { 254522, true }, + { 254542, true }, + { 254555, true }, + { 254571, true }, + { 254580, true }, + { 254610, true }, + { 254636, true }, + { 254656, true }, + { 254664, true }, + { 254683, true }, + { 254697, true }, + { 254706, true }, + { 254721, true }, + { 254746, true }, + { 254765, true }, + { 254775, true }, + { 254796, true }, + { 254808, true }, + { 254823, true }, + { 254836, true }, + { 254852, true }, + { 254864, true }, + { 254881, true }, { 254892, true }, - { 254908, true }, - { 254928, true }, - { 254950, true }, + { 254909, true }, + { 254927, true }, + { 254943, true }, { 254963, true }, - { 254973, true }, - { 254995, true }, - { 255016, true }, - { 255035, true }, - { 255056, true }, - { 255069, true }, - { 255093, true }, + { 254985, true }, + { 254998, true }, + { 255008, true }, + { 255030, true }, + { 255051, true }, + { 255070, true }, + { 255091, true }, { 255104, true }, - { 255116, true }, { 255128, true }, - { 255150, true }, - { 255160, true }, - { 255178, true }, - { 255190, true }, - { 255201, true }, - { 255214, true }, - { 255223, true }, + { 255139, true }, + { 255151, true }, + { 255163, true }, + { 255185, true }, + { 255195, true }, + { 255213, true }, + { 255225, true }, { 255236, true }, - { 255247, true }, + { 255249, true }, { 255258, true }, - { 255268, true }, - { 255275, true }, - { 255286, true }, - { 255300, true }, - { 255313, false }, - { 255325, true }, - { 255345, true }, - { 255358, true }, - { 255368, true }, - { 255389, true }, - { 255399, true }, - { 255416, true }, - { 255430, true }, - { 255447, true }, + { 255271, true }, + { 255282, true }, + { 255293, true }, + { 255303, true }, + { 255310, true }, + { 255321, true }, + { 255335, true }, + { 255348, false }, + { 255360, true }, + { 255380, true }, + { 255393, true }, + { 255403, true }, + { 255424, true }, + { 255434, true }, + { 255451, true }, { 255465, true }, - { 255472, true }, - { 255490, false }, - { 255508, false }, - { 255526, false }, - { 255543, true }, - { 255565, true }, + { 255482, true }, + { 255500, true }, + { 255507, true }, + { 255525, false }, + { 255543, false }, + { 255561, false }, { 255578, true }, - { 255591, false }, - { 255605, true }, - { 255620, true }, - { 255632, true }, - { 255653, true }, - { 255671, false }, - { 255686, true }, - { 255711, true }, - { 255729, false }, - { 255741, true }, - { 255757, true }, - { 255785, true }, - { 255800, true }, - { 255811, true }, - { 255834, false }, - { 255852, true }, - { 255867, true }, - { 255879, true }, - { 255892, true }, - { 255921, true }, - { 255939, true }, - { 255962, true }, - { 255972, true }, - { 255991, true }, - { 256001, true }, - { 256016, true }, - { 256027, true }, - { 256051, false }, - { 256066, true }, - { 256084, true }, - { 256099, true }, - { 256117, true }, - { 256131, true }, - { 256146, true }, - { 256159, true }, - { 256171, true }, + { 255600, true }, + { 255613, true }, + { 255626, false }, + { 255640, true }, + { 255655, true }, + { 255667, true }, + { 255688, true }, + { 255706, false }, + { 255721, true }, + { 255746, true }, + { 255764, false }, + { 255776, true }, + { 255792, true }, + { 255820, true }, + { 255835, true }, + { 255846, true }, + { 255869, false }, + { 255887, true }, + { 255902, true }, + { 255914, true }, + { 255927, true }, + { 255956, true }, + { 255974, true }, + { 255997, true }, + { 256007, true }, + { 256026, true }, + { 256036, true }, + { 256051, true }, + { 256062, true }, + { 256086, false }, + { 256101, true }, + { 256119, true }, + { 256134, true }, + { 256152, true }, + { 256166, true }, + { 256181, true }, { 256194, true }, - { 256208, true }, - { 256231, true }, + { 256206, true }, + { 256229, true }, { 256243, true }, - { 256259, true }, - { 256277, true }, - { 256291, true }, - { 256302, true }, - { 256320, true }, - { 256328, true }, - { 256348, false }, - { 256365, true }, - { 256383, true }, - { 256403, true }, - { 256416, true }, - { 256427, true }, - { 256440, true }, - { 256457, true }, - { 256468, true }, - { 256479, true }, - { 256501, true }, - { 256519, false }, - { 256533, true }, - { 256552, true }, - { 256566, true }, - { 256584, true }, - { 256604, true }, - { 256618, true }, - { 256627, true }, - { 256643, true }, - { 256661, true }, - { 256676, true }, - { 256691, true }, - { 256704, true }, - { 256716, true }, - { 256728, true }, + { 256266, true }, + { 256278, true }, + { 256294, true }, + { 256312, true }, + { 256326, true }, + { 256337, true }, + { 256355, true }, + { 256363, true }, + { 256383, false }, + { 256400, true }, + { 256418, true }, + { 256438, true }, + { 256451, true }, + { 256462, true }, + { 256475, true }, + { 256492, true }, + { 256503, true }, + { 256514, true }, + { 256536, true }, + { 256554, false }, + { 256568, true }, + { 256587, true }, + { 256601, true }, + { 256619, true }, + { 256639, true }, + { 256653, true }, + { 256662, true }, + { 256678, true }, + { 256696, true }, + { 256711, true }, + { 256726, true }, { 256739, true }, - { 256750, true }, + { 256751, true }, { 256763, true }, - { 256776, true }, - { 256790, true }, - { 256801, true }, - { 256812, true }, - { 256826, true }, + { 256774, true }, + { 256785, true }, + { 256798, true }, + { 256811, true }, + { 256825, true }, { 256836, true }, - { 256845, true }, - { 256862, true }, - { 256872, true }, - { 256882, true }, - { 256895, true }, - { 256904, true }, - { 256914, true }, - { 256925, true }, - { 256935, true }, - { 256943, true }, - { 256955, true }, - { 256963, false }, - { 256977, true }, - { 256985, false }, - { 257005, true }, - { 257015, true }, - { 257029, true }, - { 257043, true }, - { 257053, true }, + { 256847, true }, + { 256861, true }, + { 256871, true }, + { 256880, true }, + { 256897, true }, + { 256907, true }, + { 256917, true }, + { 256930, true }, + { 256939, true }, + { 256949, true }, + { 256960, true }, + { 256970, true }, + { 256978, true }, + { 256990, true }, + { 256998, false }, + { 257012, true }, + { 257020, false }, + { 257040, true }, + { 257050, true }, { 257064, true }, - { 257076, true }, - { 257087, true }, - { 257098, true }, - { 257109, true }, - { 257121, true }, - { 257131, true }, - { 257140, true }, - { 257152, true }, - { 257164, true }, - { 257176, true }, + { 257078, true }, + { 257088, true }, + { 257099, true }, + { 257111, true }, + { 257122, true }, + { 257133, true }, + { 257144, true }, + { 257156, true }, + { 257166, true }, + { 257175, true }, { 257187, true }, - { 257200, true }, - { 257212, true }, - { 257224, true }, - { 257236, true }, + { 257199, true }, + { 257211, true }, + { 257222, true }, + { 257235, true }, { 257247, true }, - { 257261, true }, - { 257277, true }, - { 257292, true }, - { 257306, true }, - { 257315, true }, + { 257259, true }, + { 257271, true }, + { 257282, true }, + { 257296, true }, + { 257312, true }, { 257327, true }, - { 257337, true }, - { 257353, true }, - { 257368, true }, - { 257383, true }, - { 257399, true }, - { 257414, true }, - { 257429, true }, - { 257451, true }, - { 257463, true }, - { 257470, true }, - { 257485, true }, - { 257496, true }, - { 257506, true }, - { 257521, false }, - { 257532, true }, - { 257546, true }, - { 257560, true }, - { 257571, true }, - { 257584, true }, + { 257341, true }, + { 257350, true }, + { 257362, true }, + { 257372, true }, + { 257388, true }, + { 257403, true }, + { 257418, true }, + { 257434, true }, + { 257449, true }, + { 257464, true }, + { 257486, true }, + { 257498, true }, + { 257505, true }, + { 257520, true }, + { 257531, true }, + { 257541, true }, + { 257556, false }, + { 257567, true }, + { 257581, true }, { 257595, true }, - { 257602, true }, - { 257612, false }, - { 257627, true }, - { 257643, true }, - { 257652, true }, + { 257606, true }, + { 257619, true }, + { 257630, true }, + { 257637, true }, + { 257647, false }, { 257662, true }, - { 257669, true }, - { 257681, true }, - { 257693, true }, - { 257707, true }, - { 257730, true }, - { 257777, true }, + { 257678, true }, + { 257687, true }, + { 257697, true }, + { 257704, true }, + { 257716, true }, + { 257728, true }, + { 257742, true }, + { 257765, true }, { 257812, true }, - { 257848, true }, - { 257885, true }, - { 257918, true }, - { 257956, true }, + { 257847, true }, + { 257883, true }, + { 257920, true }, + { 257953, true }, { 257991, true }, { 258026, true }, - { 258066, true }, - { 258102, true }, - { 258145, true }, - { 258171, true }, - { 258184, true }, - { 258193, true }, - { 258203, true }, - { 258213, true }, - { 258240, true }, - { 258249, true }, - { 258258, true }, + { 258061, true }, + { 258101, true }, + { 258137, true }, + { 258180, true }, + { 258206, true }, + { 258219, true }, + { 258228, true }, + { 258238, true }, + { 258248, true }, { 258275, true }, - { 258292, true }, - { 258304, true }, - { 258317, true }, - { 258330, true }, - { 258357, true }, - { 258364, true }, - { 258376, true }, - { 258387, true }, - { 258396, true }, - { 258413, true }, - { 258429, true }, - { 258440, true }, - { 258452, true }, + { 258284, true }, + { 258293, true }, + { 258310, true }, + { 258327, true }, + { 258339, true }, + { 258352, true }, + { 258365, true }, + { 258392, true }, + { 258399, true }, + { 258411, true }, + { 258422, true }, + { 258431, true }, + { 258448, true }, { 258464, true }, - { 258477, true }, - { 258501, true }, - { 258513, true }, - { 258524, true }, - { 258532, true }, - { 258542, true }, - { 258549, true }, - { 258569, true }, - { 258581, true }, - { 258599, true }, - { 258611, true }, - { 258622, true }, + { 258475, true }, + { 258487, true }, + { 258499, true }, + { 258512, true }, + { 258536, true }, + { 258548, true }, + { 258559, true }, + { 258567, true }, + { 258577, true }, + { 258584, true }, + { 258604, true }, + { 258616, true }, { 258634, true }, - { 258645, true }, + { 258646, true }, { 258657, true }, - { 258676, true }, - { 258686, true }, - { 258698, true }, - { 258718, true }, - { 258740, true }, - { 258749, true }, - { 258757, true }, - { 258766, true }, + { 258669, true }, + { 258680, true }, + { 258692, true }, + { 258711, true }, + { 258721, true }, + { 258733, true }, + { 258753, true }, { 258775, true }, - { 258794, true }, - { 258808, true }, + { 258784, true }, + { 258792, true }, + { 258801, true }, + { 258810, true }, { 258829, true }, - { 258842, true }, - { 258854, true }, - { 258882, true }, - { 258906, true }, - { 258918, true }, - { 258936, true }, - { 258954, true }, - { 258967, false }, - { 258981, true }, - { 258996, true }, - { 259011, true }, - { 259020, true }, - { 259037, true }, - { 259058, true }, - { 259068, true }, - { 259082, true }, - { 259090, true }, - { 259105, true }, - { 259121, true }, - { 259137, true }, - { 259147, true }, - { 259158, true }, - { 259168, true }, - { 259184, true }, - { 259195, true }, + { 258843, true }, + { 258864, true }, + { 258877, true }, + { 258889, true }, + { 258917, true }, + { 258941, true }, + { 258953, true }, + { 258971, true }, + { 258989, true }, + { 259002, false }, + { 259016, true }, + { 259031, true }, + { 259046, true }, + { 259055, true }, + { 259072, true }, + { 259093, true }, + { 259103, true }, + { 259117, true }, + { 259125, true }, + { 259140, true }, + { 259156, true }, + { 259166, true }, + { 259177, true }, + { 259187, true }, { 259203, true }, { 259214, true }, - { 259226, true }, - { 259237, true }, - { 259250, true }, - { 259264, false }, - { 259278, true }, - { 259295, false }, - { 259311, true }, - { 259327, true }, - { 259339, false }, - { 259358, true }, - { 259368, true }, - { 259386, true }, - { 259401, true }, - { 259423, true }, - { 259446, true }, - { 259457, true }, - { 259467, true }, - { 259477, true }, - { 259494, true }, - { 259510, true }, + { 259222, true }, + { 259233, true }, + { 259245, true }, + { 259256, true }, + { 259269, true }, + { 259283, false }, + { 259297, true }, + { 259314, false }, + { 259330, true }, + { 259346, true }, + { 259358, false }, + { 259377, true }, + { 259387, true }, + { 259405, true }, + { 259420, true }, + { 259442, true }, + { 259465, true }, + { 259476, true }, + { 259486, true }, + { 259496, true }, + { 259513, true }, { 259529, true }, - { 259544, true }, - { 259560, true }, - { 259577, true }, - { 259597, true }, - { 259614, true }, - { 259626, true }, - { 259641, true }, - { 259655, true }, + { 259548, true }, + { 259563, true }, + { 259579, true }, + { 259596, true }, + { 259616, true }, + { 259633, true }, + { 259645, true }, + { 259660, true }, { 259674, true }, - { 259690, true }, - { 259699, true }, - { 259715, true }, - { 259732, false }, - { 259744, true }, - { 259756, true }, - { 259768, true }, - { 259777, true }, + { 259693, true }, + { 259709, true }, + { 259718, true }, + { 259734, true }, + { 259751, false }, + { 259763, true }, + { 259775, true }, { 259787, true }, - { 259804, true }, - { 259822, true }, - { 259833, true }, + { 259796, true }, + { 259806, true }, + { 259823, true }, { 259841, true }, - { 259851, true }, - { 259866, true }, - { 259876, true }, - { 259886, false }, - { 259893, true }, - { 259909, true }, - { 259925, true }, - { 259946, true }, - { 259964, true }, - { 259984, true }, - { 260007, true }, - { 260027, true }, - { 260043, true }, - { 260058, true }, - { 260076, true }, - { 260087, false }, - { 260111, true }, + { 259852, true }, + { 259860, true }, + { 259870, true }, + { 259885, true }, + { 259895, true }, + { 259905, false }, + { 259912, true }, + { 259928, true }, + { 259944, true }, + { 259965, true }, + { 259983, true }, + { 260003, true }, + { 260026, true }, + { 260046, true }, + { 260062, true }, + { 260077, true }, + { 260095, true }, + { 260106, false }, { 260130, true }, - { 260143, true }, - { 260155, false }, + { 260149, true }, { 260162, true }, - { 260174, true }, - { 260185, true }, - { 260195, false }, - { 260209, false }, - { 260222, true }, - { 260236, true }, - { 260254, true }, - { 260277, true }, - { 260292, true }, - { 260315, true }, - { 260333, true }, - { 260346, true }, - { 260358, true }, - { 260369, true }, - { 260380, true }, - { 260405, true }, - { 260420, true }, - { 260431, true }, - { 260464, true }, - { 260490, true }, - { 260524, true }, - { 260547, true }, - { 260560, true }, - { 260573, true }, - { 260589, true }, - { 260606, true }, - { 260623, true }, - { 260635, true }, - { 260647, true }, - { 260663, false }, - { 260683, true }, - { 260696, false }, - { 260714, false }, - { 260737, true }, - { 260757, true }, - { 260773, true }, - { 260787, true }, - { 260808, true }, - { 260823, true }, - { 260837, false }, - { 260850, true }, - { 260865, true }, - { 260882, true }, - { 260895, true }, - { 260910, true }, - { 260922, true }, - { 260934, true }, - { 260950, true }, - { 260965, false }, - { 260987, true }, - { 261007, true }, - { 261028, false }, - { 261040, true }, - { 261056, true }, - { 261074, true }, - { 261086, true }, - { 261100, true }, - { 261114, true }, - { 261131, true }, - { 261145, true }, - { 261155, false }, - { 261169, true }, - { 261179, true }, - { 261200, true }, - { 261213, true }, - { 261231, true }, - { 261244, true }, - { 261255, true }, - { 261268, true }, - { 261289, true }, - { 261302, true }, - { 261322, true }, - { 261339, true }, - { 261353, true }, - { 261363, true }, - { 261380, true }, - { 261390, true }, - { 261406, true }, - { 261434, true }, - { 261443, true }, + { 260174, false }, + { 260181, true }, + { 260193, true }, + { 260204, true }, + { 260214, false }, + { 260228, false }, + { 260241, true }, + { 260255, true }, + { 260273, true }, + { 260296, true }, + { 260311, true }, + { 260334, true }, + { 260352, true }, + { 260365, true }, + { 260377, true }, + { 260388, true }, + { 260399, true }, + { 260424, true }, + { 260439, true }, + { 260450, true }, + { 260483, true }, + { 260509, true }, + { 260543, true }, + { 260566, true }, + { 260579, true }, + { 260592, true }, + { 260608, true }, + { 260625, true }, + { 260642, true }, + { 260654, true }, + { 260666, true }, + { 260682, false }, + { 260702, true }, + { 260715, false }, + { 260733, false }, + { 260756, true }, + { 260776, true }, + { 260792, true }, + { 260806, true }, + { 260827, true }, + { 260842, true }, + { 260856, false }, + { 260869, true }, + { 260884, true }, + { 260901, true }, + { 260914, true }, + { 260929, true }, + { 260941, true }, + { 260953, true }, + { 260969, true }, + { 260984, false }, + { 261006, true }, + { 261026, true }, + { 261047, false }, + { 261059, true }, + { 261075, true }, + { 261093, true }, + { 261105, true }, + { 261119, true }, + { 261133, true }, + { 261150, true }, + { 261164, true }, + { 261174, false }, + { 261188, true }, + { 261198, true }, + { 261219, true }, + { 261232, true }, + { 261250, true }, + { 261263, true }, + { 261274, true }, + { 261287, true }, + { 261308, true }, + { 261321, true }, + { 261341, true }, + { 261358, true }, + { 261372, true }, + { 261382, true }, + { 261399, true }, + { 261409, true }, + { 261425, true }, { 261453, true }, - { 261471, true }, - { 261479, true }, - { 261495, true }, - { 261511, true }, - { 261527, true }, - { 261548, true }, - { 261559, true }, - { 261569, true }, - { 261594, true }, - { 261609, true }, - { 261621, true }, - { 261641, true }, - { 261655, true }, - { 261670, true }, - { 261692, true }, - { 261714, true }, - { 261730, true }, - { 261750, true }, - { 261765, true }, - { 261775, true }, - { 261788, true }, - { 261806, true }, - { 261821, true }, - { 261837, true }, - { 261853, true }, - { 261869, true }, - { 261893, true }, - { 261904, true }, - { 261919, true }, - { 261928, true }, - { 261936, false }, - { 261946, true }, - { 261958, true }, - { 261975, true }, - { 261987, true }, - { 262012, true }, - { 262039, true }, - { 262055, true }, - { 262071, true }, - { 262088, true }, - { 262109, true }, + { 261462, true }, + { 261472, true }, + { 261490, true }, + { 261498, true }, + { 261514, true }, + { 261530, true }, + { 261546, true }, + { 261567, true }, + { 261578, true }, + { 261588, true }, + { 261613, true }, + { 261628, true }, + { 261640, true }, + { 261660, true }, + { 261674, true }, + { 261689, true }, + { 261711, true }, + { 261733, true }, + { 261749, true }, + { 261769, true }, + { 261784, true }, + { 261794, true }, + { 261807, true }, + { 261825, true }, + { 261840, true }, + { 261856, true }, + { 261872, true }, + { 261888, true }, + { 261912, true }, + { 261923, true }, + { 261938, true }, + { 261947, true }, + { 261955, false }, + { 261965, true }, + { 261977, true }, + { 261994, true }, + { 262006, true }, + { 262031, true }, + { 262058, true }, + { 262074, true }, + { 262090, true }, + { 262107, true }, { 262128, true }, - { 262140, true }, - { 262152, true }, - { 262166, true }, + { 262147, true }, + { 262159, true }, + { 262171, true }, { 262185, true }, - { 262197, true }, - { 262209, true }, - { 262219, true }, - { 262234, true }, - { 262246, true }, - { 262260, true }, - { 262284, true }, - { 262296, true }, - { 262328, true }, - { 262343, true }, - { 262364, true }, - { 262395, true }, - { 262409, true }, - { 262434, true }, - { 262457, true }, - { 262468, true }, - { 262480, false }, - { 262495, true }, - { 262508, true }, - { 262521, true }, - { 262534, true }, - { 262544, true }, - { 262573, true }, - { 262596, true }, - { 262620, true }, - { 262647, true }, - { 262661, true }, - { 262684, true }, - { 262710, true }, - { 262738, true }, - { 262769, true }, - { 262794, true }, - { 262802, true }, - { 262809, true }, + { 262204, true }, + { 262216, true }, + { 262228, true }, + { 262238, true }, + { 262253, true }, + { 262265, true }, + { 262279, true }, + { 262303, true }, + { 262315, true }, + { 262347, true }, + { 262362, true }, + { 262383, true }, + { 262414, true }, + { 262428, true }, + { 262453, true }, + { 262476, true }, + { 262487, true }, + { 262499, false }, + { 262514, true }, + { 262527, true }, + { 262540, true }, + { 262553, true }, + { 262563, true }, + { 262592, true }, + { 262615, true }, + { 262639, true }, + { 262666, true }, + { 262680, true }, + { 262703, true }, + { 262729, true }, + { 262757, true }, + { 262788, true }, + { 262813, true }, { 262821, true }, - { 262829, true }, - { 262838, true }, - { 262850, true }, - { 262861, true }, - { 262883, true }, - { 262896, true }, - { 262917, true }, - { 262930, true }, - { 262951, true }, + { 262828, true }, + { 262840, true }, + { 262848, true }, + { 262857, true }, + { 262869, true }, + { 262880, true }, + { 262902, true }, + { 262915, true }, + { 262936, true }, + { 262949, true }, { 262970, true }, { 262989, true }, - { 263000, true }, - { 263013, true }, - { 263025, true }, - { 263041, true }, - { 263055, false }, - { 263071, true }, - { 263079, true }, - { 263094, true }, - { 263111, true }, - { 263128, false }, - { 263143, true }, - { 263159, true }, - { 263175, true }, - { 263185, true }, - { 263197, true }, + { 263008, true }, + { 263019, true }, + { 263032, true }, + { 263044, true }, + { 263060, true }, + { 263074, false }, + { 263090, true }, + { 263098, true }, + { 263113, true }, + { 263130, true }, + { 263147, false }, + { 263162, true }, + { 263178, true }, + { 263194, true }, + { 263204, true }, { 263216, true }, - { 263230, false }, - { 263239, true }, - { 263251, true }, - { 263266, true }, - { 263279, true }, - { 263297, true }, - { 263308, false }, - { 263320, true }, - { 263335, true }, - { 263348, true }, - { 263370, true }, - { 263387, true }, - { 263411, true }, - { 263433, true }, - { 263455, true }, - { 263469, true }, - { 263483, true }, - { 263490, true }, - { 263503, true }, - { 263516, true }, - { 263533, true }, + { 263235, true }, + { 263249, false }, + { 263258, true }, + { 263270, true }, + { 263285, true }, + { 263298, true }, + { 263316, true }, + { 263327, false }, + { 263339, true }, + { 263354, true }, + { 263367, true }, + { 263389, true }, + { 263406, true }, + { 263430, true }, + { 263452, true }, + { 263474, true }, + { 263488, true }, + { 263502, true }, + { 263509, true }, + { 263522, true }, + { 263535, true }, { 263552, true }, - { 263578, true }, - { 263590, true }, - { 263601, true }, - { 263627, true }, - { 263647, true }, - { 263668, true }, - { 263678, true }, - { 263688, false }, - { 263705, true }, - { 263717, true }, - { 263732, true }, - { 263741, true }, - { 263757, true }, - { 263770, true }, - { 263780, true }, - { 263794, true }, - { 263811, true }, - { 263823, true }, - { 263836, true }, - { 263854, true }, - { 263866, true }, - { 263877, true }, - { 263887, true }, - { 263900, false }, - { 263916, true }, - { 263932, true }, - { 263946, true }, - { 263959, false }, - { 263976, true }, - { 263990, true }, - { 264004, true }, - { 264018, true }, - { 264042, true }, - { 264055, true }, - { 264068, true }, - { 264082, true }, - { 264096, true }, - { 264111, true }, - { 264127, true }, - { 264142, true }, - { 264157, true }, - { 264175, true }, - { 264186, true }, - { 264209, true }, - { 264221, true }, - { 264233, true }, - { 264245, true }, - { 264259, true }, + { 263571, true }, + { 263597, true }, + { 263609, true }, + { 263620, true }, + { 263646, true }, + { 263666, true }, + { 263687, true }, + { 263697, true }, + { 263707, false }, + { 263724, true }, + { 263736, true }, + { 263751, true }, + { 263760, true }, + { 263776, true }, + { 263789, true }, + { 263799, true }, + { 263813, true }, + { 263830, true }, + { 263842, true }, + { 263855, true }, + { 263873, true }, + { 263885, true }, + { 263896, true }, + { 263906, true }, + { 263919, false }, + { 263935, true }, + { 263951, true }, + { 263965, true }, + { 263978, false }, + { 263995, true }, + { 264009, true }, + { 264023, true }, + { 264037, true }, + { 264061, true }, + { 264074, true }, + { 264087, true }, + { 264101, true }, + { 264115, true }, + { 264130, true }, + { 264146, true }, + { 264161, true }, + { 264176, true }, + { 264194, true }, + { 264205, true }, + { 264228, true }, + { 264240, true }, + { 264252, true }, + { 264264, true }, { 264278, true }, - { 264296, true }, - { 264312, true }, - { 264326, true }, - { 264341, true }, - { 264356, true }, - { 264380, true }, - { 264397, true }, - { 264415, true }, - { 264435, true }, - { 264450, true }, - { 264468, true }, - { 264480, true }, - { 264497, true }, - { 264511, true }, - { 264528, true }, - { 264537, true }, - { 264551, true }, - { 264560, true }, + { 264297, true }, + { 264315, true }, + { 264331, true }, + { 264345, true }, + { 264360, true }, + { 264375, true }, + { 264399, true }, + { 264416, true }, + { 264434, true }, + { 264454, true }, + { 264469, true }, + { 264487, true }, + { 264499, true }, + { 264516, true }, + { 264530, true }, + { 264547, true }, + { 264556, true }, + { 264570, true }, { 264579, true }, - { 264591, true }, - { 264605, true }, - { 264620, true }, - { 264638, true }, - { 264654, true }, - { 264671, true }, - { 264683, true }, - { 264703, false }, - { 264716, true }, - { 264727, true }, - { 264748, true }, - { 264762, true }, - { 264775, true }, - { 264793, true }, - { 264805, true }, - { 264817, true }, - { 264835, false }, - { 264854, true }, - { 264876, true }, - { 264891, true }, + { 264598, true }, + { 264610, true }, + { 264624, true }, + { 264639, true }, + { 264657, true }, + { 264673, true }, + { 264690, true }, + { 264702, true }, + { 264722, false }, + { 264735, true }, + { 264746, true }, + { 264767, true }, + { 264781, true }, + { 264794, true }, + { 264812, true }, + { 264824, true }, + { 264836, true }, + { 264854, false }, + { 264873, true }, + { 264895, true }, { 264910, true }, - { 264926, true }, - { 264940, true }, - { 264955, true }, - { 264971, true }, - { 264992, true }, - { 265004, true }, - { 265021, true }, - { 265039, true }, - { 265050, true }, - { 265057, true }, + { 264929, true }, + { 264945, true }, + { 264959, true }, + { 264974, true }, + { 264990, true }, + { 265011, true }, + { 265023, true }, + { 265040, true }, + { 265058, true }, { 265069, true }, - { 265083, true }, + { 265076, true }, + { 265088, true }, { 265102, true }, - { 265112, true }, - { 265120, true }, - { 265130, true }, - { 265137, true }, - { 265147, true }, - { 265162, true }, + { 265121, true }, + { 265131, true }, + { 265139, true }, + { 265149, true }, + { 265156, true }, + { 265166, true }, { 265181, true }, - { 265197, true }, - { 265220, false }, - { 265230, true }, - { 265237, true }, - { 265248, false }, - { 265260, true }, - { 265269, true }, - { 265283, true }, - { 265295, true }, - { 265303, true }, - { 265310, true }, - { 265320, true }, + { 265200, true }, + { 265216, true }, + { 265239, false }, + { 265249, true }, + { 265256, true }, + { 265267, false }, + { 265279, true }, + { 265288, true }, + { 265302, true }, + { 265314, true }, + { 265322, true }, { 265329, true }, - { 265341, true }, - { 265352, true }, + { 265339, true }, + { 265348, true }, + { 265360, true }, { 265371, true }, - { 265381, true }, - { 265389, false }, - { 265401, true }, - { 265414, true }, - { 265436, true }, - { 265450, true }, - { 265462, true }, - { 265480, true }, - { 265493, true }, - { 265509, true }, - { 265518, false }, - { 265535, true }, - { 265553, true }, - { 265574, true }, - { 265585, true }, - { 265596, true }, - { 265610, true }, - { 265631, true }, - { 265643, true }, - { 265668, true }, - { 265694, true }, - { 265720, true }, - { 265731, true }, - { 265741, true }, - { 265752, true }, - { 265764, true }, - { 265777, true }, - { 265790, true }, - { 265803, true }, - { 265813, true }, - { 265828, true }, - { 265837, true }, - { 265851, true }, - { 265866, true }, - { 265882, true }, - { 265902, true }, - { 265917, true }, - { 265933, true }, - { 265943, true }, - { 265955, true }, - { 265975, true }, - { 265997, true }, - { 266010, true }, - { 266029, true }, - { 266043, true }, - { 266062, true }, - { 266074, true }, - { 266098, false }, - { 266112, true }, - { 266125, true }, - { 266138, true }, - { 266160, true }, - { 266172, true }, - { 266187, true }, - { 266208, true }, + { 265390, true }, + { 265400, true }, + { 265408, false }, + { 265420, true }, + { 265433, true }, + { 265455, true }, + { 265469, true }, + { 265481, true }, + { 265499, true }, + { 265512, true }, + { 265528, true }, + { 265537, false }, + { 265554, true }, + { 265572, true }, + { 265593, true }, + { 265604, true }, + { 265615, true }, + { 265629, true }, + { 265650, true }, + { 265662, true }, + { 265678, true }, + { 265703, true }, + { 265729, true }, + { 265755, true }, + { 265766, true }, + { 265776, true }, + { 265787, true }, + { 265799, true }, + { 265812, true }, + { 265825, true }, + { 265838, true }, + { 265853, true }, + { 265862, true }, + { 265876, true }, + { 265891, true }, + { 265907, true }, + { 265927, true }, + { 265942, true }, + { 265958, true }, + { 265968, true }, + { 265980, true }, + { 266000, true }, + { 266022, true }, + { 266035, true }, + { 266054, true }, + { 266068, true }, + { 266087, true }, + { 266099, true }, + { 266123, false }, + { 266137, true }, + { 266150, true }, + { 266163, true }, + { 266185, true }, + { 266197, true }, + { 266212, true }, { 266233, true }, { 266258, true }, - { 266274, true }, - { 266300, true }, - { 266328, true }, - { 266349, true }, - { 266362, true }, - { 266378, true }, - { 266390, true }, - { 266408, true }, - { 266422, true }, - { 266441, true }, - { 266452, true }, - { 266464, true }, - { 266474, true }, - { 266483, true }, - { 266497, true }, - { 266514, true }, - { 266525, true }, - { 266536, true }, - { 266544, true }, - { 266556, false }, - { 266567, true }, - { 266584, true }, - { 266595, true }, - { 266604, false }, - { 266616, true }, - { 266635, true }, - { 266648, true }, - { 266659, true }, - { 266670, true }, - { 266683, true }, - { 266694, true }, - { 266707, true }, - { 266718, true }, - { 266730, true }, - { 266740, true }, - { 266746, true }, - { 266756, true }, - { 266776, true }, - { 266786, true }, - { 266809, true }, + { 266283, true }, + { 266299, true }, + { 266325, true }, + { 266353, true }, + { 266374, true }, + { 266387, true }, + { 266403, true }, + { 266415, true }, + { 266433, true }, + { 266447, true }, + { 266466, true }, + { 266477, true }, + { 266489, true }, + { 266499, true }, + { 266508, true }, + { 266522, true }, + { 266539, true }, + { 266550, true }, + { 266561, true }, + { 266569, true }, + { 266581, false }, + { 266592, true }, + { 266609, true }, + { 266620, true }, + { 266629, false }, + { 266641, true }, + { 266660, true }, + { 266673, true }, + { 266684, true }, + { 266695, true }, + { 266708, true }, + { 266719, true }, + { 266732, true }, + { 266743, true }, + { 266755, true }, + { 266765, true }, + { 266771, true }, + { 266781, true }, + { 266801, true }, + { 266811, true }, { 266834, true }, - { 266846, true }, - { 266854, true }, - { 266862, true }, - { 266876, true }, - { 266888, true }, - { 266900, true }, - { 266915, false }, - { 266928, true }, - { 266941, true }, - { 266952, true }, - { 266963, true }, - { 266972, true }, + { 266859, true }, + { 266871, true }, + { 266879, true }, + { 266887, true }, + { 266901, true }, + { 266913, true }, + { 266925, true }, + { 266940, false }, + { 266953, true }, + { 266966, true }, + { 266977, true }, { 266988, true }, - { 266998, true }, - { 267012, true }, - { 267022, true }, - { 267036, true }, - { 267043, true }, - { 267053, true }, - { 267066, true }, - { 267083, true }, - { 267093, true }, - { 267107, true }, - { 267115, true }, - { 267127, true }, - { 267143, true }, - { 267158, true }, + { 266997, true }, + { 267013, true }, + { 267023, true }, + { 267037, true }, + { 267047, true }, + { 267061, true }, + { 267068, true }, + { 267078, true }, + { 267091, true }, + { 267108, true }, + { 267118, true }, + { 267132, true }, + { 267140, true }, + { 267152, true }, { 267168, true }, + { 267183, true }, { 267193, true }, - { 267205, true }, - { 267213, true }, - { 267225, false }, - { 267236, false }, - { 267254, false }, - { 267267, true }, - { 267282, true }, - { 267296, true }, - { 267310, true }, - { 267327, true }, - { 267344, true }, - { 267359, true }, - { 267377, true }, - { 267395, true }, - { 267413, true }, - { 267427, true }, - { 267441, true }, - { 267455, true }, - { 267469, true }, - { 267483, false }, - { 267503, false }, - { 267521, false }, - { 267544, false }, - { 267567, false }, - { 267588, false }, - { 267607, true }, - { 267620, true }, - { 267636, false }, - { 267652, false }, - { 267668, true }, - { 267690, true }, - { 267703, false }, - { 267720, false }, - { 267737, true }, - { 267754, false }, - { 267771, false }, - { 267785, false }, - { 267804, false }, - { 267815, false }, - { 267827, false }, - { 267839, false }, - { 267858, true }, - { 267876, false }, - { 267890, true }, - { 267906, false }, - { 267923, false }, - { 267940, false }, - { 267955, false }, - { 267971, true }, - { 267992, true }, - { 268010, false }, - { 268029, false }, - { 268047, false }, - { 268067, true }, - { 268083, false }, - { 268098, true }, - { 268113, false }, - { 268137, true }, - { 268144, true }, - { 268163, false }, - { 268181, false }, - { 268196, true }, - { 268216, true }, - { 268237, false }, - { 268261, false }, - { 268280, false }, - { 268296, false }, - { 268311, false }, - { 268324, true }, - { 268340, false }, - { 268355, false }, - { 268369, false }, - { 268387, true }, - { 268398, true }, - { 268405, true }, - { 268416, true }, - { 268424, true }, - { 268432, true }, - { 268442, true }, - { 268455, true }, - { 268472, true }, - { 268488, true }, - { 268502, true }, - { 268514, true }, - { 268522, true }, - { 268533, true }, - { 268543, true }, - { 268561, true }, - { 268566, true }, - { 268571, true }, - { 268579, true }, - { 268587, true }, - { 268595, true }, + { 267218, true }, + { 267230, true }, + { 267238, true }, + { 267250, false }, + { 267261, false }, + { 267279, false }, + { 267292, true }, + { 267307, true }, + { 267321, true }, + { 267335, true }, + { 267352, true }, + { 267369, true }, + { 267384, true }, + { 267402, true }, + { 267420, true }, + { 267438, true }, + { 267452, true }, + { 267466, true }, + { 267480, true }, + { 267494, true }, + { 267508, false }, + { 267528, false }, + { 267546, false }, + { 267569, false }, + { 267592, false }, + { 267613, false }, + { 267632, true }, + { 267645, true }, + { 267661, false }, + { 267677, false }, + { 267693, true }, + { 267715, true }, + { 267728, false }, + { 267745, false }, + { 267762, true }, + { 267779, false }, + { 267796, false }, + { 267810, false }, + { 267829, false }, + { 267840, false }, + { 267852, false }, + { 267864, false }, + { 267883, true }, + { 267901, false }, + { 267915, true }, + { 267931, false }, + { 267948, false }, + { 267965, false }, + { 267980, false }, + { 267996, true }, + { 268017, true }, + { 268035, false }, + { 268054, false }, + { 268072, false }, + { 268092, true }, + { 268108, false }, + { 268123, true }, + { 268138, false }, + { 268162, true }, + { 268169, true }, + { 268188, false }, + { 268206, false }, + { 268221, true }, + { 268241, true }, + { 268262, false }, + { 268286, false }, + { 268305, false }, + { 268321, false }, + { 268336, false }, + { 268349, true }, + { 268365, false }, + { 268380, false }, + { 268394, false }, + { 268412, true }, + { 268423, true }, + { 268430, true }, + { 268441, true }, + { 268449, true }, + { 268457, true }, + { 268467, true }, + { 268480, true }, + { 268497, true }, + { 268513, true }, + { 268527, true }, + { 268539, true }, + { 268547, true }, + { 268558, true }, + { 268568, true }, + { 268586, true }, + { 268591, true }, + { 268596, true }, { 268604, true }, - { 268611, true }, - { 268630, true }, - { 268637, true }, - { 268644, true }, - { 268651, true }, - { 268660, true }, - { 268681, true }, - { 268701, true }, - { 268725, true }, - { 268735, true }, - { 268748, true }, - { 268765, true }, - { 268785, true }, - { 268791, true }, - { 268797, true }, - { 268804, true }, + { 268612, true }, + { 268620, true }, + { 268629, true }, + { 268636, true }, + { 268655, true }, + { 268662, true }, + { 268669, true }, + { 268676, true }, + { 268685, true }, + { 268706, true }, + { 268726, true }, + { 268750, true }, + { 268760, true }, + { 268773, true }, + { 268790, true }, + { 268810, true }, { 268816, true }, - { 268828, true }, + { 268822, true }, + { 268829, true }, { 268841, true }, - { 268856, true }, - { 268869, true }, + { 268853, true }, + { 268866, true }, { 268881, true }, - { 268892, true }, - { 268905, false }, - { 268916, true }, - { 268927, true }, - { 268935, false }, - { 268954, true }, - { 268965, true }, - { 268976, true }, - { 268983, true }, - { 268994, true }, - { 269005, true }, - { 269012, true }, - { 269023, true }, - { 269035, true }, - { 269054, true }, - { 269070, true }, - { 269082, true }, - { 269093, true }, - { 269109, true }, - { 269123, false }, - { 269138, true }, - { 269153, true }, + { 268894, true }, + { 268906, true }, + { 268917, true }, + { 268930, false }, + { 268941, true }, + { 268952, true }, + { 268960, false }, + { 268979, true }, + { 268990, true }, + { 269001, true }, + { 269008, true }, + { 269019, true }, + { 269030, true }, + { 269037, true }, + { 269048, true }, + { 269060, true }, + { 269079, true }, + { 269095, true }, + { 269107, true }, + { 269118, true }, + { 269134, true }, + { 269148, false }, { 269163, true }, - { 269173, true }, - { 269184, false }, - { 269194, true }, - { 269204, true }, - { 269212, true }, - { 269220, true }, - { 269230, true }, - { 269239, false }, - { 269253, true }, - { 269261, true }, - { 269271, true }, - { 269282, true }, - { 269290, true }, - { 269302, true }, - { 269313, true }, - { 269324, true }, - { 269336, true }, - { 269344, true }, - { 269351, true }, + { 269178, true }, + { 269188, true }, + { 269198, true }, + { 269209, false }, + { 269219, true }, + { 269229, true }, + { 269237, true }, + { 269245, true }, + { 269255, true }, + { 269264, false }, + { 269278, true }, + { 269286, true }, + { 269296, true }, + { 269307, true }, + { 269315, true }, + { 269327, true }, + { 269338, true }, + { 269349, true }, + { 269361, true }, + { 269369, true }, { 269376, true }, - { 269398, true }, - { 269416, true }, - { 269442, true }, - { 269468, true }, - { 269479, true }, - { 269495, true }, - { 269525, true }, - { 269537, true }, - { 269556, true }, - { 269577, true }, - { 269603, true }, - { 269636, true }, - { 269659, true }, - { 269678, true }, - { 269706, true }, - { 269726, true }, - { 269744, true }, - { 269762, true }, - { 269789, true }, + { 269401, true }, + { 269423, true }, + { 269441, true }, + { 269467, true }, + { 269493, true }, + { 269504, true }, + { 269520, true }, + { 269550, true }, + { 269562, true }, + { 269581, true }, + { 269602, true }, + { 269628, true }, + { 269661, true }, + { 269684, true }, + { 269703, true }, + { 269731, true }, + { 269751, true }, + { 269769, true }, + { 269787, true }, { 269814, true }, { 269839, true }, - { 269863, true }, - { 269903, true }, - { 269933, true }, - { 269948, true }, - { 269959, true }, - { 269990, true }, - { 270001, false }, - { 270022, true }, - { 270046, true }, - { 270064, true }, - { 270090, true }, - { 270108, true }, - { 270145, true }, - { 270165, true }, - { 270193, true }, - { 270216, true }, - { 270244, true }, - { 270259, true }, - { 270286, true }, - { 270306, true }, - { 270327, true }, - { 270341, true }, - { 270358, true }, - { 270380, true }, + { 269864, true }, + { 269888, true }, + { 269928, true }, + { 269958, true }, + { 269973, true }, + { 269984, true }, + { 270015, true }, + { 270026, false }, + { 270047, true }, + { 270071, true }, + { 270089, true }, + { 270115, true }, + { 270133, true }, + { 270170, true }, + { 270190, true }, + { 270218, true }, + { 270241, true }, + { 270269, true }, + { 270284, true }, + { 270311, true }, + { 270331, true }, + { 270352, true }, + { 270366, true }, + { 270383, true }, { 270405, true }, - { 270425, true }, - { 270444, true }, - { 270486, true }, - { 270497, true }, - { 270516, true }, - { 270539, true }, - { 270555, true }, - { 270577, true }, - { 270611, true }, - { 270635, true }, - { 270642, true }, - { 270649, true }, + { 270430, true }, + { 270450, true }, + { 270469, true }, + { 270511, true }, + { 270522, true }, + { 270541, true }, + { 270564, true }, + { 270580, true }, + { 270602, true }, + { 270636, true }, { 270660, true }, - { 270666, true }, - { 270677, true }, - { 270693, true }, - { 270709, true }, - { 270720, true }, - { 270730, true }, - { 270740, true }, - { 270747, true }, - { 270754, true }, - { 270771, true }, - { 270784, true }, - { 270791, true }, - { 270806, true }, - { 270820, true }, - { 270829, true }, - { 270835, true }, - { 270849, true }, - { 270859, true }, - { 270869, true }, - { 270882, true }, - { 270895, true }, - { 270902, true }, - { 270909, true }, - { 270918, true }, - { 270925, true }, - { 270936, true }, - { 270945, true }, + { 270667, true }, + { 270674, true }, + { 270685, true }, + { 270691, true }, + { 270702, true }, + { 270718, true }, + { 270734, true }, + { 270745, true }, + { 270755, true }, + { 270765, true }, + { 270772, true }, + { 270779, true }, + { 270796, true }, + { 270809, true }, + { 270816, true }, + { 270831, true }, + { 270845, true }, + { 270854, true }, + { 270860, true }, + { 270874, true }, + { 270884, true }, + { 270894, true }, + { 270907, true }, + { 270920, true }, + { 270927, true }, + { 270934, true }, + { 270943, true }, + { 270950, true }, { 270961, true }, - { 270974, false }, - { 270981, true }, - { 270989, true }, - { 271000, true }, - { 271012, true }, - { 271022, true }, + { 270970, true }, + { 270986, true }, + { 270999, false }, + { 271006, true }, + { 271014, true }, + { 271025, true }, { 271037, true }, - { 271046, true }, - { 271060, true }, - { 271080, true }, - { 271090, true }, - { 271102, true }, - { 271111, true }, - { 271121, true }, - { 271128, true }, - { 271148, true }, - { 271159, true }, - { 271170, true }, + { 271047, true }, + { 271062, true }, + { 271071, true }, + { 271085, true }, + { 271105, true }, + { 271115, true }, + { 271127, true }, + { 271136, true }, + { 271146, true }, + { 271153, true }, + { 271173, true }, { 271184, true }, - { 271193, true }, + { 271195, true }, { 271209, true }, - { 271216, true }, - { 271228, true }, - { 271238, true }, - { 271245, true }, + { 271218, true }, + { 271234, true }, + { 271241, true }, { 271253, true }, - { 271265, false }, - { 271276, true }, - { 271286, false }, - { 271298, true }, - { 271312, true }, - { 271327, true }, - { 271340, true }, - { 271356, true }, - { 271368, true }, - { 271381, false }, - { 271391, true }, - { 271404, true }, - { 271426, true }, - { 271438, true }, - { 271450, true }, - { 271458, true }, - { 271467, true }, - { 271479, true }, - { 271489, false }, - { 271497, true }, - { 271507, true }, - { 271516, true }, - { 271534, true }, - { 271549, true }, - { 271565, false }, - { 271580, false }, - { 271593, true }, - { 271607, true }, - { 271617, false }, - { 271626, true }, - { 271633, true }, - { 271649, true }, - { 271656, true }, - { 271666, true }, - { 271674, true }, - { 271685, true }, - { 271699, true }, - { 271714, true }, - { 271725, true }, - { 271735, true }, - { 271746, true }, - { 271768, true }, - { 271783, true }, - { 271790, true }, - { 271801, true }, - { 271809, true }, - { 271819, true }, - { 271832, true }, - { 271850, true }, - { 271862, false }, - { 271871, true }, - { 271885, true }, - { 271901, true }, - { 271918, true }, - { 271942, true }, - { 271960, true }, - { 271973, true }, - { 271990, true }, - { 272002, true }, - { 272013, true }, - { 272026, true }, - { 272038, false }, - { 272053, true }, - { 272063, true }, - { 272073, true }, - { 272085, true }, - { 272097, true }, - { 272117, false }, - { 272127, true }, - { 272151, true }, - { 272162, true }, - { 272170, true }, - { 272180, true }, - { 272192, true }, - { 272205, true }, - { 272222, true }, - { 272237, true }, - { 272253, true }, - { 272266, true }, - { 272280, true }, - { 272296, true }, - { 272313, true }, - { 272328, true }, - { 272343, true }, - { 272355, true }, - { 272367, true }, - { 272381, true }, - { 272392, true }, - { 272402, true }, - { 272415, true }, - { 272433, true }, - { 272446, true }, - { 272461, true }, - { 272474, true }, - { 272487, true }, - { 272502, true }, - { 272514, true }, + { 271263, true }, + { 271270, true }, + { 271278, true }, + { 271290, false }, + { 271301, true }, + { 271311, false }, + { 271323, true }, + { 271337, true }, + { 271352, true }, + { 271365, true }, + { 271381, true }, + { 271393, true }, + { 271406, false }, + { 271416, true }, + { 271429, true }, + { 271451, true }, + { 271463, true }, + { 271475, true }, + { 271483, true }, + { 271492, true }, + { 271504, true }, + { 271514, false }, + { 271522, true }, + { 271532, true }, + { 271541, true }, + { 271559, true }, + { 271574, false }, + { 271589, false }, + { 271602, true }, + { 271616, true }, + { 271626, false }, + { 271635, true }, + { 271642, true }, + { 271658, true }, + { 271665, true }, + { 271675, true }, + { 271683, true }, + { 271694, true }, + { 271708, true }, + { 271723, true }, + { 271734, true }, + { 271744, true }, + { 271755, true }, + { 271777, true }, + { 271792, true }, + { 271799, true }, + { 271810, true }, + { 271818, true }, + { 271828, true }, + { 271841, true }, + { 271859, true }, + { 271871, false }, + { 271880, true }, + { 271894, true }, + { 271910, true }, + { 271927, true }, + { 271951, true }, + { 271969, true }, + { 271982, true }, + { 271999, true }, + { 272011, true }, + { 272022, true }, + { 272035, true }, + { 272047, false }, + { 272062, true }, + { 272072, true }, + { 272082, true }, + { 272094, true }, + { 272106, true }, + { 272126, false }, + { 272136, true }, + { 272160, true }, + { 272171, true }, + { 272179, true }, + { 272189, true }, + { 272201, true }, + { 272214, true }, + { 272231, true }, + { 272246, true }, + { 272262, true }, + { 272275, true }, + { 272289, true }, + { 272305, true }, + { 272322, true }, + { 272337, true }, + { 272352, true }, + { 272364, true }, + { 272376, true }, + { 272390, true }, + { 272401, true }, + { 272411, true }, + { 272424, true }, + { 272442, true }, + { 272455, true }, + { 272470, true }, + { 272483, true }, + { 272496, true }, + { 272511, true }, { 272523, true }, - { 272534, true }, - { 272556, true }, - { 272572, true }, + { 272532, true }, + { 272543, true }, + { 272565, true }, { 272581, true }, - { 272589, true }, - { 272597, true }, - { 272610, true }, - { 272623, true }, - { 272635, true }, - { 272643, true }, - { 272658, true }, - { 272668, true }, - { 272679, true }, - { 272695, true }, - { 272703, true }, - { 272716, true }, - { 272726, true }, - { 272737, true }, - { 272747, true }, - { 272757, true }, - { 272770, true }, - { 272782, true }, - { 272794, true }, - { 272805, true }, - { 272818, true }, + { 272590, true }, + { 272598, true }, + { 272606, true }, + { 272619, true }, + { 272632, true }, + { 272644, true }, + { 272652, true }, + { 272667, true }, + { 272677, true }, + { 272688, true }, + { 272704, true }, + { 272712, true }, + { 272725, true }, + { 272735, true }, + { 272746, true }, + { 272756, true }, + { 272766, true }, + { 272779, true }, + { 272791, true }, + { 272803, true }, + { 272814, true }, { 272827, true }, - { 272837, true }, + { 272836, true }, { 272846, true }, { 272855, true }, - { 272870, true }, - { 272889, true }, - { 272902, true }, - { 272920, true }, - { 272933, true }, + { 272864, true }, + { 272879, true }, + { 272898, true }, + { 272911, true }, + { 272929, true }, { 272942, true }, - { 272953, true }, - { 272967, true }, - { 272979, true }, - { 272997, true }, - { 273010, true }, - { 273018, true }, - { 273032, true }, - { 273042, true }, - { 273049, true }, - { 273057, true }, - { 273065, true }, - { 273079, true }, - { 273095, true }, - { 273105, true }, + { 272951, true }, + { 272962, true }, + { 272976, true }, + { 272988, true }, + { 273006, true }, + { 273019, true }, + { 273027, true }, + { 273041, true }, + { 273051, true }, + { 273058, true }, + { 273066, true }, + { 273074, true }, + { 273088, true }, + { 273104, true }, { 273114, true }, { 273123, true }, - { 273146, true }, - { 273159, true }, - { 273164, true }, - { 273174, true }, - { 273181, true }, - { 273188, true }, - { 273200, false }, - { 273219, true }, - { 273230, true }, - { 273246, true }, - { 273261, true }, - { 273277, true }, - { 273292, true }, - { 273305, true }, - { 273318, true }, - { 273326, true }, - { 273336, true }, - { 273346, true }, - { 273361, true }, - { 273375, true }, - { 273403, true }, - { 273416, true }, - { 273429, true }, - { 273437, true }, + { 273132, true }, + { 273155, true }, + { 273168, true }, + { 273173, true }, + { 273183, true }, + { 273190, true }, + { 273197, true }, + { 273209, false }, + { 273228, true }, + { 273239, true }, + { 273255, true }, + { 273270, true }, + { 273286, true }, + { 273301, true }, + { 273314, true }, + { 273327, true }, + { 273335, true }, + { 273345, true }, + { 273355, true }, + { 273370, true }, + { 273384, true }, + { 273412, true }, + { 273425, true }, + { 273438, true }, { 273446, true }, - { 273459, true }, - { 273489, true }, - { 273500, true }, - { 273518, true }, - { 273542, true }, - { 273552, true }, - { 273569, true }, - { 273581, true }, - { 273592, true }, - { 273604, true }, - { 273617, false }, - { 273624, true }, - { 273642, true }, + { 273455, true }, + { 273468, true }, + { 273498, true }, + { 273509, true }, + { 273527, true }, + { 273551, true }, + { 273561, true }, + { 273578, true }, + { 273590, true }, + { 273601, true }, + { 273613, true }, + { 273626, false }, + { 273633, true }, { 273651, true }, - { 273662, true }, - { 273674, true }, - { 273681, true }, - { 273689, true }, - { 273705, true }, - { 273716, true }, - { 273726, true }, + { 273660, true }, + { 273671, true }, + { 273683, true }, + { 273690, true }, + { 273698, true }, + { 273714, true }, + { 273725, true }, { 273735, true }, - { 273753, true }, - { 273779, true }, + { 273744, true }, + { 273762, true }, { 273788, true }, - { 273813, true }, - { 273840, true }, - { 273860, false }, - { 273871, true }, - { 273893, true }, - { 273904, true }, - { 273915, true }, - { 273927, true }, - { 273940, true }, - { 273953, true }, - { 273968, true }, - { 273986, true }, - { 273999, true }, - { 274014, true }, - { 274030, true }, - { 274048, true }, - { 274061, true }, - { 274075, true }, - { 274085, true }, - { 274097, true }, - { 274105, true }, - { 274117, true }, - { 274129, true }, - { 274142, true }, - { 274153, true }, - { 274166, true }, - { 274178, true }, - { 274190, false }, - { 274200, true }, - { 274211, true }, - { 274226, true }, - { 274239, true }, - { 274250, true }, - { 274260, true }, - { 274267, true }, - { 274281, true }, - { 274291, true }, - { 274309, true }, - { 274321, true }, - { 274333, true }, + { 273797, true }, + { 273822, true }, + { 273849, true }, + { 273869, false }, + { 273880, true }, + { 273902, true }, + { 273913, true }, + { 273924, true }, + { 273936, true }, + { 273949, true }, + { 273962, true }, + { 273977, true }, + { 273995, true }, + { 274008, true }, + { 274023, true }, + { 274039, true }, + { 274057, true }, + { 274070, true }, + { 274084, true }, + { 274094, true }, + { 274106, true }, + { 274114, true }, + { 274126, true }, + { 274138, true }, + { 274151, true }, + { 274162, true }, + { 274175, true }, + { 274187, true }, + { 274199, false }, + { 274209, true }, + { 274220, true }, + { 274235, true }, + { 274248, true }, + { 274259, true }, + { 274266, true }, + { 274276, true }, + { 274283, true }, + { 274297, true }, + { 274307, true }, + { 274325, true }, + { 274337, true }, { 274349, true }, - { 274362, true }, - { 274377, true }, - { 274390, true }, - { 274402, true }, - { 274416, true }, - { 274429, true }, - { 274436, true }, - { 274447, false }, - { 274460, true }, - { 274472, true }, - { 274481, true }, - { 274510, true }, - { 274518, true }, + { 274365, true }, + { 274378, true }, + { 274393, true }, + { 274406, true }, + { 274418, true }, + { 274432, true }, + { 274445, true }, + { 274452, true }, + { 274463, false }, + { 274476, true }, + { 274488, true }, + { 274497, true }, { 274526, true }, - { 274541, false }, - { 274549, true }, - { 274570, true }, - { 274581, true }, - { 274589, true }, - { 274600, true }, - { 274617, true }, - { 274631, false }, - { 274643, true }, - { 274662, true }, - { 274680, true }, - { 274691, true }, - { 274703, true }, - { 274712, true }, - { 274722, true }, + { 274534, true }, + { 274542, true }, + { 274557, false }, + { 274565, true }, + { 274586, true }, + { 274597, true }, + { 274605, true }, + { 274616, true }, + { 274633, true }, + { 274647, false }, + { 274659, true }, + { 274678, true }, + { 274696, true }, + { 274707, true }, + { 274719, true }, + { 274728, true }, { 274738, true }, - { 274753, true }, - { 274765, true }, - { 274779, true }, - { 274786, true }, - { 274792, true }, + { 274754, true }, + { 274769, true }, + { 274781, true }, + { 274795, true }, { 274802, true }, - { 274817, true }, - { 274829, true }, - { 274841, true }, - { 274852, true }, - { 274865, true }, + { 274808, true }, + { 274818, true }, + { 274833, true }, + { 274845, true }, + { 274857, false }, + { 274864, true }, { 274875, true }, - { 274899, true }, - { 274910, true }, - { 274921, true }, - { 274932, true }, - { 274943, true }, - { 274954, true }, - { 274969, true }, - { 274981, true }, - { 275005, true }, - { 275023, true }, - { 275038, true }, - { 275049, true }, - { 275060, true }, - { 275075, true }, - { 275091, true }, - { 275100, true }, - { 275111, true }, - { 275135, true }, - { 275150, true }, - { 275162, true }, - { 275174, true }, + { 274888, true }, + { 274898, true }, + { 274922, true }, + { 274933, true }, + { 274944, true }, + { 274955, true }, + { 274966, true }, + { 274977, true }, + { 274992, true }, + { 275004, true }, + { 275028, true }, + { 275046, true }, + { 275061, true }, + { 275072, true }, + { 275083, true }, + { 275098, true }, + { 275114, true }, + { 275123, true }, + { 275134, true }, + { 275158, true }, + { 275173, true }, { 275185, true }, - { 275195, true }, - { 275203, true }, - { 275222, true }, - { 275233, true }, - { 275243, true }, - { 275253, true }, - { 275264, true }, - { 275272, true }, - { 275286, false }, - { 275293, true }, - { 275300, true }, - { 275312, true }, - { 275321, true }, + { 275197, true }, + { 275208, true }, + { 275218, true }, + { 275226, true }, + { 275245, true }, + { 275256, true }, + { 275266, true }, + { 275276, true }, + { 275287, true }, + { 275295, true }, + { 275309, false }, + { 275316, true }, + { 275323, true }, { 275335, true }, - { 275345, true }, - { 275353, true }, - { 275366, true }, - { 275380, true }, - { 275401, true }, - { 275415, true }, - { 275425, true }, - { 275432, true }, - { 275443, true }, - { 275453, true }, - { 275463, true }, - { 275473, true }, - { 275484, true }, - { 275492, true }, - { 275501, true }, - { 275521, true }, + { 275344, true }, + { 275358, true }, + { 275368, true }, + { 275376, true }, + { 275389, true }, + { 275403, true }, + { 275424, true }, + { 275438, true }, + { 275448, true }, + { 275455, true }, + { 275466, true }, + { 275476, true }, + { 275486, true }, + { 275496, true }, + { 275507, true }, + { 275515, true }, + { 275524, true }, { 275544, true }, - { 275557, true }, - { 275570, false }, - { 275577, true }, - { 275590, true }, - { 275602, true }, - { 275612, true }, - { 275623, true }, - { 275633, true }, - { 275641, true }, - { 275651, true }, - { 275660, true }, - { 275667, true }, - { 275677, true }, + { 275567, true }, + { 275580, true }, + { 275593, false }, + { 275600, true }, + { 275613, true }, + { 275625, true }, + { 275635, true }, + { 275646, true }, + { 275656, true }, + { 275664, true }, + { 275674, true }, + { 275683, true }, + { 275690, true }, + { 275700, true }, }; From f2272dd703167ff04e1a36fb3a3d36c6c4727015 Mon Sep 17 00:00:00 2001 From: ffxbld Date: Thu, 18 May 2017 08:02:44 -0700 Subject: [PATCH 37/38] No bug, Automated HPKP preload list update from host bld-linux64-spot-361 - a=hpkp-update --- security/manager/ssl/StaticHPKPins.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/security/manager/ssl/StaticHPKPins.h b/security/manager/ssl/StaticHPKPins.h index c09ac43213e0..e0b4fba06c31 100644 --- a/security/manager/ssl/StaticHPKPins.h +++ b/security/manager/ssl/StaticHPKPins.h @@ -1160,4 +1160,4 @@ static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = { static const int32_t kUnknownId = -1; -static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1503500907073000); +static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1503586789935000); From 4604c9234ac350e603471b98de448aa5f32761d0 Mon Sep 17 00:00:00 2001 From: Gregory Arndt Date: Fri, 5 May 2017 15:22:03 -0500 Subject: [PATCH 38/38] Bug 1364266 - Specify task priority within task definition r=dustin a=merge Tasks should be assigned a priority based on the branch they originated from. It is important that certain branches receive preferential treatment, such as a release branch task being executed before a task from Try. Branch priority mirrors the priorities defined within buildbot. MozReview-Commit-ID: 8qR9F34lzzc --HG-- extra : source : 6a2176a264959e19e4a4cbcb18fd47b9653745f8 --- taskcluster/taskgraph/transforms/task.py | 42 ++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/taskcluster/taskgraph/transforms/task.py b/taskcluster/taskgraph/transforms/task.py index e2366f54a447..c86b4df9628f 100644 --- a/taskcluster/taskgraph/transforms/task.py +++ b/taskcluster/taskgraph/transforms/task.py @@ -483,6 +483,42 @@ TREEHERDER_ROUTE_ROOTS = { COALESCE_KEY = 'builds.{project}.{name}' +DEFAULT_BRANCH_PRIORITY = 'low' +BRANCH_PRIORITIES = { + 'mozilla-release': 'highest', + 'comm-esr45': 'highest', + 'comm-esr52': 'highest', + 'mozilla-esr45': 'very-high', + 'mozilla-esr52': 'very-high', + 'mozilla-beta': 'high', + 'comm-beta': 'high', + 'mozilla-central': 'medium', + 'comm-central': 'medium', + 'mozilla-aurora': 'medium', + 'comm-aurora': 'medium', + 'autoland': 'low', + 'mozilla-inbound': 'low', + 'try': 'very-low', + 'try-comm-central': 'very-low', + 'alder': 'very-low', + 'ash': 'very-low', + 'birch': 'very-low', + 'cedar': 'very-low', + 'cypress': 'very-low', + 'date': 'very-low', + 'elm': 'very-low', + 'fig': 'very-low', + 'gum': 'very-low', + 'holly': 'very-low', + 'jamun': 'very-low', + 'larch': 'very-low', + 'maple': 'very-low', + 'oak': 'very-low', + 'pine': 'very-low', + 'graphics': 'very-low', + 'ux': 'very-low', +} + # define a collection of payload builders, depending on the worker implementation payload_builders = {} @@ -921,6 +957,11 @@ def build_task(config, tasks): name=task['coalesce-name']) routes.append('coalesce.v1.' + key) + if 'priority' not in task: + task['priority'] = BRANCH_PRIORITIES.get( + config.params['project'], + DEFAULT_BRANCH_PRIORITY) + tags = task.get('tags', {}) tags.update({'createdForUser': config.params['owner']}) @@ -943,6 +984,7 @@ def build_task(config, tasks): }, 'extra': extra, 'tags': tags, + 'priority': task['priority'], } if task_th: