init
This commit is contained in:
commit
ef187d898a
28
backport-CVE-2022-34481.patch
Normal file
28
backport-CVE-2022-34481.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From a928758612e67c4496bd9acf48bf66259c809782 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nika Layzell <nika@thelayzells.com>
|
||||||
|
Date: Tue, 07 Jun 2022 17:06:41
|
||||||
|
Subject: [PATCH] CVE-2022-34481
|
||||||
|
|
||||||
|
Conflict:NA
|
||||||
|
Reference:https://hg.mozilla.org/mozilla-central/rev/243ca18dc17200998c0c8d21979c15fb930e42fb
|
||||||
|
---
|
||||||
|
xpcom/ds/nsTArray.h | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/xpcom/ds/nsTArray.h b/xpcom/ds/nsTArray.h
|
||||||
|
index 92fe4a4649..10b5241ed1 100644
|
||||||
|
--- a/xpcom/ds/nsTArray.h
|
||||||
|
+++ b/xpcom/ds/nsTArray.h
|
||||||
|
@@ -2461,6 +2461,9 @@ auto nsTArray_Impl<E, Alloc>::ReplaceElementsAtInternal(index_type aStart,
|
||||||
|
if (MOZ_UNLIKELY(aStart > Length())) {
|
||||||
|
InvalidArrayIndex_CRASH(aStart, Length());
|
||||||
|
}
|
||||||
|
+ if (MOZ_UNLIKELY(aCount > Length() - aStart)) {
|
||||||
|
+ InvalidArrayIndex_CRASH(aStart + aCount, Length());
|
||||||
|
+ }
|
||||||
|
|
||||||
|
// Adjust memory allocation up-front to catch errors.
|
||||||
|
if (!ActualAlloc::Successful(this->template EnsureCapacity<ActualAlloc>(
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
102
backport-CVE-2023-23599.patch
Normal file
102
backport-CVE-2023-23599.patch
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
From 20abf3bf81bfe657e5af6741fa7b1b2268b6a457 Mon Sep 17 00:00:00 2001
|
||||||
|
From: s30028044 <sunhai10@huawei.com>
|
||||||
|
Date: Wed, 13 Mar 2024 14:17:29 +0800
|
||||||
|
Subject: [PATCH] CVE-2023-23599
|
||||||
|
|
||||||
|
---
|
||||||
|
devtools/client/shared/curl.js | 75 ++++++++++++++++++----------------
|
||||||
|
1 file changed, 39 insertions(+), 36 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/devtools/client/shared/curl.js b/devtools/client/shared/curl.js
|
||||||
|
index 022158bebd..c42e2d0580 100644
|
||||||
|
--- a/devtools/client/shared/curl.js
|
||||||
|
+++ b/devtools/client/shared/curl.js
|
||||||
|
@@ -426,46 +426,49 @@ const CurlUtils = {
|
||||||
|
*/
|
||||||
|
escapeStringWin: function(str) {
|
||||||
|
/*
|
||||||
|
- Replace the backtick character ` with `` in order to escape it.
|
||||||
|
- The backtick character is an escape character in PowerShell and
|
||||||
|
- can, among other things, be used to disable the effect of some
|
||||||
|
- of the other escapes created below.
|
||||||
|
- Also see http://www.rlmueller.net/PowerShellEscape.htm for
|
||||||
|
- useful details.
|
||||||
|
-
|
||||||
|
- Replace dollar sign because of commands in powershell when using
|
||||||
|
- double quotes. e.g $(calc.exe) Also see
|
||||||
|
- http://www.rlmueller.net/PowerShellEscape.htm for details.
|
||||||
|
-
|
||||||
|
- Replace quote by double quote (but not by \") because it is
|
||||||
|
- recognized by both cmd.exe and MS Crt arguments parser.
|
||||||
|
-
|
||||||
|
- Replace % by "%" because it could be expanded to an environment
|
||||||
|
- variable value. So %% becomes "%""%". Even if an env variable ""
|
||||||
|
- (2 doublequotes) is declared, the cmd.exe will not
|
||||||
|
- substitute it with its value.
|
||||||
|
-
|
||||||
|
- Replace each backslash with double backslash to make sure
|
||||||
|
- MS Crt arguments parser won't collapse them.
|
||||||
|
-
|
||||||
|
- Replace new line outside of quotes since cmd.exe doesn't let
|
||||||
|
- to do it inside. At the same time it gets duplicated,
|
||||||
|
- because first newline is consumed by ^.
|
||||||
|
- So for quote: `"Text-start\r\ntext-continue"`,
|
||||||
|
- we get: `"Text-start"^\r\n\r\n"text-continue"`,
|
||||||
|
- where `^\r\n` is just breaking the command, the `\r\n` right
|
||||||
|
- after is actual escaped newline.
|
||||||
|
+ Because cmd.exe parser and MS Crt arguments parsers use some of the
|
||||||
|
+ same escape characters, they can interact with each other in
|
||||||
|
+ horrible ways, the order of operations is critical.
|
||||||
|
*/
|
||||||
|
+ const encapsChars = '"';
|
||||||
|
return (
|
||||||
|
- '"' +
|
||||||
|
+ encapsChars +
|
||||||
|
str
|
||||||
|
- .replaceAll("`", "``")
|
||||||
|
- .replaceAll("$", "`$")
|
||||||
|
- .replaceAll('"', '""')
|
||||||
|
- .replaceAll("%", '"%"')
|
||||||
|
+
|
||||||
|
+ // Replace \ with \\ first because it is an escape character for certain
|
||||||
|
+ // conditions in both parsers.
|
||||||
|
.replace(/\\/g, "\\\\")
|
||||||
|
- .replace(/[\r\n]{1,2}/g, '"^$&$&"') +
|
||||||
|
- '"'
|
||||||
|
+
|
||||||
|
+ // Replace double quote chars with two double quotes (not by escaping with \") because it is
|
||||||
|
+ // recognized by both cmd.exe and MS Crt arguments parser.
|
||||||
|
+ .replace(/"/g, '""')
|
||||||
|
+
|
||||||
|
+ // Escape ` and $ so commands do not get executed e.g $(calc.exe) or `\$(calc.exe)
|
||||||
|
+ .replace(/[`$]/g, "\\$&")
|
||||||
|
+
|
||||||
|
+ // Then escape all characters we are not sure about with ^ to ensure it
|
||||||
|
+ // gets to MS Crt parser safely.
|
||||||
|
+ .replace(/[^a-zA-Z0-9\s_\-:=+~\/.',?;()*\$&\\{}\"`]/g, "^$&")
|
||||||
|
+
|
||||||
|
+ // The % character is special because MS Crt parser will try and look for
|
||||||
|
+ // ENV variables and fill them in its place. We cannot escape them with %
|
||||||
|
+ // and cannot escape them with ^ (because it's cmd.exe's escape not MS Crt
|
||||||
|
+ // parser); So we can get cmd.exe parser to escape the character after it,
|
||||||
|
+ // if it is followed by a valid beginning character of an ENV variable.
|
||||||
|
+ // This ensures we do not try and double escape another ^ if it was placed
|
||||||
|
+ // by the previous replace.
|
||||||
|
+ .replace(/%(?=[a-zA-Z0-9_])/g, "%^")
|
||||||
|
+
|
||||||
|
+ // We replace \r and \r\n with \n, this allows to consistently escape all new
|
||||||
|
+ // lines in the next replace
|
||||||
|
+ .replace(/\r\n?/g, "\n")
|
||||||
|
+
|
||||||
|
+ // Lastly we replace new lines with ^ and TWO new lines because the first
|
||||||
|
+ // new line is there to enact the escape command the second is the character
|
||||||
|
+ // to escape (in this case new line).
|
||||||
|
+ // The extra " enables escaping new lines with ^ within quotes in cmd.exe.
|
||||||
|
+ .replace(/\n/g, '"^\r\n\r\n"') +
|
||||||
|
+ encapsChars
|
||||||
|
);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
126
backport-CVE-2023-23601.patch
Normal file
126
backport-CVE-2023-23601.patch
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
From 6ee2be9efaae3ca33e0c1284966ee0a142026089 Mon Sep 17 00:00:00 2001
|
||||||
|
From: s30028044 <sunhai10@huawei.com>
|
||||||
|
Date: Sat, 9 Mar 2024 22:00:16 +0800
|
||||||
|
Subject: [PATCH] CVE-2023-23601
|
||||||
|
|
||||||
|
---
|
||||||
|
dom/base/ContentAreaDropListener.jsm | 25 +++++++------------------
|
||||||
|
dom/events/DataTransfer.cpp | 12 ++++++++++++
|
||||||
|
dom/events/DataTransfer.h | 3 +++
|
||||||
|
dom/webidl/DataTransfer.webidl | 7 +++++++
|
||||||
|
4 files changed, 29 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dom/base/ContentAreaDropListener.jsm b/dom/base/ContentAreaDropListener.jsm
|
||||||
|
index d3d64d9a81..e812c96656 100644
|
||||||
|
--- a/dom/base/ContentAreaDropListener.jsm
|
||||||
|
+++ b/dom/base/ContentAreaDropListener.jsm
|
||||||
|
@@ -261,30 +261,19 @@ ContentAreaDropListener.prototype = {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- let sourceNode = dataTransfer.mozSourceNode;
|
||||||
|
- if (!sourceNode) {
|
||||||
|
+ // If this is an external drag, allow drop.
|
||||||
|
+ let sourceWC = dataTransfer.sourceWindowContext;
|
||||||
|
+ if (!sourceWC) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- // don't allow a drop of a node from the same document onto this one
|
||||||
|
- let sourceDocument = sourceNode.ownerDocument;
|
||||||
|
- let eventDocument = aEvent.originalTarget.ownerDocument;
|
||||||
|
- if (sourceDocument == eventDocument) {
|
||||||
|
+ // If drag source and drop target are in the same top window, don't allow.
|
||||||
|
+ let eventWC =
|
||||||
|
+ aEvent.originalTarget.ownerGlobal.browsingContext.currentWindowContext;
|
||||||
|
+ if (eventWC && sourceWC.topWindowContext == eventWC.topWindowContext) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
- // also check for nodes in other child or sibling frames by checking
|
||||||
|
- // if both have the same top window.
|
||||||
|
- if (sourceDocument && eventDocument) {
|
||||||
|
- if (sourceDocument.defaultView == null) {
|
||||||
|
- return true;
|
||||||
|
- }
|
||||||
|
- let sourceRoot = sourceDocument.defaultView.top;
|
||||||
|
- if (sourceRoot && sourceRoot == eventDocument.defaultView.top) {
|
||||||
|
- return false;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
|
diff --git a/dom/events/DataTransfer.cpp b/dom/events/DataTransfer.cpp
|
||||||
|
index 243b102d43..82a5a99a17 100644
|
||||||
|
--- a/dom/events/DataTransfer.cpp
|
||||||
|
+++ b/dom/events/DataTransfer.cpp
|
||||||
|
@@ -40,6 +40,7 @@
|
||||||
|
#include "mozilla/dom/FileList.h"
|
||||||
|
#include "mozilla/dom/BindingUtils.h"
|
||||||
|
#include "mozilla/dom/OSFileSystem.h"
|
||||||
|
+#include "mozilla/dom/WindowContext.h"
|
||||||
|
#include "mozilla/dom/Promise.h"
|
||||||
|
#include "nsComponentManagerUtils.h"
|
||||||
|
#include "nsNetUtil.h"
|
||||||
|
@@ -436,6 +437,17 @@ already_AddRefed<nsINode> DataTransfer::GetMozSourceNode() {
|
||||||
|
return sourceNode.forget();
|
||||||
|
}
|
||||||
|
|
||||||
|
+already_AddRefed<WindowContext> DataTransfer::GetSourceWindowContext() {
|
||||||
|
+ nsCOMPtr<nsIDragSession> dragSession = nsContentUtils::GetDragSession();
|
||||||
|
+ if (!dragSession) {
|
||||||
|
+ return nullptr;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ RefPtr<WindowContext> sourceWindowContext;
|
||||||
|
+ dragSession->GetSourceWindowContext(getter_AddRefs(sourceWindowContext));
|
||||||
|
+ return sourceWindowContext.forget();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
already_AddRefed<DOMStringList> DataTransfer::MozTypesAt(
|
||||||
|
uint32_t aIndex, CallerType aCallerType, ErrorResult& aRv) const {
|
||||||
|
// Only the first item is valid for clipboard events
|
||||||
|
diff --git a/dom/events/DataTransfer.h b/dom/events/DataTransfer.h
|
||||||
|
index a091f2069f..614b33ed25 100644
|
||||||
|
--- a/dom/events/DataTransfer.h
|
||||||
|
+++ b/dom/events/DataTransfer.h
|
||||||
|
@@ -41,6 +41,7 @@ class FileList;
|
||||||
|
class Promise;
|
||||||
|
template <typename T>
|
||||||
|
class Optional;
|
||||||
|
+class WindowContext;
|
||||||
|
|
||||||
|
#define NS_DATATRANSFER_IID \
|
||||||
|
{ \
|
||||||
|
@@ -261,6 +262,8 @@ class DataTransfer final : public nsISupports, public nsWrapperCache {
|
||||||
|
|
||||||
|
already_AddRefed<nsINode> GetMozSourceNode();
|
||||||
|
|
||||||
|
+ already_AddRefed<WindowContext> GetSourceWindowContext();
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* Integer version of dropEffect, set to one of the constants in
|
||||||
|
* nsIDragService.
|
||||||
|
diff --git a/dom/webidl/DataTransfer.webidl b/dom/webidl/DataTransfer.webidl
|
||||||
|
index 7f7528d9c0..da89243b6f 100644
|
||||||
|
--- a/dom/webidl/DataTransfer.webidl
|
||||||
|
+++ b/dom/webidl/DataTransfer.webidl
|
||||||
|
@@ -159,6 +159,13 @@ partial interface DataTransfer {
|
||||||
|
[UseCounter]
|
||||||
|
readonly attribute Node? mozSourceNode;
|
||||||
|
|
||||||
|
+ /**
|
||||||
|
+ * The window context that mouse was pressed over to begin the drag. For
|
||||||
|
+ * external drags, this will be null.
|
||||||
|
+ */
|
||||||
|
+ [ChromeOnly]
|
||||||
|
+ readonly attribute WindowContext? sourceWindowContext;
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* The URI spec of the triggering principal. This may be different than
|
||||||
|
* sourceNode's principal when sourceNode is xul:browser and the drag is
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
123
backport-CVE-2023-23602.patch
Normal file
123
backport-CVE-2023-23602.patch
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
From 500a65993b8054feec5ff74a57f446722c2564de Mon Sep 17 00:00:00 2001
|
||||||
|
From: s30028044 <sunhai10@huawei.com>
|
||||||
|
Date: Sat, 9 Mar 2024 21:43:47 +0800
|
||||||
|
Subject: [PATCH] CVE-2023-23602
|
||||||
|
|
||||||
|
---
|
||||||
|
dom/websocket/WebSocket.cpp | 37 ++++++++++++++++++++++++-------------
|
||||||
|
1 file changed, 24 insertions(+), 13 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/dom/websocket/WebSocket.cpp b/dom/websocket/WebSocket.cpp
|
||||||
|
index 741f7b4c05..3786788f9e 100644
|
||||||
|
--- a/dom/websocket/WebSocket.cpp
|
||||||
|
+++ b/dom/websocket/WebSocket.cpp
|
||||||
|
@@ -152,7 +152,8 @@ class WebSocketImpl final : public nsIInterfaceRequestor,
|
||||||
|
bool IsTargetThread() const;
|
||||||
|
|
||||||
|
nsresult Init(JSContext* aCx, nsIPrincipal* aLoadingPrincipal,
|
||||||
|
- nsIPrincipal* aPrincipal, bool aIsServerSide,
|
||||||
|
+ nsIPrincipal* aPrincipal, const Maybe<ClientInfo>& aClientInfo,
|
||||||
|
+ nsICSPEventListener* aCSPEventListener, bool aIsServerSide,
|
||||||
|
const nsAString& aURL, nsTArray<nsString>& aProtocolArray,
|
||||||
|
const nsACString& aScriptFile, uint32_t aScriptLine,
|
||||||
|
uint32_t aScriptColumn);
|
||||||
|
@@ -1082,12 +1083,14 @@ class WebSocketMainThreadRunnable : public WorkerMainThreadRunnable {
|
||||||
|
class InitRunnable final : public WebSocketMainThreadRunnable {
|
||||||
|
public:
|
||||||
|
InitRunnable(WorkerPrivate* aWorkerPrivate, WebSocketImpl* aImpl,
|
||||||
|
+ const Maybe<mozilla::dom::ClientInfo>& aClientInfo,
|
||||||
|
bool aIsServerSide, const nsAString& aURL,
|
||||||
|
nsTArray<nsString>& aProtocolArray,
|
||||||
|
const nsACString& aScriptFile, uint32_t aScriptLine,
|
||||||
|
uint32_t aScriptColumn)
|
||||||
|
: WebSocketMainThreadRunnable(aWorkerPrivate, "WebSocket :: init"_ns),
|
||||||
|
mImpl(aImpl),
|
||||||
|
+ mClientInfo(aClientInfo),
|
||||||
|
mIsServerSide(aIsServerSide),
|
||||||
|
mURL(aURL),
|
||||||
|
mProtocolArray(aProtocolArray),
|
||||||
|
@@ -1117,10 +1120,10 @@ class InitRunnable final : public WebSocketMainThreadRunnable {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
- mErrorCode =
|
||||||
|
- mImpl->Init(jsapi.cx(), mWorkerPrivate->GetPrincipal(),
|
||||||
|
- doc->NodePrincipal(), mIsServerSide, mURL, mProtocolArray,
|
||||||
|
- mScriptFile, mScriptLine, mScriptColumn);
|
||||||
|
+ mErrorCode = mImpl->Init(
|
||||||
|
+ jsapi.cx(), mWorkerPrivate->GetPrincipal(), doc->NodePrincipal(),
|
||||||
|
+ mClientInfo, mWorkerPrivate->CSPEventListener(), mIsServerSide, mURL,
|
||||||
|
+ mProtocolArray, mScriptFile, mScriptLine, mScriptColumn);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1130,7 +1133,8 @@ class InitRunnable final : public WebSocketMainThreadRunnable {
|
||||||
|
|
||||||
|
mErrorCode =
|
||||||
|
mImpl->Init(nullptr, mWorkerPrivate->GetPrincipal(),
|
||||||
|
- aTopLevelWorkerPrivate->GetPrincipal(), mIsServerSide, mURL,
|
||||||
|
+ aTopLevelWorkerPrivate->GetPrincipal(), mClientInfo,
|
||||||
|
+ mWorkerPrivate->CSPEventListener(), mIsServerSide, mURL,
|
||||||
|
mProtocolArray, mScriptFile, mScriptLine, mScriptColumn);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
@@ -1138,6 +1142,7 @@ class InitRunnable final : public WebSocketMainThreadRunnable {
|
||||||
|
// Raw pointer. This worker runnable runs synchronously.
|
||||||
|
WebSocketImpl* mImpl;
|
||||||
|
|
||||||
|
+ Maybe<ClientInfo> mClientInfo;
|
||||||
|
bool mIsServerSide;
|
||||||
|
const nsAString& mURL;
|
||||||
|
nsTArray<nsString>& mProtocolArray;
|
||||||
|
@@ -1318,8 +1323,8 @@ already_AddRefed<WebSocket> WebSocket::ConstructorCommon(
|
||||||
|
}
|
||||||
|
|
||||||
|
aRv = webSocketImpl->Init(aGlobal.Context(), loadingPrincipal, principal,
|
||||||
|
- !!aTransportProvider, aUrl, protocolArray, ""_ns,
|
||||||
|
- 0, 0);
|
||||||
|
+ Nothing(), nullptr, !!aTransportProvider, aUrl,
|
||||||
|
+ protocolArray, ""_ns, 0, 0);
|
||||||
|
|
||||||
|
if (NS_WARN_IF(aRv.Failed())) {
|
||||||
|
return nullptr;
|
||||||
|
@@ -1344,8 +1349,9 @@ already_AddRefed<WebSocket> WebSocket::ConstructorCommon(
|
||||||
|
}
|
||||||
|
|
||||||
|
RefPtr<InitRunnable> runnable = new InitRunnable(
|
||||||
|
- workerPrivate, webSocketImpl, !!aTransportProvider, aUrl, protocolArray,
|
||||||
|
- nsDependentCString(file.get()), lineno, column);
|
||||||
|
+ workerPrivate, webSocketImpl,
|
||||||
|
+ workerPrivate->GlobalScope()->GetClientInfo(), !!aTransportProvider,
|
||||||
|
+ aUrl, protocolArray, nsDependentCString(file.get()), lineno, column);
|
||||||
|
runnable->Dispatch(Canceling, aRv);
|
||||||
|
if (NS_WARN_IF(aRv.Failed())) {
|
||||||
|
return nullptr;
|
||||||
|
@@ -1526,8 +1532,10 @@ void WebSocket::DisconnectFromOwner() {
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
nsresult WebSocketImpl::Init(JSContext* aCx, nsIPrincipal* aLoadingPrincipal,
|
||||||
|
- nsIPrincipal* aPrincipal, bool aIsServerSide,
|
||||||
|
- const nsAString& aURL,
|
||||||
|
+ nsIPrincipal* aPrincipal,
|
||||||
|
+ const Maybe<ClientInfo>& aClientInfo,
|
||||||
|
+ nsICSPEventListener* aCSPEventListener,
|
||||||
|
+ bool aIsServerSide, const nsAString& aURL
|
||||||
|
nsTArray<nsString>& aProtocolArray,
|
||||||
|
const nsACString& aScriptFile,
|
||||||
|
uint32_t aScriptLine, uint32_t aScriptColumn) {
|
||||||
|
@@ -1624,8 +1632,11 @@ nsresult WebSocketImpl::Init(JSContext* aCx, nsIPrincipal* aLoadingPrincipal,
|
||||||
|
aPrincipal, // loading principal
|
||||||
|
aPrincipal, // triggering principal
|
||||||
|
originDoc, nsILoadInfo::SEC_ONLY_FOR_EXPLICIT_CONTENTSEC_CHECK,
|
||||||
|
- nsIContentPolicy::TYPE_WEBSOCKET);
|
||||||
|
+ nsIContentPolicy::TYPE_WEBSOCKET, aClientInfo);
|
||||||
|
|
||||||
|
+ if (aCSPEventListener) {
|
||||||
|
+ secCheckLoadInfo->SetCspEventListener(aCSPEventListener);
|
||||||
|
+ }
|
||||||
|
int16_t shouldLoad = nsIContentPolicy::ACCEPT;
|
||||||
|
rv = NS_CheckContentLoadPolicy(uri, secCheckLoadInfo, ""_ns, &shouldLoad,
|
||||||
|
nsContentUtils::GetContentPolicy());
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
1201
backport-CVE-2023-29532.patch
Normal file
1201
backport-CVE-2023-29532.patch
Normal file
File diff suppressed because it is too large
Load Diff
37
copy-headers.patch
Normal file
37
copy-headers.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 3b3c8e37cca418e07bdeceaf3a601805df28d925 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:27:39 +0200
|
||||||
|
Subject: [PATCH] build: Copy headers on install instead of symlinking
|
||||||
|
|
||||||
|
Patch by Philip Chimento ported forward to mozjs78
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/backend/recursivemake.py | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/backend/recursivemake.py b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
index d964466..0285ad9 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/backend/recursivemake.py
|
||||||
|
@@ -1568,9 +1568,9 @@ class RecursiveMakeBackend(MakeBackend):
|
||||||
|
" of srcdir-relative or absolute paths."
|
||||||
|
)
|
||||||
|
|
||||||
|
- install_manifest.add_pattern_link(basepath, wild, dest_dir)
|
||||||
|
+ install_manifest.add_pattern_copy(basepath, wild, dest_dir)
|
||||||
|
else:
|
||||||
|
- install_manifest.add_pattern_link(f.srcdir, f, dest_dir)
|
||||||
|
+ install_manifest.add_pattern_copy(f.srcdir, f, dest_dir)
|
||||||
|
elif isinstance(f, AbsolutePath):
|
||||||
|
if not f.full_path.lower().endswith((".dll", ".pdb", ".so")):
|
||||||
|
raise Exception(
|
||||||
|
@@ -1581,7 +1581,7 @@ class RecursiveMakeBackend(MakeBackend):
|
||||||
|
install_manifest.add_optional_exists(dest_file)
|
||||||
|
absolute_files.append(f.full_path)
|
||||||
|
else:
|
||||||
|
- install_manifest.add_link(f.full_path, dest_file)
|
||||||
|
+ install_manifest.add_copy(f.full_path, dest_file)
|
||||||
|
else:
|
||||||
|
install_manifest.add_optional_exists(dest_file)
|
||||||
|
objdir_files.append(self._pretty_path(f, backend_file))
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
66
emitter.patch
Normal file
66
emitter.patch
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
From d1d785c169345b81c76213f6dd9be32b4db60294 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:39:47 +0200
|
||||||
|
Subject: [PATCH] Build: allow LOCAL_INCLUDES paths with topsrcdir or topobjdir
|
||||||
|
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/frontend/emitter.py | 10 ---------
|
||||||
|
.../mozbuild/test/frontend/test_emitter.py | 22 -------------------
|
||||||
|
2 files changed, 32 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/frontend/emitter.py b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
index 44b916e..f2e821d 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/frontend/emitter.py
|
||||||
|
@@ -1367,16 +1367,6 @@ class TreeMetadataEmitter(LoggingMixin):
|
||||||
|
"(resolved to %s)" % (local_include, full_path),
|
||||||
|
context,
|
||||||
|
)
|
||||||
|
- if (
|
||||||
|
- full_path == context.config.topsrcdir
|
||||||
|
- or full_path == context.config.topobjdir
|
||||||
|
- ):
|
||||||
|
- raise SandboxValidationError(
|
||||||
|
- "Path specified in LOCAL_INCLUDES "
|
||||||
|
- "(%s) resolves to the topsrcdir or topobjdir (%s), which is "
|
||||||
|
- "not allowed" % (local_include, full_path),
|
||||||
|
- context,
|
||||||
|
- )
|
||||||
|
include_obj = LocalInclude(context, local_include)
|
||||||
|
local_includes.append(include_obj.path.full_path)
|
||||||
|
yield include_obj
|
||||||
|
diff --git a/python/mozbuild/mozbuild/test/frontend/test_emitter.py b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
index e53bc5e..c1b9d32 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/test/frontend/test_emitter.py
|
||||||
|
@@ -1098,28 +1098,6 @@ class TestEmitterBasic(unittest.TestCase):
|
||||||
|
|
||||||
|
self.assertEqual(local_includes, expected)
|
||||||
|
|
||||||
|
- def test_local_includes_invalid(self):
|
||||||
|
- """Test that invalid LOCAL_INCLUDES are properly detected."""
|
||||||
|
- reader = self.reader("local_includes-invalid/srcdir")
|
||||||
|
-
|
||||||
|
- with six.assertRaisesRegex(
|
||||||
|
- self,
|
||||||
|
- SandboxValidationError,
|
||||||
|
- "Path specified in LOCAL_INCLUDES.*resolves to the "
|
||||||
|
- "topsrcdir or topobjdir",
|
||||||
|
- ):
|
||||||
|
- self.read_topsrcdir(reader)
|
||||||
|
-
|
||||||
|
- reader = self.reader("local_includes-invalid/objdir")
|
||||||
|
-
|
||||||
|
- with six.assertRaisesRegex(
|
||||||
|
- self,
|
||||||
|
- SandboxValidationError,
|
||||||
|
- "Path specified in LOCAL_INCLUDES.*resolves to the "
|
||||||
|
- "topsrcdir or topobjdir",
|
||||||
|
- ):
|
||||||
|
- self.read_topsrcdir(reader)
|
||||||
|
-
|
||||||
|
def test_local_includes_file(self):
|
||||||
|
"""Test that a filename can't be used in LOCAL_INCLUDES."""
|
||||||
|
reader = self.reader("local_includes-filename")
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
BIN
firefox-91.6.0esr.source.tar.xz
Normal file
BIN
firefox-91.6.0esr.source.tar.xz
Normal file
Binary file not shown.
16
firefox-91.6.0esr.source.tar.xz.asc
Normal file
16
firefox-91.6.0esr.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmH4k+gACgkQ6+QekPbx
|
||||||
|
L23bSQ/9EYSTKO95hdkmGf5upqVYLx1+Pwa1eoUSOgfEBzPJ6GGti1fO+H3lTlMQ
|
||||||
|
UCFkREUZ3A+JPthMUCC2Rebb0LyFj+5JqV52Tu+xzf7lxfiJqhZ1Jog4IaSHBc4v
|
||||||
|
rDU10Ir+i55ILquJy09ZbtRh2nyDOo3Vl+DLvQTxHo2ipSaYxZTccXLE46QBp7Om
|
||||||
|
eFbbvLUhQ9TwG0br9dHNPw6WeJYdjvZXzsh/yO4VO2BLyoakwuPY1P28/CPDBGBX
|
||||||
|
Lj6tu2oRvx6XYXGIuYTIMGKfNUgzPC25eI88QXOzDB81jHqtifB0hmfKFS18axS/
|
||||||
|
Nq3BZMNPnht7GhmnzopsAif2//SGQsZQZsUY2tDYaG+7fLrH49/+vaMNh5/cHQ+7
|
||||||
|
fC/PJlEWF/Y3ky6x8gwx4mISPU5QoLaoOFMaCPex6F1Ebnh06x+E293TbIh6LVVz
|
||||||
|
qi0ZOZkJnnyUYTNeOVP8qGJrFBkbuSsv6JKobheW3HlQlmvg1yf1elF6KhaRoAfR
|
||||||
|
y85kSh9oAO2k49zHZmq5bO0/4SnYN/0CFcer6UNlzsiOVKAG/T2b1haIgBjTkRSh
|
||||||
|
jLRZjzCC76WcutZAh3cwjoHRd5R+Q5f8myuUMnQlOw4QnZZnJSA8dF6f5od5d2Cx
|
||||||
|
J9ox7YI3/VFAu5/Qqg1i/YOitH9bYuAAYRWbR7YyUoJbXGG4KXw=
|
||||||
|
=UKXR
|
||||||
|
-----END PGP SIGNATURE-----
|
||||||
26
fix-soname.patch
Normal file
26
fix-soname.patch
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
From d21c7cb9343d8c495d987e71be0f35887574c820 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:21:47 +0200
|
||||||
|
Subject: [PATCH] Add soname switch to linker, regardless of Operating System
|
||||||
|
|
||||||
|
Fix backported from Debian: http://bugs.debian.org/746705
|
||||||
|
---
|
||||||
|
config/rules.mk | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/config/rules.mk b/config/rules.mk
|
||||||
|
index 3965c88..3f92f83 100644
|
||||||
|
--- a/config/rules.mk
|
||||||
|
+++ b/config/rules.mk
|
||||||
|
@@ -320,6 +320,8 @@ ifeq ($(OS_ARCH),GNU)
|
||||||
|
OS_CPPFLAGS += -DPATH_MAX=1024 -DMAXPATHLEN=1024
|
||||||
|
endif
|
||||||
|
|
||||||
|
+EXTRA_DSO_LDOPTS += -Wl,-soname,lib$(JS_LIBRARY_NAME).so.0
|
||||||
|
+
|
||||||
|
#
|
||||||
|
# MINGW32
|
||||||
|
#
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
|
|
||||||
44
icu_sources_data-Write-command-output-to-our-stderr.patch
Normal file
44
icu_sources_data-Write-command-output-to-our-stderr.patch
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
From: Simon McVittie <smcv@debian.org>
|
||||||
|
Date: Mon, 9 Oct 2017 09:23:14 +0100
|
||||||
|
Subject: icu_sources_data: Write command output to our stderr
|
||||||
|
|
||||||
|
Saying "See output in /tmp/foobar" is all very well for a developer
|
||||||
|
build, but on a buildd our /tmp is going to get thrown away after
|
||||||
|
the build. Just log the usual way instead.
|
||||||
|
---
|
||||||
|
intl/icu_sources_data.py | 16 ++++------------
|
||||||
|
1 file changed, 4 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||||
|
index 4db52af..d62960d 100644
|
||||||
|
--- a/intl/icu_sources_data.py
|
||||||
|
+++ b/intl/icu_sources_data.py
|
||||||
|
@@ -188,21 +188,13 @@ def update_sources(topsrcdir):
|
||||||
|
|
||||||
|
def try_run(name, command, cwd=None, **kwargs):
|
||||||
|
try:
|
||||||
|
- with tempfile.NamedTemporaryFile(prefix=name, delete=False) as f:
|
||||||
|
- subprocess.check_call(
|
||||||
|
- command, cwd=cwd, stdout=f, stderr=subprocess.STDOUT, **kwargs
|
||||||
|
- )
|
||||||
|
- except subprocess.CalledProcessError:
|
||||||
|
- print(
|
||||||
|
- """Error running "{}" in directory {}
|
||||||
|
- See output in {}""".format(
|
||||||
|
- " ".join(command), cwd, f.name
|
||||||
|
- ),
|
||||||
|
- file=sys.stderr,
|
||||||
|
+ subprocess.check_call(
|
||||||
|
+ command, cwd=cwd, stdout=sys.stderr, stderr=subprocess.STDOUT, **kwargs
|
||||||
|
)
|
||||||
|
+ except subprocess.CalledProcessError:
|
||||||
|
+ print('''Error running "{}" in directory {}'''.format(' '.join(command), cwd), file=sys.stderr)
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
- os.unlink(f.name)
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
28
icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
Normal file
28
icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From: Simon McVittie <smcv@debian.org>
|
||||||
|
Date: Mon, 9 Oct 2017 09:22:12 +0100
|
||||||
|
Subject: icu_sources_data.py: Decouple from Mozilla build system
|
||||||
|
|
||||||
|
mozpack.path is a wrapper around os.path that normalizes path
|
||||||
|
separators on Windows, but on Unix we only have one path separator
|
||||||
|
so there's nothing to normalize. Avoid needing to import all of it.
|
||||||
|
---
|
||||||
|
intl/icu_sources_data.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/intl/icu_sources_data.py b/intl/icu_sources_data.py
|
||||||
|
index 2936df9..4db52af 100644
|
||||||
|
--- a/intl/icu_sources_data.py
|
||||||
|
+++ b/intl/icu_sources_data.py
|
||||||
|
@@ -21,7 +21,9 @@ import subprocess
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
|
||||||
|
-from mozpack import path as mozpath
|
||||||
|
+# Close enough
|
||||||
|
+import os.path as mozpath
|
||||||
|
+mozpath.normsep = lambda p: p
|
||||||
|
|
||||||
|
# The following files have been determined to be dead/unused by a
|
||||||
|
# semi-automated analysis. You can just remove any of the files below
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
28
init_patch.patch
Normal file
28
init_patch.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From 00414eb67ab0591911167155963b5524fbf2b0c0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 14:38:58 +0200
|
||||||
|
Subject: [PATCH] Don't throw InvalidOptionError on invalid options
|
||||||
|
|
||||||
|
---
|
||||||
|
python/mozbuild/mozbuild/configure/__init__.py | 5 +----
|
||||||
|
1 file changed, 1 insertion(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/python/mozbuild/mozbuild/configure/__init__.py b/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
index f3167f6..c9e1132 100644
|
||||||
|
--- a/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
+++ b/python/mozbuild/mozbuild/configure/__init__.py
|
||||||
|
@@ -553,10 +553,7 @@ class ConfigureSandbox(dict):
|
||||||
|
for arg in self._helper:
|
||||||
|
without_value = arg.split("=", 1)[0]
|
||||||
|
msg = "Unknown option: %s" % without_value
|
||||||
|
- if self._help:
|
||||||
|
- self._logger.warning(msg)
|
||||||
|
- else:
|
||||||
|
- raise InvalidOptionError(msg)
|
||||||
|
+ self._logger.warning(msg)
|
||||||
|
|
||||||
|
# Run the execution queue
|
||||||
|
for func, args in self._execution_queue:
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
||||||
12
known_failures.txt
Normal file
12
known_failures.txt
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
non262/Intl/available-locales-resolved.js
|
||||||
|
non262/Intl/available-locales-supported.js
|
||||||
|
non262/Intl/DateTimeFormat/fractional-second-digits-append-item.js
|
||||||
|
non262/Intl/DateTimeFormat/tz-environment-variable.js
|
||||||
|
non262/Intl/DateTimeFormat/day-period-hour-cycle.js
|
||||||
|
non262/Intl/DateTimeFormat/timeZone_version.js
|
||||||
|
non262/Date/toString-localized.js
|
||||||
|
non262/Date/reset-time-zone-cache-same-offset.js
|
||||||
|
non262/Date/time-zones-imported.js
|
||||||
|
non262/Date/time-zones-historic.js
|
||||||
|
non262/Date/toString-localized-posix.js
|
||||||
|
non262/Date/time-zone-path.js
|
||||||
369
mozilla.keyring
Normal file
369
mozilla.keyring
Normal file
@ -0,0 +1,369 @@
|
|||||||
|
This file contains the PGP keys of various developers that work on
|
||||||
|
Mozilla and its subprojects (such as Firefox and Thunderbird).
|
||||||
|
|
||||||
|
Please realize that this file itself or the public key servers may be
|
||||||
|
compromised. You are encouraged to validate the authenticity of these keys in
|
||||||
|
an out-of-band manner.
|
||||||
|
|
||||||
|
Mozilla users: pgp < KEY
|
||||||
|
|
||||||
|
pub rsa4096 2015-07-17 [SC]
|
||||||
|
14F26682D0916CDD81E37B6D61B7B526D98F0353
|
||||||
|
uid [ full ] Mozilla Software Releases <release@mozilla.com>
|
||||||
|
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
|
||||||
|
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
|
||||||
|
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
|
||||||
|
sub rsa4096 2021-05-17 [S] [expires: 2023-05-17]
|
||||||
|
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQINBFWpQAQBEAC+9wVlwGLy8ILCybLesuB3KkHHK+Yt1F1PJaI30X448ttGzxCz
|
||||||
|
PQpH6BoA73uzcTReVjfCFGvM4ij6qVV2SNaTxmNBrL1uVeEUsCuGduDUQMQYRGxR
|
||||||
|
tWq5rCH48LnltKPamPiEBzrgFL3i5bYEUHO7M0lATEknG7Iaz697K/ssHREZfuuc
|
||||||
|
B4GNxXMgswZ7GTZO3VBDVEw5GwU3sUvww93TwMC29lIPCux445AxZPKr5sOVEsEn
|
||||||
|
dUB2oDMsSAoS/dZcl8F4otqfR1pXg618cU06omvq5yguWLDRV327BLmezYK0prD3
|
||||||
|
P+7qwEp8MTVmxlbkrClS5j5pR47FrJGdyupNKqLzK+7hok5kBxhsdMsdTZLd4tVR
|
||||||
|
jXf04isVO3iFFf/GKuwscOi1+ZYeB3l3sAqgFUWnjbpbHxfslTmo7BgvmjZvAH5Z
|
||||||
|
asaewF3wA06biCDJdcSkC9GmFPmN5DS5/Dkjwfj8+dZAttuSKfmQQnypUPaJ2sBu
|
||||||
|
blnJ6INpvYgsEZjV6CFG1EiDJDPu2Zxap8ep0iRMbBBZnpfZTn7SKAcurDJptxin
|
||||||
|
CRclTcdOdi1iSZ35LZW0R2FKNnGL33u1IhxU9HRLw3XuljXCOZ84RLn6M+PBc1eZ
|
||||||
|
suv1TA+Mn111yD3uDv/u/edZ/xeJccF6bYcMvUgRRZh0sgZ0ZT4b0Q6YcQARAQAB
|
||||||
|
tC9Nb3ppbGxhIFNvZnR3YXJlIFJlbGVhc2VzIDxyZWxlYXNlQG1vemlsbGEuY29t
|
||||||
|
PokCOAQTAQIAIgUCValABAIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQ
|
||||||
|
Ybe1JtmPA1NQqg//Rr6/V7uLqrIwx0UFknyNJasRJZhUkYxdGsLD18zO0Na8Ve3Q
|
||||||
|
sYpOC3ojpqaFUzpqm6KNv8eXfd/Ku7j3WGr9kPkbjZNghvy6V5Lva4JkxO6LMxKk
|
||||||
|
JYqiqF2o1Gfda8NfcK08GFy4C0L8zNwlADvmdMo4382tmHNGbTTft7BeVaRrE9xW
|
||||||
|
9eGmGQ2jYOsjxb5MsadAdZUuK8IC95ZHlUDR3gH9KqhfbQWp5Bo924Kiv+f2JUzN
|
||||||
|
rrG98eOm1Qb8F9rePzZ2DOYRJyOe4p8Gpl+kojCXNntkJgcwJ1a1yRE6wy9RzpeB
|
||||||
|
lCeoQuLS92MNne+deQZUskTZFoYXUadf6vbdfqL0nuPCKdl9lhef1QNwE30IRymt
|
||||||
|
6fhJCFffFQjGdeMfSiCHgcI8ichQbrzhBCGGR3bAHan9c2EbQ+puqG3Aa0YjX6Db
|
||||||
|
GJjWOI6A61bqSPepLCMVaXqV2mZEIaZWdZkOHjnRrU6CJdXG/+D4m1YBZwYM60eJ
|
||||||
|
kNu4eMMwMFnRsHiWf7bhqKptwuk8HyIGp2o4j8iqrFRVJEbK/ctdhA3H1AlKug9f
|
||||||
|
NrfwCfqhNCSBju97V03U26j04JMn9nrZ2UEGbpty+8ONTb38WX5/oC61BgwV8Ki4
|
||||||
|
6Lwyb7fImUzz8jE83pjh7s3+NCKvvbH+VfT12f+V/fsphN3EwGwJPTC3fX2IRgQQ
|
||||||
|
EQIABgUCVaz/SwAKCRB2JUA9fw0VsVNkAKDjhUW5GyFNcyj9ot48v+lSh5GBIACf
|
||||||
|
Ten/Rpo5tf77Uq7445cVs80EK5CIRgQQEQIABgUCVa064wAKCRDDTldH4j3WdwW5
|
||||||
|
AKCVDRxKjb/XYqGhjBCKYhbQ4xJuOACfVIpzE3wGLC/cm9eUnSVnv+elQnKIXgQQ
|
||||||
|
EQgABgUCVgZXYwAKCRACWrAQaxfqHqzWAP9dzEHoZNwH5JYxotudv3FOotVThaQr
|
||||||
|
jnk+5StnObpxnAD9FmYyAyYGh4o7axeDCgmW1J89+1cZtDnFPKnBpGFMB4uIXgQQ
|
||||||
|
EQoABgUCVa0s/gAKCRDwqefc055FLpQGAP99Z2ISKW+7FYoKJ3vDrxTtfcbZEff7
|
||||||
|
8ufoinmAlZb2bQD/a2fOcprjWDal9Orfq7g6htkX3VISemg+SDQ/ig+b3uyJARwE
|
||||||
|
EAECAAYFAlWs/X4ACgkQs8WpWFCKQ/JrjAf7B+fGzEs8xfc010a6KZXcO1W4/Va0
|
||||||
|
Q+zcqF+DpQwK7b3S6oD5tCVKD9oFyDXkrlT6Tnwuu+slZwRDIyH6hI6tPb3G8Gsk
|
||||||
|
vjXMeL0IdgZsw1DSxN0pZ0Z9mxFq/UkC/6TmFA1IJmOWtFCH/1irQWqbDxPmWp+d
|
||||||
|
Xs2EhH8QzX1KQOE9v/YlsCdmTstMiHy3R8r7prsonpCa36zGheC/UNDpycKdT8JL
|
||||||
|
zeCFcIWXmA7SCTeJ0XCSuS68FOwfe7nn9oagQZZe/6gh5ecuCoW9HLBWpyIPqUCz
|
||||||
|
1CXSImLc6BbZYMpAetacarVPa6hiltNicxFE/A3T1F8ZjAcugPKBngUR/4kBHAQQ
|
||||||
|
AQIABgUCVa0XXAAKCRBlc4Lb/yURCkCYB/95w/9/0rpi+5xtoO2NR0KlqYVG5+NF
|
||||||
|
1r42XB6t7gVJ9UGF3meV+ekgDSzNrfroqxpzWmV1t3MRJeSMmVS25nC1hAZVQHKd
|
||||||
|
gX9xVxW3SSufX/jPstvo2U/X3k8q8PhLS6Ihk8YJC3ScjMiNMRpkITMeVdXsdQsY
|
||||||
|
WStiT48wlWK4gSNMCG5iovdGDTEKErHTIWJl/Wx5el1kvUwg1rKo9uRS2CS/lnlV
|
||||||
|
6YztDY0cBBOqXP6pXXiWBuVW39LJxsSHq13vpeQ/GHeDxAJ6Y+fPuaV3qBmGZ91o
|
||||||
|
1/HkxTABFPkISylkPo/2PCoo4Hu31MZ0jQWdihJ7gzf+B7/w6whS79eAiQEcBBAB
|
||||||
|
AgAGBQJVrWVaAAoJEOQyfGw+ApnAc7AH/0TKg3VR4IEB3NP2C7dX/72PWO0EOh8J
|
||||||
|
w67XDccRK0lXDILg/CujsYq9EzEofv2LmQFvCuCkoBFEcGas+J2vP3jsY/G5bjZp
|
||||||
|
XALHkAx7MKlOgsgfeVqMtwaHIoR+y9Hg12TjM7Gt970UBwTIqC8SG6Z1bVWxUdc+
|
||||||
|
7Zsn43Dq8z99saOUKD6HMyl9upbjAYwL28NRQtIrNiDZ5lEmDOLh+4hWblxjxWMX
|
||||||
|
AKjg6sucrNzKD2uKGe9XdB6IkYpdfrNGPtgcnXWdfaRNk16eGVzWDVI/9mkY/G+L
|
||||||
|
E40eK6oRyMf736CvlQjcv7JBVGTsj3W28phNLLU0UidYK/QmS3AVmBeJARwEEAEC
|
||||||
|
AAYFAlXBWXAACgkQiRc/lXxV+V6gKQf/d/KfgiYg0Z4dqO3g1p40sgLuxVplhpDk
|
||||||
|
J4yP5K2isdb6I7GJykVw+po6tUCfB7KeLWiZy0I3KJDU1Ikk+Jv3uGSRMT1riSpM
|
||||||
|
Ja2pVhh+jaamHIFj2o0mG9HmEAuGKktJH8s6Jax3SiPGODRhFO8suc7B8FpB7f5q
|
||||||
|
TUDK2J18MlnSK3NN1/zl6OdXScrISQ0cNyJ0RMgW5RSXC7wKzR89tfcDK1wInD8r
|
||||||
|
cOMHz6Va5g8ehq2XCPKvBAlgo8El17+4UaRLhS0suVz4THPsGASYzZVKIhQQBf+8
|
||||||
|
xDXd6zJ/UgkC4iBWHtLm5jvm6Xhsu04s28TmgiH4FKLsstAUFzbiQYkBHAQQAQIA
|
||||||
|
BgUCVdIa6gAKCRCtfLmfgki6D8xCB/9Q+rCTDQCbWQkRoSV77+kmIb+KVFTcgxfR
|
||||||
|
Z1L0bKL5YqI6HuCJLgU1ioTxq8W4g+SDv4s69/LIajYYZvSRNv0kGRzm2D4vpcnw
|
||||||
|
ymyYCJkzcZkuBeyR50S69+1cStbFb7jZMpyZ6rwnKdYOccDSMdaynJGt4rqiY+ra
|
||||||
|
DPF0H4LExx9a1JFh21Fd0MDc15vsoRZtrOkM8QaKD85hZ/AGOwlw+Kb3DEfjNGcv
|
||||||
|
nuNp54HfJc0Z5kwVYoOKUatBgjLpRRvl43lUGRaaCCMaNpNZXM20ZhrbTjXRlko8
|
||||||
|
QVMUXqE20sDNwv+dDa6G8nBkIGNIHeixrVrVPP7hH5JRMtjZbsWFiQEcBBABCAAG
|
||||||
|
BQJVrQFGAAoJEFbucY3ODhVLNDgH/izNHcsr1BRnV3yQ6T9sTJJ187BwF1hRLR+Y
|
||||||
|
3op+fJr+nQ9301XAqLqNbzEB91hRUi2Gb8LTZxxq0gahWzSqmdAE0ObXGGlrEmfj
|
||||||
|
FSSTFyQ1xRvzooYNZzTjN91XX1dERjyj9SOHBETsZrN01BZB1t3EgoDM7PCNTsX0
|
||||||
|
qC65unWvBDftnLdiJ6s3UC9sorMk8q3Zl6DacFw8QKSmJL1R0OPvXiSOZtGQK9Jg
|
||||||
|
YyHiXQE3MOP5SFSk61e1IawocYn32CXM+EkgtXK5q/thc8OdwsgLAJmGpVB3qd2K
|
||||||
|
9OaEOKCUV/V91a2P8hCx8MMV2sQgHcMB221wDIWbD5PTHNtCegaJARwEEAEIAAYF
|
||||||
|
AlWtIrEACgkQo9ZSFzt2Po+mXgf/dUPf6q+aDFoDjLIsfJH5QS8Nn/7frUUdElg8
|
||||||
|
PdGxtZ6SQep6uR5fgc+PwOElhUxa665WYtRJ459RWAYmbh2kkP/paGBf9nW0A2wS
|
||||||
|
koXyJNydJcanyjwHyqKUbBLsXJAvGFtbYRsbeXkEPM5CaKgRUwc8Ilzo9/53CZF/
|
||||||
|
avZK4FJX00lZq0/Z8dIY8jUEF64IbJgbaUe1gkuxu7zURgjVKK4bb4lLy/s3tRe0
|
||||||
|
00hrKVbFcaNoIZs+Vk/3A/TFdYHFY6I2JpLIeSSJd/Ywh6/YZfGkSHfzn87Dfkyr
|
||||||
|
gXKQMQ5JvQQgKbO6GPBZSygxWU7R2tNNAJKHSh0/PJ8J7yrqj4kBHAQQAQgABgUC
|
||||||
|
Va05AwAKCRD20Pdh3MzspCvWB/9DAEaNx5WF3ktmw6jP5cCv60HDwgsmJHusGyAo
|
||||||
|
53Gwjo4Fx6hv5QYQpTbO4af+4KpFGkex+bZniOJWpT+NJkhx55xbzA903MoZ9+dI
|
||||||
|
oCtG4K41kA2mMYSpR097yF3fwtuP70UgMZqiCmz/iKFzsrdhjE0KvBjptnYGEWk5
|
||||||
|
MMh5xlpzGom3LV/A+KAmEdPw+GCaj5H6qG3/PtWXz+RmjG0sRPycHaNJCWuLz4xM
|
||||||
|
xV28oAG53Gqc3cDes4Hpds4fPOa8+we7yKTK/2O3lfOUOvKncsoS3vHC/GNfGD86
|
||||||
|
RX/vz2TW4GMaLmn75xcAYT0MINIFBf/tXjN1BNrmvrGkkxnbiQEcBBABCgAGBQJV
|
||||||
|
rQlbAAoJEDNC4bZno4hjKL8H/An2CRzW8IsEjFKD+J+xa5hJYQbcb5W5wjGSs9PL
|
||||||
|
/pRbH0t8FNS1DevRqoq3xdL5EEUpUgae54gix0An0qKhzC4MRdD9sYFy42mDP7f6
|
||||||
|
8Vw2sCZltfBtOHaha7Qj2U28DE9j7Dx04lkHWjdHudJV5PVaPpelW8EDIOMx+4nG
|
||||||
|
WnXiYEKKMRWpR2BVV1FXnsfbfP2HWpxVaxxWt7WqOmswU0lJCb2bSLteEn8YoA1i
|
||||||
|
CMLMdMaVXyX92v8Quh2N0NWtzXgc94ug8GiucGKoo2SpdFlXVCysqlPfKBestJlL
|
||||||
|
93dqP6dOwqoHqOscTJB6rvNzi2tmtAu7WDy4C+BBXNhbYpGJAhwEEAECAAYFAlWs
|
||||||
|
+ygACgkQljt4MQo3sXysaw/+J6Ztawe/qT5aLW6it+zLq+3oD21UgM1TVP81CjwL
|
||||||
|
hlHj9wuuGDe+xE8dZA7kvpngKjAxxXPQX/B4rz27Y+kHCvelOSrLW5kodTsPWIkL
|
||||||
|
cSYMRo4Pws0RIGQBXI8tDIaJJcj7BYb9O7OjCziTEjP5KxDeZ6o4n0NFnZk5NNhS
|
||||||
|
6B1VnC3Y34DIj4koxm1N5O5br4z8kTc5PN9bMxOZn2u+KxGIeEwZJbHvtrgeAxUP
|
||||||
|
96B2dUo+jgSuro5jSkIyD+wpfo5o6+/kCtDiXEWo//AHJAwOal02QAodUtrMggwz
|
||||||
|
J19FfnU8RgiKFjivrbfZi6ITM6RHg+DSF+KnaW2wkc3mGTB0qJsgSLGwOgfv37Qx
|
||||||
|
O1tTdPxbSfWnZJAspylC74dgh+XOYYDji9tjPtrKZ8sEaHiUVFlO4QTOTlB9yYwO
|
||||||
|
E7uI/3MKe3Q+0M2a85gvX+S0CdznpXo71aMFj0Hd/7ZMuKNausJZhagHAILbve1M
|
||||||
|
IATkkfbCTxg5bdYgvdVGAIgUEAAO8mvLl1EvOJgkME5a/I/mK6MLxByuCMaT0RMr
|
||||||
|
U9S881f+AJuJ3Qxbbo8vN0Iy9KmiCIptcSMKBKLHeMonYaXM8O392/XUKbgSBXkL
|
||||||
|
oTOybMT+LZhO0upOhpRJqmtyDT1Wjxp7FBku/sUjJXCVy7YpjwkkLxZmvWIhleb7
|
||||||
|
S8uJAhwEEAECAAYFAlWs/LgACgkQEstOl+B+Z9HYNA//UKMSIfS0bdY6K+zhxuMS
|
||||||
|
lIyol8Z/ynkDZSZ8SOeXZViLyRCRoXhY2g6JsygWLsZpthI8fnleQhwy1GLCxWMF
|
||||||
|
n/PiRjj++VHoJYK/ANP23bC+tyl+jT9gwoPF0eGdWnnot1jGO6f6jFqam0KAL/XN
|
||||||
|
6ePUrNo0jbrYVrEUer20PYsM3tqGlGgOOFikMoYWwsAVOEh2I5Sgi6iAYfx12RYW
|
||||||
|
eKw37loDwSr2FNZ5zjxdIyUQnKN1YMd0/Rfi2d86OVD7dV2qa94TFUvYmicpdcOM
|
||||||
|
9pogKVGmbhz7lirjuAidRhdZkuU+rxvIAd07Oc3bQRdsUCJAs/kjO71v9ov/NqKu
|
||||||
|
j/BLixxIa0D0eKE41yL13RCfZIG46nI/F5PvLXhDp7sIeohIWsvYv239A9yXfq6B
|
||||||
|
TeXZ1j8YTlY86yN38JStf8pbGWKlGARM7e1o9DHYY3irLCOWCAnKmF14wbbTMOAe
|
||||||
|
w2VzxV8895Bweeo2fyCOGFI6SzvOSaOQPUlfmiKmtJrwreg71Vsv64X8X6FHajZY
|
||||||
|
V9dYJFS2gO8cYJ/zajzn/oeYVTtpsFpJmq7fWByjGd7pAnZHuuSEy/57GEptmYRu
|
||||||
|
zmI2gn7vYz1rZAbLThFsk/auCU3VYke8Dd3jHnxBuq2+Pa8TmLxibvnE1ZKd0gqZ
|
||||||
|
dMNY/rT4+LZI+xDczzF3Z7mJAhwEEAECAAYFAlWtLOIACgkQirEyljoGU3rjMhAA
|
||||||
|
ijskigHf8Q3D3B4Oz673cLNOGfAyEdHWNqlJW0Vcdo05iF8q8utwqmziRWw4PbpO
|
||||||
|
cdPpUqLb61rWfjSkq4PVTOr8leHHNj/a4aiAYt8DtnpcwJqTmktiijo0Ptn0v8ao
|
||||||
|
fdRJSVLtPcV0FydLzK6oLovszdWAQ4iVdFjppvdDJtjT4ooXFmZgZg6KzqjEGm8G
|
||||||
|
4wS4tMlFR4AJZIpWN5gAeLZhCg3jfuKWEgAIVwJZfVPp8qFTIMDCbHGcmszqeDKj
|
||||||
|
G5hY8q+KeQBs7/jjibY7QjSk+qFvWPlES2NGCnjrD5NL+T5W0AlQZS3kgbDWbnSm
|
||||||
|
r/xr6OzL8+bi03J3gRW/oWmCIlzvxUJuLgR5M3TRS4GqYfNVs4etgIW7QZXwTo/5
|
||||||
|
W8zd5P8UcKOuEFPtmfRjoRZYY30TqrmO9BQkHLKcDbqgnWcm55HaRdkK6+j4tKik
|
||||||
|
f12/VXez1tP4CkHcMJWE4g3poANtZmHia2MPO9/+1P/pCxUb5jwBF+CDiDhDel1Y
|
||||||
|
8b7u/ERIugpl8TqGJx+GkUlw0cotZ7BoweNwLXwDDDQlIoA4BT+LFLGQBtUQKMQY
|
||||||
|
TrDv4PUucMfB96yiEwlw40IdkmHgcBxXFNNxDHMsxEIW2TYoITfmkShiIm7XkcSE
|
||||||
|
oilPpHFmh6JXpnqOsBhfO0FxKSWkNjsCKCMUGLww5kKJAhwEEAEIAAYFAlWs//EA
|
||||||
|
CgkQP/MbrxBL+eLdOg//Z9Tcp9kElDdZl3e6aJqGpGviNqIA20KbvYrham5Kn3B9
|
||||||
|
1LhvMkypT6fZWAwbNCBHxvOSbOolcSSLpbaHK3A5jsg5MhLJ2G3Xpf7Z91+Mqg/H
|
||||||
|
iOiJkaAhPoJ0Ny6BCB7jg3yaKLDP4wBwDbOH7JWuP7uQmQ12mqu6WFxok7e53bH5
|
||||||
|
i4gmu3QIO21RXyWoLJy/1Y5X3ljPZ1tNawy/Sz8UjeLau2Sl1mQ6JxWWCeLp7Cvw
|
||||||
|
p+j6nKOFm/hVDlgnFrfIp9aYHjR2fVpwIFxvfff94gm20EywerlcGOAMeT+1QKZy
|
||||||
|
1V1ekBVX+2zdQ8RPJGZPqXyxnLg9SyUhdLJBPNDNe5ALfolfn2pvBGM3hnRunGOs
|
||||||
|
PrK53WjGqvXXYhyIkJEd+UoyQBp6zUY/KKFK/7yjgZxX7sCSwNjDlFT2fB1gfll1
|
||||||
|
vKoYocPQl2t/B3beKOZJzBkSMk1hBdE0A7URkOoYrFQTdzsSUVwY+/0IAhvxqGKc
|
||||||
|
HhinLDFON6ee082511VVMrSbCxcnsThjc61CMYA1TxL01Jzb3QIoTWT3W1t2HRZD
|
||||||
|
/aXcDsg6UMHm1xC1MdZKeKpdJWrnnseC9b/tGuqw2EHitYDquVBmPkx0UoAdsbB5
|
||||||
|
ec3q8n4J45VJFJcSrrps/vRSNn0bUqcZlpZSZERdqBTBkbizxgFnvJx734JLhlaJ
|
||||||
|
AhwEEAEIAAYFAlWtG6MACgkQlWNH9vvzpBVikRAAmfUzps72Opq31lRHZXXGD4/H
|
||||||
|
FP9SyYRnWzaOWGDMfgO9p3IcRl3qRwOuThCvn+qxTHmRT8KUD8uko9zIU+ttx/zx
|
||||||
|
An3hvO1nCzsiW33N4vU+Y78Uvs7Rumm2CNif+dKDL41FnVpA191b3T3NGWfigvqB
|
||||||
|
78fWv/WJIuPJuAhCoJYFbK0Vv2/QF2UAo9O2wdBo0ELZKmP5tWfJuLbc8XzuzgaP
|
||||||
|
4xzRdgJ+P+IFA4q1zQ49FHQeRWBSWkxFAp3iI9sdH5Na+Lup2vLSDYYmdDOyII5w
|
||||||
|
5QQ+Y8M78Bvt5GBOk52KfTH3oNjDwtd7ae46yWrSy7razs75klSxi125IfcPr/r8
|
||||||
|
e6jt08WVDZRak5mLPryNlf/Y+ymFe07aIp3eiKO1/SJp2K73fCTslXDt/OuzKZSp
|
||||||
|
656hybxUrRPiXBxHMOWkcPllZqBXf6GxnN+Fdyutk/e+0EBjpK02AxHY3igA3411
|
||||||
|
2ZGTGXNCL8ywTidVweOfjyqiWAnCSUvF6+efjRgg2mlD1g6ZDRiKpl9p/ZGETjCh
|
||||||
|
urlpGSKhtCZWZIGt0x0iSLy4surqDrwwuBqEPSZ08KRr+q9R8HIPuAwjq2CjqDyj
|
||||||
|
DFNuLx8dhbUUVIAl7a9nJotsph5VK7c/BF0uLW5YnPJYsXG7z1KixL2ydoH1kL41
|
||||||
|
zXdcIWBP8H7yPVgUxCKJAhwEEAEIAAYFAlWtG98ACgkQvBcwG0kbPyEIVxAA4imw
|
||||||
|
p7Df/j5ZZcZ+kkBwAhFO+WnJMfkNNl4g/7vsFKbWFBpiYuGmlvX+poM3nTsWCuEv
|
||||||
|
v3QohbZHGJS/hY2kdAuxurTI6w4FvvJ0Akz1DUANIF9gfJ9Omu2Znb9xG1fzyCSc
|
||||||
|
EzUgaf3aim7zyp0arjjqR/msmd2sCjqvy5VgRK21tYAfhWmzdJQntIlCEExfTh9x
|
||||||
|
guELDLSK3j7ngZla1T3BwE1dlcPVD6l9bl/7ZV5uXmotOqFU+1dBcFG4NKNXmnG5
|
||||||
|
TV7x3Ih6Xt982SCpBgVsEow1XFPf0jflPBn6DGJsgpmuIjdymgpJacwZCYkGbTSj
|
||||||
|
wAeSibYvCw1MRYtrCXd7KlmmQxhYTvvzyoQSqaiIQM8daaXddcy4IdHoOoEJVzfA
|
||||||
|
/BCyEkb0KhhjTWXQoRBXcxhJYOUjH5nhHd+zml+MHHiy1dL+xANHaBzFaNHpxYUs
|
||||||
|
FN2MLcMW4rpCnOx/8pRu/o757Y2Ps+ypLUbGPxZJJa26zYXXTAUDDEgEFFM9Rifu
|
||||||
|
jVCps146sRbrodzgIajc4ScgAWVkHDTKYfq6IBLJZHp8KB1fYFkVrUtwjMmyZCpG
|
||||||
|
7FqWITGTWOoRbYAsInWuzT7PN+vb/sk0xOk1PzSJV1CmCH9izKrTqRAU42jd4yqV
|
||||||
|
IuQ3hN8wXoeolSlK3wl27fDtK2EDzVhklvjGdreJAhwEEAEIAAYFAlbwOBsACgkQ
|
||||||
|
RPRuFG0COV30vQ//Vzyu44NJZrDWdrAyMngMOZ+qIUkeRdtKHEzAFXl6je1ZLyXT
|
||||||
|
aSKhyWtdxD+NPA4E8vQbEqbcpvzkBhOgfNgVOxWUxC+njB5xhg4PuZLcffm+98S3
|
||||||
|
ncyu+bYuhA/kLgOJA2HL1vIQEobdM0XJhVM8G7bhKKSdS5NUd6BS8AgKL5YXbguO
|
||||||
|
ZwDVq0yuVPg9VNqG5eTwL8fvZhH4L6I5Rh/wv1g++FvnEGRR+7ePprkc2pnJC8j3
|
||||||
|
7Z08YzRf5aWCJu89EDsL8wWI/jydPcGLnitNEROfovRX/A647VUl7M4kL0oyblJb
|
||||||
|
9JFbzPK97YeMwQTUYQOHIp8KsYYKjuBvq9q/Rr9DNpyijp1pshfjEiEZ4YDjTkGX
|
||||||
|
uWu5EMSlVpC4nEtiBlKT3kMk1mqmc2F7A/g5ug1w+e72E1EbVJMDtAgzjc0+V4kt
|
||||||
|
RxtTGa8PlfyWouBwL6ReVpEyVz3NS7++QcSY98DgMODMxFggna/zf3bef/lC6RGk
|
||||||
|
kHyIOC+IhI+q72m0MjdCmzsSA8fqT0PNYs349+sCKw6ocgjSHZlR/8gEZbZC+Fwx
|
||||||
|
Jf6be2N7eo6hYctOe5XpLaMApVnD3qtw6C9CxWJ4zT6WLyI0SAF3YWmIgLtlYhfF
|
||||||
|
nRs0ObRXiO7tz0FBuTXD3vljjzq7t8DDK1IS4Cx5AnTZI4rz+/aiD0k5AhmJAhwE
|
||||||
|
EAEIAAYFAlbwOPIACgkQt4bvJaijiaC0TBAAppcnj7MhOQh+yQCzljw403/hEW5/
|
||||||
|
iVEyhfkEtF8lnJQPwSCvKphln4B9/E/Z6HBZ5MNew9xj/JrL/JZfk+E81vSs/fhg
|
||||||
|
lCXB83bFo/fZ6cnqhubcPlXyXLSAY7J195n+DdInbza5ABuaJW6UeVHbGGM+th7L
|
||||||
|
S6sYmzoOM1oU8mLzugo57M2a0SZNE2GTjeHFzdeFmKtjk6zGhJcdDMvKNalQZyuf
|
||||||
|
KSEc7+9j5r0KlJOWY4VMqfYMY6qgiQ89IVSutWbhj+oiivCgi030sXmrdOSwG8/G
|
||||||
|
gufKpYOQ1ZLXrxzowYJ02vAewYCe20PTyzGt5ReB9XkokffvHnKcxHxhyC6HiAyG
|
||||||
|
B+8+yf0tJk4Fd7uW6zjGDvphPQhH6bPObVVaMiayEfJhhHbRNmJnUKXRc2CGL0X6
|
||||||
|
vbZ12Y1bAALAttEpsNC544WMwLfUCcGfaRTF1E4OpQucU/uizaxGPiUd8Ateqt+m
|
||||||
|
3GwjY9HAb9QN8ejiOTkH6XsYSzw4KA4iPqqMySHY/DMyfFuilNWd8m93agApO+8r
|
||||||
|
9+6xjurnbkh50rYtunP3FCMul2QW1wXaGxPTt7a/IcL00NRVwZmJwa3Ys1OrYMRA
|
||||||
|
OXM0QvRzpHZOsuqHG45jjaRejMZKSQL0zJOyKgtv4YrG1fceLrZWvu7ZjWVNd+0B
|
||||||
|
nGitgBkGm5VQMuGJAhwEEAEIAAYFAlbwjIoACgkQpIWg7VG4t8QFOw//YFD2UifK
|
||||||
|
W2VfUy2ig+ewXOwe/BzVfweN/Im+HSN94ooTEwR5wgdYIjxPV+eEKFfAEsazv8b3
|
||||||
|
ktZJI+/IxEalHBA+mR4TC2/UlrOgsVCnTHYKL5yJRVHPrdOQ+Zm+kk4vszYocDtC
|
||||||
|
SPp+/aoRE8u91i6Qu0UdGjMe82HG6qdzVj6bXH9ZFRiWRsfkGxB31cnvfE+aZB+V
|
||||||
|
qfuy0pbqegJXUE/6In8XRsS12xAk58KM0b8jKQGqYaBB6xE9WDpip5sPycougy6U
|
||||||
|
29170n+U57c6+x5JQhHC/Rb2AqB8Yl1msC4bj4UsqxWHmLRdcqZs04GiVsrk2fLD
|
||||||
|
fSfsu023IZPyOhaV/t2KE4DwnAu4b9Sq7PNNzf9yrsgRL4c4OzWEYpMzt38V5QRt
|
||||||
|
ETJvuuthOypREVNuIs21oRomMJd+PjGsayDuKA7xe/SxDe8tPkoy+FdAfevPXfhy
|
||||||
|
NWX0vTtcZDpVustEMmoDs7EzlBddrNplsnRZoqW2JyMLErLujc5N8juDPqmAASVy
|
||||||
|
d7SBUD03e8apjzZSfJhbZsxw4W9z7+rETRSy7o2DPXCabjTGwB1naIc9W4wU/aWU
|
||||||
|
N81qZZecKLVLxpiXeoUwF3VIJme5Ye1KumsQpTJoi3tVmJ7XDaW9OD8shJtvhlOc
|
||||||
|
ddt1E4kl9iximuLfhzUjPJyS/ASYhpPNMVSJAhwEEAEKAAYFAlWtDgMACgkQw701
|
||||||
|
5G3UXaVUfg/+P9+3vFqijhzT7XkLuNrI9GTn3KslTAPU0Oe/BdLPTMKELqn1YVxk
|
||||||
|
lnrznLbjL9qkwYwXxY5HT6ykeS+CzQIDLLtXqR1NAz3EWVAm4dT+xqaJZmfCoJ40
|
||||||
|
+VqZdQHLjgmj9PFTK7f3vyZ3Ux6em7Z+h7C1ba8jYZS+6GnmGw6+v6LxzRh1SFUm
|
||||||
|
YBj/X+GPBYg6cnymr+9b2CwTMbczO5XN3hU9UtdF4UlupPvEuV5XWFpCw64kVwxP
|
||||||
|
OQvvUJ3aTqEGiCAqd8ntyVZ1MWtaob7GI/bj7dTOoSogUqF3aZawfoUHPp6izTd4
|
||||||
|
8aRnZhpsK47Y6jIaHDCILhKoAESTnpN1yjqaRIbviHJyYFOHnQESTS7AWrolQVmP
|
||||||
|
+pmThZWauh+PLVcs4ktp/6CKYvmgnP30HhrPczE7RVKIT32LU3MvT3nFzDmKUruK
|
||||||
|
eLUNO6LnJ8XwZEVIE3TOVcF+2ME3EcKfV4RwAlBBgYa8DB/CM/rCtoyxdxYSRpHn
|
||||||
|
9bxbNL6kn+CPAwRZGAChfOPGMhHBh3iDUJaIt79Cq9j6QcZUYfhj1sIvvkDyl0Bc
|
||||||
|
5U4slbTM6KP5aZgFlCcI9HWwGx/5qIbb1rQNVjxwtiUWediS04YaQ6yt7f/yXbdl
|
||||||
|
hxPdXDMe/9gdDyuDvP4+1FZbDiV6VT7Bl+UhQnkwf4kuCbSMFjdu+cyJAjMEEAEI
|
||||||
|
AB0WIQRZyp4tKjMd4lGqJCdfA8dnwkek1QUCWQ72QgAKCRBfA8dnwkek1aBpEACI
|
||||||
|
6mkO7aXYQyejkTbSyLdE7FoNI4Nq6aKvvQLt+vlGATLgSdz8v7QLGd3KkJYoO5SY
|
||||||
|
kKjrkGZG4Nb3GOCnWnewBmvCqt7C5/Idl1JTVPdF9CgMHQkwP2F8Tg5X1Ag9oZeL
|
||||||
|
yRKB/xWbX1LGizRy5s9G6yhq1rwoatNI+Wz36fdCmCqmphm92uPyxuAxy+JZhAbT
|
||||||
|
/vmANGKlEN5Wjryrp3tmMEhnuJykWq2ZxYiJ9jpx/cNLyjf8fSDBhLXOTG0FYBrZ
|
||||||
|
k+ZJtw1LlzA36K7IbnunO2qOJzDgvemo5FmGYcm6hyYCzqxBj1VJDmhHu7NZMeMn
|
||||||
|
vT4d8Py1xBPGPFRYmaK5AP/D07cdDPYawlZA6dMPGE8xSfQxbrayJrj0+vpjSJPt
|
||||||
|
DUHrg7L+PdpvyVxi8Py0Zfe05h6SjBPrw3eTQS6ODkoZQyh8D7M2HKUiUxvfufvn
|
||||||
|
LEfeWpd7Vp7hl/VdP3TtbOzL9H/89O5ywf7S/oRKaqgOWkYhs3cfyjqz2boQk8nw
|
||||||
|
N29sLzm5cH+APxNcju7sz07klp8dRNeImbmgj8mT1xId10mAixJ0NOY8udLhlwg1
|
||||||
|
UfsYhP+Yvy9yMcoSZOs5+RjluW/E2qubP3RUt81ohUupdM0NVUJiR/I3Ri6ARb3V
|
||||||
|
S2aAGtW4oS6PpyVT0dkWrlp8VqFpNTUKE95dNi5Og7kCDQRgos3VARAAtSRABroy
|
||||||
|
kqOO+3Zq3pehRGM2aft2djiigKhhVg+eJr+YffIU2Q73l9zniYSzVMkFVuJPd7Wk
|
||||||
|
BnlEMIn8BUGh04op6MV+kzX0guu3v/9i/0agNS31xAdXzmf1i5sbQU1eRylyZRSi
|
||||||
|
sM2iuF7BYrfSsOBHv71cf+iM94KxrzXiB1bDNL4DN0T5+vCoDjgHaXbten4Qdm6O
|
||||||
|
djBCUv9Ix8dhT4OzHwHOUK7gomTrQM6Hyb0vgQsDXKV2Ps/pWOSk/J2cCrQUrafF
|
||||||
|
qkVAAC3m6kaGU8te6YlAU7GFcf4MOPw15WTM2iaKWwPkwK9b/Ro/5RfZbqnde8EB
|
||||||
|
AoFkg0X8mshGVDBtYCaW+1qUA3ZBcQzUvosYUsNQC9Nx8Y9/tkqCwIBUzsxuIrSY
|
||||||
|
HxeqPThxSMvCmg2qHXmmbAxsbOz3DTOwKpWSRGOCTGFpsLBqWigjG+L+9iIx+7kr
|
||||||
|
2gH8tYck1RPyQm04k9udD8wwXCvylTUzNVd876sN3o1xySaO5nz8JtM//xPPctFF
|
||||||
|
MZmC01bBn+jRuapDqY+qTFL+eKherOUZgs3nHt7cEBz3m8neGg0/JhyBwS6sQF7h
|
||||||
|
0ETBapVDlKCRuvAgJHIrjejL5v+kVRrH9L6ey5CAdRG9SbffsNwZoo5o8SrdGcX6
|
||||||
|
hpFiqg1jZWvZv5x7/PPSW7fPuNNHsoxVRn8AEQEAAYkEcgQYAQoAJhYhBBTyZoLQ
|
||||||
|
kWzdgeN7bWG3tSbZjwNTBQJgos3VAhsCBQkDwmcAAkAJEGG3tSbZjwNTwXQgBBkB
|
||||||
|
CgAdFiEEQ2D+IQnEl2MYb44h6+QekPbxL20FAmCizdUACgkQ6+QekPbxL22N6w/+
|
||||||
|
ObmFWpCr0dmV1tm+1tuCL05sJ031KFl3EkH389FmrMMoVk49e7H5Urn77ezQXO9M
|
||||||
|
e8R0nZgVUavJdKcJzgf1IZtLq5Vq5q563I8gglr8rJaaefGYuv9jitx/Ca2s+uvJ
|
||||||
|
MUHgMeBPmFFOKoIF8QgOJdkSht2lIkd6bd89ayLLoIXlGi8d6K4tEWeMigtds9FY
|
||||||
|
cyX7o8xXmt9XqCIaMbkJtiUzjz63dN0O81UCj0TvK17KXAvclhzrriZuo2rOeDTB
|
||||||
|
cQmKKy2UKZaJjUqiezuOg1t513ZIzhy1oXzg5CJb5jgsmZmjtJjr161fv5d8Yock
|
||||||
|
j73z2/z47wry6ThESfYSkIxJIiIP5SwZyNMeeHSZUnaMTqzd5kDL5qnNrhJHCBBy
|
||||||
|
xcIBcGppv3VjZ1QNU1k0Tx+MzpfZtbE//idw+Q7Iz9T/3zjN79JhYi1tzzaaQR6J
|
||||||
|
oEiNMpHHkdkOGRwfdipM7oKl7HKl+zJCzaLTE4mbInCxSgn+1RhI+rGzTXVxqIKo
|
||||||
|
nYrWra4EVBAgguMrxNMjuEtbsF54Q27x2+H/Mew+et6K/suqyh63Szfd14LWEj4N
|
||||||
|
aR89tEz76nJyJFuFtDeGSmu68/Pi5S8Ls9MxKJJiIJmc3lQqDUTHEiLc7RtZAsgA
|
||||||
|
WlLc6UnFsaCqXKJxuaMs7qFD7pqSGfHxYboBxax7Sqrttw//eC7rghiFzfcnEZQn
|
||||||
|
6+GPW3FJc5P1diSLto99six3uaWKjvSnZScvPOe8ogJt1JQpQAABoHfd7HzzlGzJ
|
||||||
|
tU/yDL931WD6nETp6b/dk7t3aUpk8WFMG19L+L9QbEpjxDi2wozO7CGg6FhC7mu+
|
||||||
|
KsSsorLqd3QYKoBLG0Pb2K3Zz3PN7y17kf1Aixa2//prFNfpEGwP9flz2TUvSdtd
|
||||||
|
9JvcnDz+/3yB63tmuCsUPZaR3lhTkNiXZG7WTALA1AqIUKFpxI+cOQxaO2+H6XXi
|
||||||
|
ON3x8A2Pzd1mZyuUMPk2c6I/c1ZfzJXxF/WJVfuztZXNCGocYF4kB3X07uOuiKrI
|
||||||
|
DMXDT3Op3wJ0RInpjyyPlwwov3zIVQcG3mfWPclXNcIRSAdadLq6yhTBUVbhMd2j
|
||||||
|
2qga1vtaVlH/m0zFhib88RLf1/FiVX76D1q+anG+gT+SsMPd7hSGQQ2+6ngBAvx4
|
||||||
|
T1IHtFgPqfNaA49m8b3aAorGo6Bbzmwh4Xr+7DM2fSskBskGdIPZgA4Vyu4/PC5a
|
||||||
|
CTyd0NqlBgj/g7XRQMGvFRkdnEIcVZbvxdzn4j16dS+43dUzFMLKThRbkUaunaYo
|
||||||
|
ZPIYuiqbwCoFX7vJdgBMaTxYfkClc5LJSVr+X+9RYNwlOn4kiQzKstVtl/qfpDow
|
||||||
|
6QsGmA9J7v8Vt9JEg052REcZZmC5Ag0EValA9AEQAK/z677fpoVUj4zQz0g60wVW
|
||||||
|
f+1y2lGb8iFYICmvrJyaEra5SRkyihYA1WmEzhN4T//tHw3UIfe646+GkY3eIQW2
|
||||||
|
jY9DM2XaElmMN8k/v54nbn5oD7rNEyCTFTvCOq5d74HH1vw96Lzay1vy45E7jPWv
|
||||||
|
qfg9Se8KAnzElohTJjizyhU+0QbmPHnQlY8gOkT/SvRo9bFEUnqjWh0fRq+K1tdL
|
||||||
|
PhcFB1scc25iFqh9IAKUGDur8jQ+SDHCjgQlkFOg3rbqtaUOnVHPohfrBM90ZNwu
|
||||||
|
neFgQY7ZFSUidCimp/EN4CXnzgjDYXUUA42S8G86+G4KAJC22gRQo4mcVmehwHTH
|
||||||
|
0glfLmUK7TEu29A1KWNL3R/R7ZdyajjpCvUaK2A0Abj3ZE2BSDbJrVlbBVfy5kfP
|
||||||
|
dZjhd3wUWqFaDHiVcImcjZRWPncllhcy6fhqEy3ELZrkezpJjnARsVkij3GXz6oX
|
||||||
|
+HVULne2w0dkTXydR6muZI/GeNtrLHmA8B3/0/TllmLy8ChmYZVIKZ8zt1ghq3f+
|
||||||
|
hFTXgtZil7eBewZgA6L+EXXK6dZj14lbe6CMS2kungTX9stU1s42I+WRbiqiLpAx
|
||||||
|
CX6qcLBOWrJwsOep2nvu5bhrPHptSfRhF4Vs1xteVFckCWhcLgdYi/Je1XBEM+AA
|
||||||
|
Va0k1FiywCg7MqlG6toLABEBAAGJBEQEGAECAA8FAlWpQPQCGwIFCQPCZwACKQkQ
|
||||||
|
Ybe1JtmPA1PBXSAEGQECAAYFAlWpQPQACgkQHGnE5V6ZBdsvxQ/6A62ZteN0b/TV
|
||||||
|
fSJ51SdG66amwe2rpRX4UdSw7ifxo3qhgEICQmXR5c09qXwl17MFJWM3FhGrbxnA
|
||||||
|
5KGgeWGtqrPup4QZPKU+l2Ea2QLSJSiBq5QqqEgZvR14Lhr/hCGhBAq9s/xbp8fb
|
||||||
|
KNJj/uWiZ+uTPbt5T5rgKJ4+g3B6DNO1rH7F70OLrd32mxZs4pSxngHRAyiMPB59
|
||||||
|
yQVDsVMha0JTqC+P96itUzvnInc/9mwE0EMiBtpDTkoBwbJVPnuv+7FjkOLn5s5u
|
||||||
|
3RLH9fe8z1xnV0fPC0/ndrlNiuBpAn3zVCsWasvW18Vz8K+CQY8Sw0Jw75edBgFo
|
||||||
|
z2QMFxHfDpMJefvMadB7mdte1lKk/Im9KFFH8Idh9b6zD0a/+Ooujukx6QpFfAVh
|
||||||
|
e2sT2CIm2nmMAuAZI2cCt7SC+REn9n9MSuIWxN8YTE3qgAUB6F3ea0O0hGlLl+z5
|
||||||
|
UOfX0bNAs+ebx/P6PczJtDzeqpmRb0QXqo55JWXLvmXT/fgjF7fNTTLsyCtV+xH6
|
||||||
|
ZFKGpvGJGJMHApEbz2a0hy12RZH58eI1ueN3Tzn8nI57+oYSsqFw/QgcdGXDonLG
|
||||||
|
JsPVzIpQRg92/GXSukWF+MsCjVOilHRSY1wfPPmJ7+kMQ4rdXpjAhwNYJc1ff5N+
|
||||||
|
omCxCKoFgYsCXlFCHFKs4JwRbTdd3MkuqBAAlBlIjym8NyJIBltfWckuhQTX4BiB
|
||||||
|
ltGPNga9CpQsml519EePuLtoe5H0fTUp4UYbL0ZzyJImQE2uw/hMNZ36bA057YtH
|
||||||
|
OoP4FcPUwv6wsl5JC87UR1XFhAXb5xSU0qdi3hWh0hm772X6CBlM8lM6GtT/fDZk
|
||||||
|
SGNXMQaIs1X/O9vf8wGg+HwLJcaCvybI4w7w1K0R7WjWZlJXutCZf8hRc0d88W/q
|
||||||
|
SZYooKD9q2S7foqaJhySIaF11sH5ETvVP3oCfGVIVhKWb0Tp2jXPXlXLeRAQA8S+
|
||||||
|
4B1o5XHiM+J3SNXhPQHRGQ3VGcDn45itg3F4xQX2Qvo4SV42NMYd6TykM/dIfQyJ
|
||||||
|
DOVg3CT3+nqfjCknf94SNvyZprHEPmpcDeseoPMw8kjKNwDwPXFLxBRntPgnqVXD
|
||||||
|
cNN41OH2kqx4jF7FLlRmwNpB2mFVH8xeVuRm7h2WZRsaEoqvivhzRtESVA2um5Eg
|
||||||
|
763CVTcNYlK6MD/iy8JzbMuZBrlOHr58HKDdcOy1W0z2quESGoqrwA995IgPav/1
|
||||||
|
DSpyuJPNc/oUTWlhpYshqYKoflezAyKj30+UzC3R/mY03ri6zUvCgXHNgZlKUsM3
|
||||||
|
VEXk6h5oDuaXniHLLzuxjTBVrILnGYgHSFRP80L/knz+o4Uvq4wj7NHnruc5fP1f
|
||||||
|
oFxRNsMt40yRJfW5Ag0EWUvZtQEQAL4dTYeBoI6UxWcu7kERc+Tz13WUwSPmOIU6
|
||||||
|
RdoXqBc2QyOki8s+uDqIJbpt2YJUPWnPgoU0rDt+msOG9tpAjPVg5pHJe8H9tXxv
|
||||||
|
aPICQ1YxYw1m8E1kRGio4EurP2G/H/YI3vwRskqI8cp04t88k1DfeKvXYVY34kO/
|
||||||
|
VM12XTfRcsiMdmDubTqNPYU1kmYNeqMT+OzI9QE2kulCK0DHDJzqdJLnOkrn1z0l
|
||||||
|
rFAPoNpVtHZh4D7yB8FH3I1qk9npRdNXvSjhXu4ptvRuszktjEcfHK+ikYP3jVqR
|
||||||
|
4eWiOKrkVIWJOCsOKIUE27PXndGLbUuDzCvrKusR6W9vF+mYK1p3pT2PYX8HEeJu
|
||||||
|
zrd1UFBvCWPf2k5RQqHk4JIaKfjAlCPnSXmPHXqSGtD083RJhFkbz4U07/glHWer
|
||||||
|
+M+Sw+hYT/v+XOhQm3CG/PUaeX2ud6GFefymX/tA1FYJqVxVOye2axoA3lO7yM5s
|
||||||
|
K/JHMdL7bFZtXVcGCwAqU2mkD2yEkFAzPLBHKigKg+4VimsTbG9jPOS+qtv65x6u
|
||||||
|
IOOsic3Ud2/BB/lfbvplIvQyJYw8HKb8O0XkUPcD3Q1i8p54JSHhiJm42H699uMm
|
||||||
|
iJeLzTkQJG7KApEv6nOb+jLyr2DZXuX82/UvZAmzWZg/XOf2xz44/RDXkL865dqR
|
||||||
|
YenXNaOXABEBAAGJBHIEGAEIACYWIQQU8maC0JFs3YHje21ht7Um2Y8DUwUCWUvZ
|
||||||
|
tQIbAgUJA8JnAAJACRBht7Um2Y8DU8F0IAQZAQgAHRYhBNzqxdlhNbkcTqZyq7u+
|
||||||
|
vbskxvNVBQJZS9m1AAoJELu+vbskxvNVBVMP/21uU+8NpPLpBn6SHJtIAffFYMSn
|
||||||
|
p0gplOjfiItA8HDbc1vqZlVpdk2xyFw6b7g+vTg1gQzF7uoAZK1czRLCt7ocxntL
|
||||||
|
VgPuSO1ZHt4hJG5Ze1UUJSDq8Pp+TTL43rg6irDLdYDBBHYESnXWAKRAIuPb1e15
|
||||||
|
6pAdpSynwJ3+qPyqj5vDLkPrtMWGp7qWQpXcHaXMea8m4+/RLNIjvRof/t6jrUer
|
||||||
|
mzs91Z+/C3N8ugD/aZrXTiNkF/H6BiuITZoB0j+rjy4fxEQvTYq9C3NoaBIRxJEP
|
||||||
|
ApxGnHKe9K9N1ZBELjCUCT1MkbBmf4CJtEgJvSScVh1yZNv+TVDfN6RwF9CwOM8b
|
||||||
|
VrOH1VuX/L/XiIRRT02eGrvv3EvQ+BhceJpWN+GsHKQM658trZ7RhHo2PR0ib+D7
|
||||||
|
hWQprcktqutTfRFPMrgcFTPXKeR57cxvjk+B2LoLSOom3oTNEtUaMuBE8E/jbONX
|
||||||
|
34QsHWDKfLc3XpLEN+bO65AfTiR4/qtnZBmldBUG9xbrW0qcWz+M5P3S6ssbor3V
|
||||||
|
DxxrX+Fv6pJccwlgYNFQxQOz8GrZhF0cU48e+0XpU2NFeyueHQ8lb9yYdvhc7mkG
|
||||||
|
c87iIb+ILah57Wqi52Jd4f0DS2zkxN6ab5/UVEkffNwXfjN0IW28Ga4BtZvoXVGV
|
||||||
|
Jo4vsGytMFdMRzRB/uAQAI21c3TTrO4TL42NcFQ0RY7yAlaKzXTXVNxC8v/QQKIs
|
||||||
|
DrNvs4w15rF/t2LXc8Cr3aUNuDtE7x+FaNwZLypCe+RFOy66AG2ENuNt5tTGN3mg
|
||||||
|
bJZl+01Cd1xPpOzmRfAJnH7YD+J4QuCEEgraAXPfp3MhjeHWtQaWDu29fbTtPx0k
|
||||||
|
/Bh0qxHFPWxhnYpktnjZEoMmwPMBeitCvcr66UzUmezgVZc0HxJ/LO9Bss7P3egv
|
||||||
|
60wPnXn579wDGnIriDUhHRcn2KuMI7eT4pL4HHjAAJB/8+vcUzYPuqtxULf5ciu8
|
||||||
|
V+ajzHtqBcgwNR/gm/7i+4qKPo14fYBftH5PDj9iD88WIQX7paVbYHJZjrmnpM2i
|
||||||
|
niL/DRVuxqAPToIc4hMXj8YPeTqS/1ckOzyYgFI9aRaLxZOR0uno1WTRBifwOcy3
|
||||||
|
NTwSHK/6YbtJbqoVwISJrGUuvOfBlkJZVlCzVsPG1+QZaPAL3HxVXavYgCu2hze4
|
||||||
|
OOWUe2Xuqihw8hb+F1rhP64/QtpjPxgLLb1NIBpm6OgdZjRjCbl9xnd3RvH6hYxO
|
||||||
|
+zgdn3icn2fFHhdZ7xtYcZZrg9QOXuv6LDvVe5I4VyszNs0jtdcx0P+T5VIrKFAY
|
||||||
|
yf0CCuL/UQTRrW0SrKOV/RZHuvdpVYK3YIAyd49kKjLk6O9awFQy7cXq3PhjatBi
|
||||||
|
uQINBFzwOeoBEACt8eaLW7jX3n5tQQ+ICeGOBIVbzAnXlH9bjdTqollM+iiwkdlB
|
||||||
|
NNEGku7+uQ9dTofem6cbSUXuh5kJNLy5tUIG4oGZLvpAjLdHP8zslgTglQymoWSb
|
||||||
|
v2ss4pq8xoDbp6E51dkowkyFSuELZKMFHgPiJbfYXxQmbwEiFhGs4+21lwtI4tVO
|
||||||
|
9zs1XbzJD9XtomxkcYaePeBxpI9JnrWIUKt70JPZi/QcxPMG2si/YitnCVamcVw8
|
||||||
|
Wri+W7MAJW3SyNjJUqx/cIOib8vdZVxvdWRIZmdkWkFO6vv4IotEBCflt6cD0EIy
|
||||||
|
3Ijn3nDDf59v7wpdWXidjzVjKF0F8jUiX6S/ZuEz4lvdotpCgJGhDmdi4pVCYbmS
|
||||||
|
hKbffgcSJ/BWn4wCOHKPA+XB75zzPj17dcWR8D9GM/sgusJy2fbHDcOdADPynKW3
|
||||||
|
Ok1CENJDx7DTDwm2fPRMut4utSL1FMSl7zBDRabcPr1nw+zERjmSjm3R91ayrQ9U
|
||||||
|
KlP/4P8Xkhjc3FFWrRQ1Q7/SlkUmrTqSouQcOolGMa2ENNgqNeOY7oE5xnPs64TL
|
||||||
|
AzQ9z66u0dHTMODAS1A6C0l66LrPVYGoQLDkM7WQn7zznFdnKR2nsPOUi0mMdyrG
|
||||||
|
/62iARtNvuF4xdsUAoCKti3wOsXRuUhiXei4N4qdr8IaIEIFgYEKKtaqzwARAQAB
|
||||||
|
iQRyBBgBCgAmFiEEFPJmgtCRbN2B43ttYbe1JtmPA1MFAlzwOeoCGwIFCQPCZwAC
|
||||||
|
QAkQYbe1JtmPA1PBdCAEGQEKAB0WIQQJezEwd65ioC+E2k3xpmaPu31XLgUCXPA5
|
||||||
|
6gAKCRDxpmaPu31XLopQEACKv8mYt4aMc0oA25UJXMRig2lXJDqOZBUSvFFm8t6X
|
||||||
|
gdG0zFdzFo4gqpje68kNyt9duhvOMsVwkzUr+5Di7FccvgwceU3X5ngWpnV/GcXg
|
||||||
|
79m5viipWUdBRoyZ90oi4D5K6fhlmszmWyiD7KDrjdtIdGnjAuprztkc/JBlIwlm
|
||||||
|
u/40JyDR5Dfxp256DlzsJ/HH8LbdjJG/F0XvtZUwcHefa7mDXtIWszsMoJnEoLzO
|
||||||
|
kZvJ13rhJcTHVQImClyS3o9+Pk6DTfy4Ad0w+9nF0rZp+8/GXZGilfn/NXMj0elY
|
||||||
|
u5WiyCBqargRkrHpebNKW9jxRca02aDS2Yrf8dlseO1d9FXZPOBWIxDRG++TqRhB
|
||||||
|
K8FUW00DikRDrrV5RsIiXtgtRqH+hwknE33i8m8/KKC5/pUl3Af5f+vMKsT3s1mM
|
||||||
|
X2zA+NmLUxJCXLz70WqLoShI8QEj+RLk9yuk97bo7KoNSv6xNwXotJKzp08VAnVN
|
||||||
|
X/QddmV6Z7SnocEs+S6Z0L69sEffMgUaCkH09mIt1yu0DaeOl7fM2iD3VcO6jJ94
|
||||||
|
Dg8olkhBgrZERe3sXR2fciFtsqHxYc9zP7YyL7vPbUQ8BogxEfIQZPGdpnG5pTM0
|
||||||
|
NSX/mgkOWI2VJFDe/rOFTdTk+8mKVnFdaUfHA48qIeS0V0zMLd4OZkrYlW3iKvZp
|
||||||
|
s6IAEACauiivWdvKvJgKMyi3fvicXn4qL8nV1X6lmOBqDn4bb0N0mtpiqXfvG950
|
||||||
|
+29rcCJSj6qSMVj8ZHuwVktrEoWX6lpJbWwEdUh+35DnjfGOYN8gW8bx0CfyqEx5
|
||||||
|
0W++DK5Wj+L+DL7jgJ/l7dMKxLdjijkg+v4yI516nzRbrx3x77U8n+H1V9bHrDfS
|
||||||
|
cESnr3PtWS4ze4yDrr9Xp+YK8A7RkIctH2ToyEixin8utvfa56dGpUai7gIRZ+0b
|
||||||
|
tWY0FX6g/VRHwwhLIzTsaFveQGuzFbXaGkOhRASitKtbQo2fD39qAMixkKOctN9A
|
||||||
|
/nA3dZU8BlJj7258+P36jQDOilr2Y7RlTSTZS5aXeAPbwILwKCNcDjV0keerGSqi
|
||||||
|
V2zkiH0vAJcxVokn+iMj6VOaM1RyxskgFara0Vt3IuAjnirES/OVuIkhgpebmGXB
|
||||||
|
PcHqLWpFDtEdLv6YtOwScE0eYb5/SA3XsmK3qgzEAzBfchwl4PqAhiQAf/tbx5Eg
|
||||||
|
AUbFmwhEcgd9xMY5w6+8/5FjoXwHYmdfjKT9iD7QxF3LnymskoKQQGWBHiwJjaA8
|
||||||
|
LYPpopUg9we00zNdSGNXv1Lau9AM//ATiusH8iLJj33ofQh6FviQG6W3TlLPqx/o
|
||||||
|
IxxNj5bPAQy6dRKB1TxlWr4X0pUWxuqBeObPoHS9j0ysxKPruw==
|
||||||
|
=81zK
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
242
mozjs91.spec
Normal file
242
mozjs91.spec
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
%define _lto_cflags %{nil}
|
||||||
|
|
||||||
|
# upstream default is clang (to use gcc for large parts set to 0)
|
||||||
|
%define clang_build 0
|
||||||
|
|
||||||
|
%global major 91
|
||||||
|
# LTO - Enable in Release builds, but consider disabling for development as it increases compile time
|
||||||
|
%global build_with_lto 1
|
||||||
|
# Require tests to pass?
|
||||||
|
%global require_tests 0
|
||||||
|
# LTO is default since F33 and F32 package is backported as is, so no LTO there
|
||||||
|
# Big endian platforms
|
||||||
|
Name: mozjs%{major}
|
||||||
|
Version: 91.6.0
|
||||||
|
Release: 5
|
||||||
|
Summary: SpiderMonkey JavaScript library
|
||||||
|
License: MPL-2.0
|
||||||
|
Group: System/Libraries
|
||||||
|
URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
|
||||||
|
Source0: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz
|
||||||
|
Source1: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/source/firefox-%{version}esr.source.tar.xz.asc
|
||||||
|
Source2: https://ftp.mozilla.org/pub/firefox/releases/%{version}esr/KEY#/mozilla.keyring
|
||||||
|
# Known failures with system libicu
|
||||||
|
Source3: known_failures.txt
|
||||||
|
|
||||||
|
# Patches from mozjs78, rebased for mozjs91:
|
||||||
|
Patch01: fix-soname.patch
|
||||||
|
Patch02: copy-headers.patch
|
||||||
|
Patch03: tests-increase-timeout.patch
|
||||||
|
Patch09: icu_sources_data.py-Decouple-from-Mozilla-build-system.patch
|
||||||
|
Patch10: icu_sources_data-Write-command-output-to-our-stderr.patch
|
||||||
|
# Build fixes - https://hg.mozilla.org/mozilla-central/rev/ca36a6c4f8a4a0ddaa033fdbe20836d87bbfb873
|
||||||
|
Patch12: emitter.patch
|
||||||
|
# Build fixes
|
||||||
|
Patch14: init_patch.patch
|
||||||
|
# TODO: Check with mozilla for cause of these fails and re-enable spidermonkey compile time checks if needed
|
||||||
|
Patch15: spidermonkey_checks_disable.patch
|
||||||
|
Patch16: spidermonkey_support_loongarch64.patch
|
||||||
|
|
||||||
|
Patch17: backport-CVE-2023-23599.patch
|
||||||
|
Patch18: backport-CVE-2023-23601.patch
|
||||||
|
Patch19: backport-CVE-2023-23602.patch
|
||||||
|
Patch20: backport-CVE-2022-34481.patch
|
||||||
|
Patch21: backport-CVE-2023-29532.patch
|
||||||
|
|
||||||
|
BuildRequires: autoconf213 cargo ccache clang-devel gcc gcc-c++ libtool perl-devel llvm llvm-devel nasm pkgconfig python3-devel python3-setuptools
|
||||||
|
BuildRequires: python3-six readline-devel zip rust pkgconfig(icu-i18n) >= 67.1 pkgconfig(libffi) pkgconfig(nspr) pkgconfig(zlib) icu
|
||||||
|
|
||||||
|
%description
|
||||||
|
SpiderMonkey is the code-name for Mozilla Firefox's C++ implementation of
|
||||||
|
JavaScript. It is intended to be embedded in other applications
|
||||||
|
that provide host environments for JavaScript.
|
||||||
|
|
||||||
|
%package -n libmozjs-%{major}-0
|
||||||
|
Summary: JavaScript's library
|
||||||
|
Group: System/Libraries
|
||||||
|
|
||||||
|
%description -n libmozjs-%{major}-0
|
||||||
|
JavaScript is the Netscape-developed object scripting language used in millions
|
||||||
|
of web pages and server applications worldwide. Netscape's JavaScript is a
|
||||||
|
superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
|
||||||
|
with only mild differences from the published standard.
|
||||||
|
|
||||||
|
This package contains the JavaScript's library.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Development files and tools for %{name}
|
||||||
|
Group: Development/Libraries/Other
|
||||||
|
Requires: libmozjs-%{major}-0 = %{version}
|
||||||
|
Requires: pkgconfig
|
||||||
|
|
||||||
|
%description devel
|
||||||
|
The %{name}-devel package contains libraries and header files for
|
||||||
|
developing applications that use %{name}.
|
||||||
|
|
||||||
|
%package_help
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -n firefox-%{version}
|
||||||
|
|
||||||
|
cp LICENSE js/src/
|
||||||
|
|
||||||
|
cp %{SOURCE3} js/src/
|
||||||
|
|
||||||
|
rm -rf ../../modules/zlib
|
||||||
|
|
||||||
|
%build
|
||||||
|
pushd js/src
|
||||||
|
%if 0%{?clang_build} == 0
|
||||||
|
export CC=gcc
|
||||||
|
export CXX=g++
|
||||||
|
%endif
|
||||||
|
%ifarch %arm %ix86
|
||||||
|
# Limit RAM usage during link
|
||||||
|
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Workaround
|
||||||
|
# error: options `-C embed-bitcode=no` and `-C lto` are incompatible
|
||||||
|
# error: could not compile `jsrust`.
|
||||||
|
# https://github.com/japaric/cargo-call-stack/issues/25
|
||||||
|
export RUSTFLAGS="-C embed-bitcode"
|
||||||
|
|
||||||
|
%if 0%{?build_with_lto}
|
||||||
|
# https://github.com/ptomato/mozjs/commit/36bb7982b41e0ef9a65f7174252ab996cd6777bd
|
||||||
|
export CARGO_PROFILE_RELEASE_LTO=true
|
||||||
|
%endif
|
||||||
|
|
||||||
|
export CFLAGS="%{optflags}"
|
||||||
|
export CXXFLAGS="$CFLAGS"
|
||||||
|
export LINKFLAGS="%{?__global_ldflags}"
|
||||||
|
export PYTHON="python3"
|
||||||
|
|
||||||
|
autoconf-2.13
|
||||||
|
%configure \
|
||||||
|
--with-system-icu --with-system-zlib --disable-tests --disable-strip --with-intl-api \
|
||||||
|
--enable-readline --enable-shared-js --enable-optimize --disable-debug --enable-pie --disable-jemalloc
|
||||||
|
%if 0%{?big_endian}
|
||||||
|
echo "Generate big endian version of config/external/icu/data/icud67l.dat"
|
||||||
|
pushd ../..
|
||||||
|
/usr/sbin/icupkg -tb config/external/icu/data/icudt67l.dat config/external/icu/data/icudt67b.dat
|
||||||
|
rm -f config/external/icu/data/icudt*l.dat
|
||||||
|
popd
|
||||||
|
%endif
|
||||||
|
%make_build
|
||||||
|
popd
|
||||||
|
%install
|
||||||
|
pushd js/src
|
||||||
|
%make_install
|
||||||
|
|
||||||
|
# Fix permissions
|
||||||
|
chmod -x %{buildroot}%{_libdir}/pkgconfig/*.pc
|
||||||
|
|
||||||
|
# Avoid multilib conflicts
|
||||||
|
case `uname -i` in
|
||||||
|
i386 | sparc )
|
||||||
|
wordsize="32"
|
||||||
|
;;
|
||||||
|
x86_64 | sparc64 )
|
||||||
|
wordsize="64"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
wordsize=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test -n "$wordsize"
|
||||||
|
then
|
||||||
|
mv %{buildroot}%{_includedir}/mozjs-%{major}/js-config.h \
|
||||||
|
%{buildroot}%{_includedir}/mozjs-%{major}/js-config-$wordsize.h
|
||||||
|
|
||||||
|
cat >%{buildroot}%{_includedir}/mozjs-%{major}/js-config.h <<EOF
|
||||||
|
#ifndef JS_CONFIG_H_MULTILIB
|
||||||
|
#define JS_CONFIG_H_MULTILIB
|
||||||
|
|
||||||
|
#include <bits/wordsize.h>
|
||||||
|
|
||||||
|
#if __WORDSIZE == 32
|
||||||
|
# include "js-config-32.h"
|
||||||
|
#elif __WORDSIZE == 64
|
||||||
|
# include "js-config-64.h"
|
||||||
|
#else
|
||||||
|
# error "unexpected value for __WORDSIZE macro"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
EOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Remove unneeded files
|
||||||
|
rm %{buildroot}%{_bindir}/js%{major}-config
|
||||||
|
rm %{buildroot}%{_libdir}/libjs_static.ajs
|
||||||
|
|
||||||
|
# Rename library and create symlinks, following fix-soname.patch
|
||||||
|
mv %{buildroot}%{_libdir}/libmozjs-%{major}.so \
|
||||||
|
%{buildroot}%{_libdir}/libmozjs-%{major}.so.0.0.0
|
||||||
|
ln -s libmozjs-%{major}.so.0.0.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so.0
|
||||||
|
ln -s libmozjs-%{major}.so.0 %{buildroot}%{_libdir}/libmozjs-%{major}.so
|
||||||
|
popd
|
||||||
|
%check
|
||||||
|
pushd js/src
|
||||||
|
# Run SpiderMonkey tests
|
||||||
|
%if 0%{?require_tests}
|
||||||
|
PYTHONPATH=tests/lib python3 tests/jstests.py -d -s -t 1800 --exclude-file=known_failures.txt --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major}
|
||||||
|
%else
|
||||||
|
PYTHONPATH=tests/lib python3 tests/jstests.py -d -s -t 1800 --exclude-file=known_failures.txt --no-progress --wpt=disabled ../../js/src/dist/bin/js%{major} || :
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Run basic JIT tests
|
||||||
|
%if 0%{?require_tests}
|
||||||
|
PYTHONPATH=tests/lib python3 jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/dist/bin/js%{major} basic
|
||||||
|
%else
|
||||||
|
PYTHONPATH=tests/lib python3 jit-test/jit_test.py -s -t 1800 --no-progress ../../js/src/dist/bin/js%{major} basic || :
|
||||||
|
%endif
|
||||||
|
|
||||||
|
popd
|
||||||
|
|
||||||
|
%post -n libmozjs-%{major}-0 -p /sbin/ldconfig
|
||||||
|
%postun -n libmozjs-%{major}-0 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc js/src/README.html
|
||||||
|
%{_bindir}/js%{major}
|
||||||
|
|
||||||
|
%files -n libmozjs-%{major}-0
|
||||||
|
%license LICENSE
|
||||||
|
%{_libdir}/libmozjs-%{major}.so.0*
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%{_libdir}/libmozjs-%{major}.so
|
||||||
|
%{_libdir}/pkgconfig/*.pc
|
||||||
|
%{_includedir}/mozjs-%{major}/
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Thu Jun 06 2024 sunhai <sunhai10@huawei.com> - 91.6.0-5
|
||||||
|
- fix CVEs
|
||||||
|
|
||||||
|
* Thu Mar 21 2024 sunhai <sunhai10@huawei.com> - 91.6.0-4
|
||||||
|
- fix CVEs
|
||||||
|
|
||||||
|
* Thu Dec 15 2022 liuyu <liuyu@loongson.cn> - 91.6.0-3
|
||||||
|
- support loongarch64 in spidermonkey
|
||||||
|
|
||||||
|
* Thu Mar 24 2022 liyanan <liyanan32@huawei.com> - 91.6.0-2
|
||||||
|
- remove %dist
|
||||||
|
|
||||||
|
* Fri Mar 04 2022 liuyumeng <liuyumeng5@h-partners.com> - 91.6.0-1
|
||||||
|
- update to mozjs91.6.0-1
|
||||||
|
|
||||||
|
* Sat Dec 04 2021 wangkerong <wangkerong@huawei.com> - 78.15.0-1
|
||||||
|
- update to 78.15.0
|
||||||
|
|
||||||
|
* Tue May 11 2021 zhanzhimin <zhanzhimin@huawei.com> - 78.4.0-2
|
||||||
|
- Type:bugfix
|
||||||
|
- ID:NA
|
||||||
|
- SUG:NA
|
||||||
|
- DESC:fix build error caused by rust
|
||||||
|
|
||||||
|
* Thu Nov 05 2020 chengguipeng <chengguipeng1@huawei.com> - 78.4.0-1
|
||||||
|
- Package init
|
||||||
|
|
||||||
5
mozjs91.yaml
Normal file
5
mozjs91.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
version_control: NA
|
||||||
|
src_repo:
|
||||||
|
tag_prefix:
|
||||||
|
separator:
|
||||||
|
URL: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey
|
||||||
22
spidermonkey_checks_disable.patch
Normal file
22
spidermonkey_checks_disable.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
|
||||||
|
From 6ebe8ce6a3267c96454de3cd453269b4c4053a3e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 14:41:14 +0200
|
||||||
|
Subject: [PATCH] Don't die on SpiderMonkey checks
|
||||||
|
|
||||||
|
---
|
||||||
|
config/run_spidermonkey_checks.py | 2 --
|
||||||
|
1 file changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/config/run_spidermonkey_checks.py b/config/run_spidermonkey_checks.py
|
||||||
|
index 0f842d9..b49db52 100644
|
||||||
|
--- a/config/run_spidermonkey_checks.py
|
||||||
|
+++ b/config/run_spidermonkey_checks.py
|
||||||
|
@@ -11,5 +11,3 @@ import sys
|
||||||
|
def main(output, lib_file, *scripts):
|
||||||
|
for script in scripts:
|
||||||
|
retcode = subprocess.call([sys.executable, script], cwd=buildconfig.topsrcdir)
|
||||||
|
- if retcode != 0:
|
||||||
|
- raise Exception(script + " failed")
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
29686
spidermonkey_support_loongarch64.patch
Normal file
29686
spidermonkey_support_loongarch64.patch
Normal file
File diff suppressed because it is too large
Load Diff
25
tests-increase-timeout.patch
Normal file
25
tests-increase-timeout.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
From 9be85b155c6df0454c5faef9e850f572c99e3615 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Franti=C5=A1ek=20Zatloukal?= <fzatlouk@redhat.com>
|
||||||
|
Date: Wed, 15 Jul 2020 08:32:44 +0200
|
||||||
|
Subject: [PATCH] Increase the test timeout for slower buildds
|
||||||
|
|
||||||
|
Ported forward from Debian: https://bugs.debian.org/878284
|
||||||
|
---
|
||||||
|
js/src/Makefile.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/js/src/Makefile.in b/js/src/Makefile.in
|
||||||
|
index b86aeed..d68655a 100644
|
||||||
|
--- a/js/src/Makefile.in
|
||||||
|
+++ b/js/src/Makefile.in
|
||||||
|
@@ -53,7 +53,7 @@ check:: check-js-msg
|
||||||
|
|
||||||
|
check-jstests:
|
||||||
|
$(wildcard $(RUN_TEST_PROGRAM)) $(PYTHON3) -u $(srcdir)/tests/jstests.py \
|
||||||
|
- --no-progress --format=automation --timeout 300 \
|
||||||
|
+ --no-progress --format=automation --timeout 600 \
|
||||||
|
$(JSTESTS_EXTRA_ARGS) \
|
||||||
|
$(DIST)/bin/$(JS_SHELL_NAME)$(BIN_SUFFIX)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.26.2
|
||||||
Loading…
x
Reference in New Issue
Block a user