Bug 1029155 - Tests for storing failed certificate chains r=keeler
authorGarrett Robinson <grobinson@mozilla.com>
Fri, 15 Aug 2014 11:27:31 -0700
changeset 199909 229181c88a3c57bdcd9df78077a2e172d767a463
parent 199908 8a00db3bafbd2ddd477a370ae96a54a40659bb3e
child 199910 926c83cd24f043df996f9d4808c2cc5f918b7d3a
push id27326
push userryanvm@gmail.com
push dateSat, 16 Aug 2014 21:43:28 +0000
treeherdermozilla-central@94ba78a42305 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerskeeler
bugs1029155
milestone34.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1029155 - Tests for storing failed certificate chains r=keeler
netwerk/socket/nsITransportSecurityInfo.idl
security/manager/boot/src/StaticHPKPins.h
security/manager/ssl/public/nsIX509CertList.idl
security/manager/ssl/src/nsNSSCertificate.cpp
security/manager/ssl/tests/unit/test_cert_chains.js
security/manager/ssl/tests/unit/tlsserver/cert9.db
security/manager/ssl/tests/unit/tlsserver/default-ee.der
security/manager/ssl/tests/unit/tlsserver/expired-ee.der
security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
security/manager/ssl/tests/unit/tlsserver/inadequatekeyusage-ee.der
security/manager/ssl/tests/unit/tlsserver/key4.db
security/manager/ssl/tests/unit/tlsserver/other-test-ca.der
security/manager/ssl/tests/unit/tlsserver/test-ca.der
security/manager/ssl/tests/unit/xpcshell.ini
--- a/netwerk/socket/nsITransportSecurityInfo.idl
+++ b/netwerk/socket/nsITransportSecurityInfo.idl
@@ -3,17 +3,17 @@
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "nsISupports.idl"
 
 interface nsIX509CertList;
 
-[scriptable, uuid(154898ce-e14f-4981-bfc5-00a41722f44b)]
+[scriptable, uuid(c754ef58-853f-4870-abf7-98be325d2b97)]
 interface nsITransportSecurityInfo : nsISupports {
     readonly attribute unsigned long    securityState;
     readonly attribute wstring          errorMessage;
 
     /**
      * If certificate verification failed, this will be the peer certificate
      * chain provided in the handshake, so it can be used for error reporting.
      * If verification succeeded, this will be null.
--- a/security/manager/boot/src/StaticHPKPins.h
+++ b/security/manager/boot/src/StaticHPKPins.h
@@ -84,17 +84,17 @@ static const char kDigiCert_Global_Root_
   "r/mIkG3eEpVdm+u/ko/cwxzOMo1bk4TyHIlByibiA5E=";
 
 /* DigiCert High Assurance EV Root CA */
 static const char kDigiCert_High_Assurance_EV_Root_CAFingerprint[] =
   "WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18=";
 
 /* End Entity Test Cert */
 static const char kEnd_Entity_Test_CertFingerprint[] =
-  "w3a2zMuMdmP9ed7H9HLExM+i+/0UxqHlKszZ5GQpHYM=";
+  "pVVgLk2kFI2WWRPwDMIX6YmzFhEW4DXQV/U5gP+feGA=";
 
 /* Entrust Root Certification Authority */
 static const char kEntrust_Root_Certification_AuthorityFingerprint[] =
   "bb+uANN7nNc/j7R95lkXrwDg3d9C286sIMF8AnXuIJU=";
 
 /* Entrust.net Premium 2048 Secure Server CA */
 static const char kEntrust_net_Premium_2048_Secure_Server_CAFingerprint[] =
   "HqPF5D7WbC2imDpCpKebHpBnhs6fG1hiFBmgBGOofTg=";
@@ -731,16 +731,17 @@ struct TransportSecurityPreload {
   const bool mTestMode;
   const bool mIsMoz;
   const int32_t mId;
   const StaticPinset *pinset;
 };
 
 /* Sort hostnames for binary search. */
 static const TransportSecurityPreload kPublicKeyPinningPreloadList[] = {
+  { "2mdn.net", true, false, false, -1, &kPinset_google_root_pems },
   { "accounts.firefox.com", true, false, false, 4, &kPinset_mozilla_fxa },
   { "accounts.google.com", true, false, false, -1, &kPinset_google_root_pems },
   { "addons.mozilla.net", true, false, true, 2, &kPinset_mozilla },
   { "addons.mozilla.org", true, false, true, 1, &kPinset_mozilla },
   { "admin.google.com", true, false, false, -1, &kPinset_google_root_pems },
   { "android.com", true, false, false, -1, &kPinset_google_root_pems },
   { "api.accounts.firefox.com", true, false, false, 5, &kPinset_mozilla_fxa },
   { "api.twitter.com", true, false, false, -1, &kPinset_twitterCDN },
@@ -1055,17 +1056,18 @@ static const TransportSecurityPreload kP
   { "wf-trial-hrd.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
   { "www.dropbox.com", true, false, false, -1, &kPinset_dropbox },
   { "www.gmail.com", false, false, false, -1, &kPinset_google_root_pems },
   { "www.googlemail.com", false, false, false, -1, &kPinset_google_root_pems },
   { "www.torproject.org", true, false, false, -1, &kPinset_tor },
   { "www.twitter.com", true, false, false, -1, &kPinset_twitterCom },
   { "xbrlsuccess.appspot.com", true, false, false, -1, &kPinset_google_root_pems },
   { "youtu.be", true, false, false, -1, &kPinset_google_root_pems },
+  { "youtube-nocookie.com", true, false, false, -1, &kPinset_google_root_pems },
   { "youtube.com", true, false, false, -1, &kPinset_google_root_pems },
   { "ytimg.com", true, false, false, -1, &kPinset_google_root_pems },
 };
 
-// Pinning Preload List Length = 326;
+// Pinning Preload List Length = 328;
 
 static const int32_t kUnknownId = -1;
 
-static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1416046032356000);
+static const PRTime kPreloadPKPinsExpirationTime = INT64_C(1416397232719000);
--- a/security/manager/ssl/public/nsIX509CertList.idl
+++ b/security/manager/ssl/public/nsIX509CertList.idl
@@ -13,16 +13,24 @@ interface nsIX509CertList : nsISupports 
    void deleteCert(in nsIX509Cert cert);
    nsISimpleEnumerator getEnumerator();
 
    /* getRawCertList MUST be called only from functions where
     * the nssShutdownPreventionLock has been adquired.
     */
    [notxpcom, noscript] voidPtr getRawCertList();
 
+   /**
+    * Test whether two certificate list instances represent the same
+    * certificate list.
+    *
+    * @return Whether the certificate lists are equal
+    */
+   boolean equals(in nsIX509CertList other);
+
 };
 
 %{C++
 
 #define NS_X509CERTLIST_CID { /* 959fb165-6517-487f-ab9b-d8913be53197 */  \
     0x959fb165,                                                           \
     0x6517,                                                               \
     0x487f,                                                               \
--- a/security/manager/ssl/src/nsNSSCertificate.cpp
+++ b/security/manager/ssl/src/nsNSSCertificate.cpp
@@ -16,16 +16,17 @@
 #include "nsNSSComponent.h" // for PIPNSS string bundle calls.
 #include "nsNSSCleaner.h"
 #include "nsCOMPtr.h"
 #include "nsIMutableArray.h"
 #include "nsNSSCertValidity.h"
 #include "nsPKCS12Blob.h"
 #include "nsPK11TokenDB.h"
 #include "nsIX509Cert.h"
+#include "nsIClassInfoImpl.h"
 #include "nsNSSASN1Object.h"
 #include "nsString.h"
 #include "nsXPIDLString.h"
 #include "nsReadableUtils.h"
 #include "nsIURI.h"
 #include "nsCRT.h"
 #include "nsUsageArrayHelper.h"
 #include "nsICertificateDialogs.h"
@@ -1540,19 +1541,25 @@ ConstructCERTCertListFromReversedDERArra
     cert.forget(); // cert is now owned by certList.
   }
 
   return SECSuccess;
 }
 
 } // namespace mozilla
 
-NS_IMPL_ISUPPORTS(nsNSSCertList,
-                  nsIX509CertList,
-                  nsISerializable)
+NS_IMPL_CLASSINFO(nsNSSCertList,
+                  nullptr,
+                  // inferred from nsIX509Cert
+                  nsIClassInfo::THREADSAFE,
+                  NS_X509CERTLIST_CID)
+
+NS_IMPL_ISUPPORTS_CI(nsNSSCertList,
+                     nsIX509CertList,
+                     nsISerializable)
 
 nsNSSCertList::nsNSSCertList(ScopedCERTCertList& certList,
                              const nsNSSShutDownPreventionLock& proofOfLock)
 {
   if (certList) {
     mCertList = certList.forget();
   } else {
     mCertList = CERT_NewCertList();
@@ -1757,16 +1764,77 @@ nsNSSCertList::GetEnumerator(nsISimpleEn
   nsCOMPtr<nsISimpleEnumerator> enumerator =
     new nsNSSCertListEnumerator(mCertList.get(), locker);
 
   *_retval = enumerator;
   NS_ADDREF(*_retval);
   return NS_OK;
 }
 
+NS_IMETHODIMP
+nsNSSCertList::Equals(nsIX509CertList* other, bool* result)
+{
+  nsNSSShutDownPreventionLock locker;
+  if (isAlreadyShutDown()) {
+    return NS_ERROR_NOT_AVAILABLE;
+  }
+
+  NS_ENSURE_ARG(result);
+  *result = true;
+
+  nsresult rv;
+
+  nsCOMPtr<nsISimpleEnumerator> selfEnumerator;
+  rv = GetEnumerator(getter_AddRefs(selfEnumerator));
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  nsCOMPtr<nsISimpleEnumerator> otherEnumerator;
+  rv = other->GetEnumerator(getter_AddRefs(otherEnumerator));
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
+  nsCOMPtr<nsISupports> selfSupports;
+  nsCOMPtr<nsISupports> otherSupports;
+  while (NS_SUCCEEDED(selfEnumerator->GetNext(getter_AddRefs(selfSupports)))) {
+    if (NS_SUCCEEDED(otherEnumerator->GetNext(getter_AddRefs(otherSupports)))) {
+      nsCOMPtr<nsIX509Cert> selfCert = do_QueryInterface(selfSupports);
+      nsCOMPtr<nsIX509Cert> otherCert = do_QueryInterface(otherSupports);
+
+      bool certsEqual = false;
+      rv = selfCert->Equals(otherCert, &certsEqual);
+      if (NS_FAILED(rv)) {
+        return rv;
+      }
+      if (!certsEqual) {
+        *result = false;
+        break;
+      }
+    } else {
+      // other is shorter than self
+      *result = false;
+      break;
+    }
+  }
+
+  // Make sure self is the same length as other
+  bool otherHasMore = false;
+  rv = otherEnumerator->HasMoreElements(&otherHasMore);
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+  if (otherHasMore) {
+    *result = false;
+  }
+
+  return NS_OK;
+}
+
 NS_IMPL_ISUPPORTS(nsNSSCertListEnumerator, nsISimpleEnumerator)
 
 nsNSSCertListEnumerator::nsNSSCertListEnumerator(
   CERTCertList* certList, const nsNSSShutDownPreventionLock& proofOfLock)
 {
   mCertList = nsNSSCertList::DupCertList(certList, proofOfLock);
 }
 
new file mode 100644
--- /dev/null
+++ b/security/manager/ssl/tests/unit/test_cert_chains.js
@@ -0,0 +1,96 @@
+// -*- Mode: javascript; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
+// This Source Code Form is subject to the terms of the Mozilla Public
+// License, v. 2.0. If a copy of the MPL was not distributed with this
+// file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+"use strict";
+
+function build_cert_chain(certNames) {
+  let certList = Cc["@mozilla.org/security/x509certlist;1"]
+                   .createInstance(Ci.nsIX509CertList);
+  certNames.forEach(function(certName) {
+    let cert = constructCertFromFile("tlsserver/" + certName + ".der");
+    certList.addCert(cert);
+  });
+  return certList;
+}
+
+function test_cert_equals() {
+  let certA = constructCertFromFile("tlsserver/default-ee.der");
+  let certB = constructCertFromFile("tlsserver/default-ee.der");
+  let certC = constructCertFromFile("tlsserver/expired-ee.der");
+
+  do_check_false(certA == certB);
+  do_check_true(certA.equals(certB));
+  do_check_false(certA.equals(certC));
+}
+
+function test_cert_list_serialization() {
+  let certList = build_cert_chain(['default-ee', 'expired-ee']);
+
+  // Serialize the cert list to a string
+  let serHelper = Cc["@mozilla.org/network/serialization-helper;1"]
+                    .getService(Ci.nsISerializationHelper);
+  certList.QueryInterface(Ci.nsISerializable);
+  let serialized = serHelper.serializeToString(certList);
+
+  // Deserialize from the string and compare to the original object
+  let deserialized = serHelper.deserializeObject(serialized);
+  deserialized.QueryInterface(Ci.nsIX509CertList);
+  do_check_true(certList.equals(deserialized));
+}
+
+function run_test() {
+  do_get_profile();
+  add_tls_server_setup("BadCertServer");
+
+  // Test nsIX509Cert.equals
+  add_test(function() {
+    test_cert_equals();
+    run_next_test();
+  });
+
+  // Test serialization of nsIX509CertList
+  add_test(function() {
+    test_cert_list_serialization();
+    run_next_test();
+  });
+
+  // Test successful connection (failedCertChain should be null)
+  add_connection_test(
+    // re-use pinning certs (keeler)
+    "good.include-subdomains.pinning.example.com", Cr.NS_OK, null,
+    function withSecurityInfo(aTransportSecurityInfo) {
+      aTransportSecurityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_eq(aTransportSecurityInfo.failedCertChain, null);
+    }
+  );
+
+  // Test overrideable connection failure (failedCertChain should be non-null)
+  add_connection_test(
+    "expired.example.com",
+    getXPCOMStatusFromNSS(SEC_ERROR_EXPIRED_CERTIFICATE),
+    null,
+    function withSecurityInfo(securityInfo) {
+      securityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_neq(securityInfo.failedCertChain, null);
+      let originalCertChain = build_cert_chain(["expired-ee", "test-ca"]);
+      do_check_true(originalCertChain.equals(securityInfo.failedCertChain));
+    }
+  );
+
+  // Test non-overrideable error (failedCertChain should be non-null)
+  add_connection_test(
+    "inadequatekeyusage.example.com",
+    getXPCOMStatusFromNSS(SEC_ERROR_INADEQUATE_KEY_USAGE),
+    null,
+    function withSecurityInfo(securityInfo) {
+      securityInfo.QueryInterface(Ci.nsITransportSecurityInfo);
+      do_check_neq(securityInfo.failedCertChain, null);
+      let originalCertChain = build_cert_chain(["inadequatekeyusage-ee", "test-ca"]);
+      do_check_true(originalCertChain.equals(securityInfo.failedCertChain));
+    }
+  );
+
+  run_next_test();
+}
index 26137ebfc33b53056976898c22da098e3bc640db..19bbfdcc82a59d8a8e02d70eeaf77f3f5a641ea0
GIT binary patch
literal 294912
zc%1CL1wd2Z`^UdALO{BEq%?PQDlLdKNE*OKhr;NEAg$P~h#07th%KVnfgma>Hj04(
zVh8GfcblS=`uTkQ@caM&&r5foyFKSQ_uPA)^WIr;e7(oVkV*K+q~wG!GTsO?9fQSU
zZ1H#u2D6ND<HhvC#kg_)a372LHOnx154i;BJs9rn5g3XX{Y>_S?2_zpj5`1T00000
z00000000000000000000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000!2fA%xw)mJl(0cDi9}LHL|j-5
zF)<~@D>XbmCW6Po$H~sm3GeFR=oE-&`tY6}`0swaW*7l6)EdpjtihjILwr~`DgJv2
z?w@L4`uf&jq~*xTEhVRfoyd$&Nez!BMUcOj;QFZswzq#P2wHYHZYh~>=Mj^Vl1fVc
zUWD_fN?6Xmb(j;h3XQNlQc6nL*(T($@OaX9@An-Jc0GP}_T!y?jAmRIFCSNTJD(uD
zn^O?p-^110-w8c}gQth{cvlBMyq&$LkDo3+3}M^|jGH0jW`yoDA3z@=pbwd&cg@ke
z=FGcj5p!d7V}fo>(Ty3pF-JER=q3!^gfli4%&HL9mRTcW$lS7yW6a!|Ft?`6tr>G`
z&fHosw_(g}ICC4pY#6I~toAYY4O#olnhlvX8!~G)WY%oRtl5xRvmvu)BW9ElGs=h=
zWyFj!Vn&%Vy{1gBDbs7p^qR7~%sNe(b(%3tnzOddE66-kLxi=D#u_qPYm6{3WHy<-
z%e>ai(nieEM$FR22&*)!AnOq$=GK_GHDPYiV;eJ%YRo*UF|%Jxn6W0zSQCWx2pStf
zGBGkXG9mQt8usq~P{6o%*Q9sXw0GC6ch~&;u4!+WX>XWmZ<uLsnCZ7L)86Ko_BO|~
zw>hT0%`xq5j%jamOnaMS+S?q)u0`)|SnqCl?`}lzF0pr))Vmw`eV3UCtljY5=7gio
zA)16C#Bk;nH%FNCUSCrSEdmF(l#>z`!;+6_@iAo5<giq767&A#?}KzQ;rlL*A$y!$
zj189l36(%zmH_|&00000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000000000000000000000000001h
z|GzO}JRf5lNHxUJKhV4B9rQMOE4`V1hF(wKPp_tLqF2zD(dW^N={fXF`ZRhBJ&Ybi
z_olnj?dTSC0$q!)OqZdH(0OUyv<_Mu9ZUN_Yo#^Q&d};<`)Sp*O|%NyGTJ;^F)fFd
zNt;HCp@q?cXx=nenjOu8MxbfYlxZ?F5gIQIOZ`CYrgl)<sIAmy>KST1bw70nbpv%3
zbrE$Ibp|zyI*l4lolKoTb*DN~tr!gk00000000000000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000002s{{SO!oLJ1<fK9>dosB{4oehD^omp1R0qmU%6WBXV{>+`CPDwxZ
zj)X6JN8E?Glb0Lg&EARjV(&zGGIw%>M|-e$Y~0y9*5i3_I4q^K(T!!#k7L;eSJY-Y
z)w!_jp|LDm>x|k|g&-%E4RmDL00-1gv$C;gS!+9%wX#KRyhz&^mc2WgW$)OaHk#68
z&9aSFEPLJ(wZ!rV7A)It&a(H-P&=j4+LUFjOjy>^7`36-t{bszt0Bu?BcL|$d?~`R
zvkX{vrao%@9VhCsY^W~FhUlQy+v}+|%RbR!*$z$Ay4U55Laj@Iof^y9s<P}D6_$Ux
z2FudbQR}#`UJ13f<<}KiwpD>;ugRm<#?M-gWvygc)=~zw=B~%3S@xI|%N~_Pt#Mni
z1j`nQvuvRlYLRuqqAV*U!m@(GsMWLIEX1-^f-Jj90JWMkB1f_;iJxVOe5h4>FoTz6
zb4Rdj4i9Sa`JLP>`<#nqpK+pAUM>j7vVk1jI2^CMTmT;<qXRSiG4vk#33@KwjXr|b
zOj}O#q)AiTsJT=(DwR5!8cg-4dS&0pUYhNnEt+*BYhBi;%omyaGZQn-GBFv2^!xO)
z^ccDqt&4VrwvSd$Go>j|zfvDkiIi)U7>ZZ+hwQsqAF}Rd9nIR5C7Agp^J->Yrhle&
zreY>nMq-9Py^>x?*QE<k2o%xm+U&CI%<SN7(`+ePI?XS0ab^l-D<zk@i&{ukq;zMT
z%$SuGouxb6DgXcg00000000000000000000000000000000000000000000000000
z0000000000000000000000000000000000000000000000000000000004iCG|m`{
zh!TVmL2jHsCr*sVkCZ~jJJ<ye<_O}%VX%P~xHK$cL?9prEUzZh>r0A{)JutpN+c2S
zPKiW4QX)BqoQY45AxASJ@#N%GQouisoPZwKf3Rlx4d(Dg!+ZwwdJpFCLc=^&a4uLx
zo*;`zv%DfquWKTil$<~!#)Oec9=|T)j#f2(umiab<`{>Dxen%a8O$*j4Rf}_WnmE$
zf)PSsd9{DMz^;j5MAEcWM$_<4ZvJ>?VDCkD`WLZ|=)oNZYnuIF4m&i=b};Xl!5pK}
zFdIdjEf$d`NFw4auYe~xnv{$uv&vWx?Y2UzupGLK#n5hZv<kDK%a{)BHbJW}9_%!Y
z26Gq=T`MxQ+hDM2^#*h3YU2X2h#El!!LuAPP8m~Uk{MaiFXy#?zo^z=ha07f3&kQD
z1T{p3<&f(aizg@HiKKWEnWXk7g;mk(t%7a{=tdvi=%5?T!P=sMdeza5QojTJI6V4{
z2gN@rtbkT8KUfRo26M=wVKRexr3Z6Jp<$B0RxgQP7ZFFR5*zG5qJud^&@kb_yh4LH
z1ko^op>uoW&~ART3ckS(z&n^@1RBOObk*ELySdORI0ribZZHQ24u|38V?134X57Ki
zZ_u~XbLh@=1=@4kR$4mEmc~sjp>|W-saGinDA^Rt?2p;i*@@XYS@*IwXN6|*W$wu&
zW-4Udq2Hye(09=bXfJ6Lnp4&e>SP)}-7TY?GM%<F`zvJ(<t=p%RXZEWPN5vmRLS0x
z^(ZSWODHoY^C0~L{StixJ(E6~E<t-hTTe@(nNz<|k5k`LJE%9QO_ZIK6pCT?%j`|r
zk=d$Q*R$4U`DJlrZp#eKlo;+Q4gdfE00000000000000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z000000Q|ogbY<jV1V_Xo+5}BRgS7y%l6@Ev??%c@iOC}29ZB(|s4y~#i1#6-OifB8
zl9GdXaH81tnBYJ(I=}*#hDD4B1jK+9t;t+I`Nt)<dso}Wr^k?^@eX!)a&jtZ0=pW2
zv>HE0&Ky20VneV(ELimzvX{J03yY5-4%7^MKyp%I6rPkpX0+8mB`k{M%dXJ}t<l?=
zGe;1Mj3L+{R;(J0e_3N3yCQr<a=b62@iB=}UhFzO(K<c;K`Wh;lM;Sfx!avx<9M`2
zH#^Q8PAp<cFh@*TH5&Y~MvtT)PkJ1?I#;wh7cJZbETT$KMwD2!Ni%C3pq8=hFlRK(
z$qJW+MN9}r2!R!*{bT>RCWaA7(^ApZ+@0L~`>vqw$gao%t;pU4mxx6S2zrPPt0J`@
zf*CEwvo3F+D(u)**rHX8=~o4_w7a7T+9P4))MS$0w{`7%s~F9$!UnCvy5H%z$D|~L
zkt3q@{1X|em%_Lb-|Ohp7Atl|mS{y5hPY@fqD#<5G+7lX|1#d39dCxln;PL_v4|c)
z2hn21tMqS3-wI6F6&Rxx7!h!hSVV`Qg^XfVfd5{>AjdakhZE3n#1uCbiy#DjM3)t=
z-lsHcK&F0gOH4{iDk<5ZU$X}cV{{2V<y)WV8sp-zh(19V(PqV{4j4mXx0-bzEp1#N
z7EvRpAb3`g%ui?a<EYU<&qwW-2Z=;STWVrlVp4h{`yi_9E26^CJNB+VTA3dEjt+W9
zn|((Uy)%k^N1bhz&<7QDaiLg5gP?|}u#PSF;~44F4h43kJQ^w2Z%}^g#J*v&>@XQL
zOj;A?hecEfctnvECN)TxOR=LQ(I|<2DLY_4{CH`_+3{j%yr>G!1&hcNWD#jryhy*U
z5Mh@WM#~Gy;ViL;1VIcDVU_3eBu6tu%7K(j7GxI`Knsr4!%e~>qX_DVDyyJ8OTQV<
z23|3Vz31e_Y$ZQCln)K%#p4{Yh%7-Gkz|Dm^*N^z?9x1FX>LWFEf$d`NFw5_(gLg&
zk<l0jJ1%xvPP8me8fT0}L<z!(Age5oAFC7xH%^onJw7980<$TY>^#bO+9%plnjck>
z5=>E`EXuw|-#{~>I?--ZpHPoc6X{a)N%V{K{Op~y!<24%C*7V#qn6Qx=pX10>9^@;
z=|}11^d)pEJ(WIz?m@St8`6d7JhWG|r?e}yM%rH5cG_H88f^nDkrqiCPjjT{&{SzW
z)UVWg)a%rP)Eep{YAH36I*DpSHK9sU1t}erHp&UgAxbGFpW;IqN0FciWM9v|m|c~<
zhS6XE000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000000000000000000000000O0>~uovnMR=|zM
zhKCW|NSP@yStLhNJSi%SOd|TCE3YR9u}cNAZGaNa9-Gp;GP|CWlODR_xn6{w9yvLc
zG=W{tpKblnCFo-k)579oh<&PNu21fiL1rA-KP4=R<jW56VOwu>Mfib3zlAs?$D<F#
zBu06$gFM;RWANiTCnqKRxZb)uJ7hfDx{bp53=-;*^h0~cvCF%%t&12=8%z8-U@Y6`
z%(hPQIBVwRV_&_P#4sXhS}G&J$<5!9UC4oL?Im#twzotaDKiy4t{vNL%eG_CMb;CD
zCTNvm<kV!69*MP({b+Up8@9DZS8h*;Nl6GJM?~wTCNlafh0)S)#jV)IEZNpV0;iAd
zSIV62HDg;-w2}QQHDSAr+15xLr`ubMU6&!-Nnl$9y@KDXh)GFFB_$iMefn&xCyZ13
z>1=h`4js1D7Qty?*#}@%p~d!Svh66gRYOarCdMTur6;mVs<J&Qf;jxQI$S;cG}sTT
zv#k=_Dx$@DdsBh^usqw!jl{`+KWAC?gEDL@&5x7)b_gl<W0GtuA&WD|CPk!7b#e+|
zjIAG&Rh(T!jBQ2HYRIG%GNYLy?8k)JRtW7Hv>H!xG%49Bk?532jv;3XvfTn~I}*JN
zNoWyQ=0$LF;%9sK*p?S<Pkd5DSbTI+3fYcPQASw8)OeCZQo;y!5gxYXM%%-z%)yR}
z{TL_P;`ngV%(gn%ad6{AdC?;<bSN-$D~5iSzJMM|SEqH-_R^-)Txp`z8`K2qI;sNY
zA!R!ygJMVF%f6JoGMkjGpY<;5NLF!{PnKL}d*;@x4Oz3ZI5Imj&t>k+mdNVKnwk|r
z{Xo4-A4z*fTSd#Ka#EgBXHt{tkLgX>-PzZ&XJp4_kIy!uoTu!{K9F5OwW6xftLaPW
z4s>mbCPj#{m_nr?G$~pX%_GYq3r{^t&!UIXT4=S@O;kV1WQudv?W_~St=#|s00000
z00000000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000000000002|AAu8x!3Lv?jZ0SFTJ7dvzr4l$
zjNqPK3sz<**eeAM<_JW?0#L7bSFvJwy--D7!9lgESPTAB)W(VlgE{=sFhA5g@9x^p
z1-2iQI!~){mhEjVxokRTyzgKRA2iGx^{RDnHnca~wtr~ovMe+}QRBYEr}18cIXuxY
z57f(X>vTh_?VbZ4UeHD#)`^>ioshW6eK5y(G|Ub4KFQr2Z~U1<WA@H<>ML&fIm{Kx
z;Tt!Y!xas4LA~-*3DR|kJP#}hT1(2-nB?$$>l}`;gE^ehFelU-^U%pX)n3(N-&w5t
z=$pE0u;-Eu9S3tbpkel?H=K4-62Bqj#*Q0CH1hja?lIFpme>vEutmd|Ys*jl)KV3C
z!mrX!)kOBK((1Ma9Azb=2Xok<Vb-WOtW|dZhUD=j!7|n6(~BA(FS?g8*J?0_B^qXd
zdS{&T8mGMNvr*5Jou^OBT&%i4ocGv#Fozi$W{P_6=hsV!+4%74j?5F-cu!6_TzKj&
zlffLuXqXY|EjH2Kc&$m`;!!L<`kGAm$6~ims^MS`0vd)e&%A!x=LW*@tm=TM9f3(s
zkLnxSHX97)&_~1cP_NZ{{>=1Ko>Q|!l?6r4GMXmsOw}FCp@W8Lqu%K|e3Tnf7C7fw
zE78?tUHLv4M())b%%O=oE_-oH=8F{*W;V-ynYegq%<R?~7!9;OHPk!0+cacRy7P3K
zq)9i_wpR!1Q@f_C4(3on!$u8OsXFSIuXkL2oI?3CeMzo26q&gAa^A{`N@$oO>K&DQ
zHMX96wQfFl@<gu7c1vE-wry1y%ps44$)Vnv^?arKnjRWjm!usSBO`(22a*$I2Xn}v
zVbZ8~)?+F6122lz{SzCoccR4-PS>>MNDbzYM8hOdFJY3u2A+4zoKNeUHtY*4>^2e-
zxhy`ILktZQMZL#f%xS(un{#aYYm11SDL7S3G=G!GU=Cq4ObGSr1UC93ZRDq8cZsIS
zr}<~Aeg1G=a4?4e8a5L3=6+F?%ygH1R`Jf}f^W9{Da?58jr@Z-_|Pz3)Vs@ROR0Y7
z=cU%(j=L49_iT4{9nBpvn1crm<3_zX=WgU(jFqUg^Vh#h*f=R{0jbrIYcK~V8iqr?
z?(tfm4lAFN+dx#-T#+8~{)AIO4TluYn0FwDfXf5SIF2<KS|i0NJ1NU1eMQ>g)Y4?F
zX#rE!<Ll!(V)sThM}8%pkHCc!rhJ`vDfC^)iNKaX+=OP|>%JqruXyZmKRbTu*c!)l
zhk0(1w!6kHbPczmSTD7TG@oFWXX<05ZRkV5>x<}((G}2qrYWv*Pqj|vq4F-pY=yP*
z(`4MGv!z_c<;BK{N(-h5<c##>T{z+>&s@$8xE4mE005JVj8Eqj7Zeoj>kt<;#t1V0
zVK9OWuW0T_OrIix44>e?IdqP&HDk+x#jM8!qxTtRph*ap0qSG??-5>$)89C6QP5Ux
z;)p$w3%lM(Q@8E6ZHsM>m|s;RkQWh9Tr;gBNZ@w!mt)5^Oe?OaZF#M1<5;=HT+b3a
z<+VV;)^#QR%c}EeO*~V-IOsHwMDE_d{%Kdkn`u0Y@v_=y<BaStnek2tIGf;UR$FFW
zw%$te;MlG2qxO>hEyf2*&BJ0C|FAipZfUr0m&~}|g&UebyJF%Dm{G>Mj4h?KvC-GT
zmw7c1QGzfc$c<ynBgJ_9NGW8zgB=G}3X2x_@rF^k?54iV*-%g}j&uDp?u%R*wfM@T
zY7fE!y|321^sXv=^AdA2KXP0KdPY8&LUWAxPp6c_Y5YGvr=Oveo@Z<sJsgvm78V~v
zbR@--qQb}|qHj!8A}QG;$ti>EM#}V035y~jx!8-0o7HL@2bP0zvWNgTuXce;!8-vg
zmWvBB&?P|>r347Zh#A3%z%T^UU?~CPAMYZT1aric6=T4Rab>jw|Ggo2A5zNHq(mYq
z8SjyVC;iZzobn%AfaSvAa!N5sPBBML4(7<qeb@Y3P9HTfy}O!x%GPgJNAkXp`|v5j
zJSRV{T%3Baa(S20GQr2BB9SZaolTosDdMZIu0F7G-mJ??b!{2z9NU%^o#8y960+Vs
zZ0b7+pYw%DaYAl&vU5!ouAe9g4T;qZ-0GA)J|}HnpqN+_%_8jLy=B3=@+q_yg_(Tb
z<4jsPaEw%4%eWrMNXFSIh+(l`IXMtapG$^gv{aPm<AMW6u+CyGJS&y&o_{?p?UY!!
z1CLwi&aJOz8*{eY-ECWP`s(<Oj#G7n3gdGdF31PHA{<LxHKN|xd6B#L9CBz&+MIpQ
zt4fT+mQTKFANz6UAwdsky^yrI(<W|>yidte+F7!E#F1h-trNwUZHh814@Yh~ly+f3
z&e9trj2C8}M6+O!Z2mXBGtdhYY_5T8I&N6hj#Aoy=_7Unwy;<1hC744iJi;vh+U>r
z-7myWvcK3J;lDRKxq1P~>g%1^4SOqmSF5|MP<1&~uzN>N@s5fUS#NWq#^sxjW#)i3
zrqH;L*iHDmT9@f`2*cDm;?E+-(6kGTn+03fB>xw>rb<volvpv+%$Na2%#Z?hOkUFe
z3T@u)FKgGFK{~6J@^W5(f8P0g!@9+pPYY{L({nYYcU#BQ1<Twq(cAi-WZZgs1NpV=
zqXUnwuM{cbuR5&#SoYqGTXpkW=bgA$8v9Nm?tRK3myF2{FJGK)5m%bYsl9B5n314|
z>#o#K1o3T6JkOVS`uZ=Z;rDiae{RuA-dijIQ%6+$2$&dpPn~ll!pA*AhnsPIcyPP}
zsG3M^%cmDYA6#>{+O0Y_vU<;&9nU8$656dtx97gPSn<XUqn?YFZ+wrwb*j=y*?Ib-
zWleiW3zyTBH>d6%lq2p;yvQkgsxog{g87Ghm-~99_Z#OXAIN<_Yez@zl6exu=WXkk
zocerihj(}DMoMyl%}ix6gZe!SKb_-}dzaOk^XB}fCbYi?N!#D*n}OaSVaS*BFv(Y@
zQ!S>Cd=1#bUiljC{9(&ivQw{oW&MZpm8uZbD_<rABZR=}aBW{we576qI_`;#XR|OO
zX<90y=kZQ%{&;3CI3*JGNQvYaawZ2>qQAmzP7Z$}@i6F~&mJ+s@Mq;>*5RMmhHv}2
zQT1aRsr9<h?2Sb`=NBqDGSkEwQ^JiA|LLr={;tBMDg<Jf3YWq-OV&y1#e6?W#yKLn
z9GMKMyT_I~iM~?z&#qJ-H8lBI4Nd-O2Mno?H{&e*s!Mm%uD-bEIU12kx-kL!{=|{P
z5yCAAqmRkqy2UWsCtlxB+E2}SE4JjIfa#8Vn<gr_C?3(T`Z_m!xBf$u#zNEWl^6EC
zajaTh;VIQ#$Q_t>?1A-H(+kJ>_Tv?_h<lurj|T5JvR-~t!Bcr!;Dn{?W<T}&id|;>
zdF|~PsdSb;<}5{W79j?xCW>%sA{x1BgI#%jQbt(9)OeD9L{b7`_)R;pSWXQ@4N>`a
zAHfz#Mw7`?Ee#CflOn?6qmxp|mga~#V(@Dj#v=UagF>8~I1Wx^08KWnQ|#)VeR6$|
z?lKchljyxvBem6bRTp<ZspOb3^<eS-?VA;+oILl~6bYD0U)x}ByvkkMqyEBKYF+jH
z1311!<-4Ve;|<dN_wU_QqO~braf`6&iq{8CJL$KAj33X?<S6ml-g$IeyP@Y|r}e9Z
z4^3V(?uJLA+A*EQann9G8gT5cM>F)FkHvo&InZ0y3?X+ICLvE%2*C6a@&Q}eE9AqS
z=-=j{_QNv|on~e8i+QMcf0bS}w{gC(n8fr3zOS#nF0Y<&K%aV$5Lh!^amn_Z3xu^?
zrCi+i7HHcsa{$2<W%ZedCjMQOo@Rx<@xpw~{Vj9jNSUdum)IOe41He7)@SiQpNjSu
zUju?3qQi<&`(dmwUZ~-juhjlXcDF3jQ2$hSzu?uK$F>5dcPvbrCaz!{pl+>s^?B21
z6~(mjNdgDQbWW0Nt-rl;g;M*7ulT(U#|Q}`U29~Pa^TeTE(NagU*2+W;_T=AGS(Z+
z#jk7(G#lG>(kHmcQO>!s8h60sO#B@+O5yf}p0x%(mACy~zZzX;S}cD~^5%z&ySiAi
zOF^;_Etcr2AoyIx{ulCpEVsSNiscwUS!H+o)6{uyc1)3Qo6)0uCnis53xVtKRjJv9
z`(}h`?>uN?v{a4!mPhb))9(C$?j;7|VV~rul#YKqUsLS-hGz!bqC%SUZ0ZC;4(XU1
zge}u?YrGsDEjz+tL5_afM)w(ur3^$;J12}AEq5Toj<&=2B>(4f*Z5TNy~_L%bG~MM
zu-=Jg)gXi8kGp@M59=6$X**1UInBxn(?>7|Y+<ip4tI)v6U;HgBbf0bZNCsqvHpU2
z&+5QMnRoRq4);uNT+o%ky&k=Sch!w2l#CAHv1Es4uQf9s&MZ(K&CCH~OcC+F70h^%
zyBMZmCJ;@~C;c#TYBEWWlrc3XnM7nrrY1u&=dmSI?8o8BIk;q+6A<GcB$M#t-Jiw`
zGsfM~#P|DwomdC{UCCVe{9sCIZ1%WUV%{gt-q*Sn5ohsi?MeCBCyzf^VAp7~hi_k<
zFz<VftYl(P&G9N;U;MV%;@#(D_7;x0^j1PeEjHpcujbsEUA0@NLDM(fe}HjnDtq8C
z)i&fo`<LZLHn*azi)+m73+4Qa^xBMt9Q~e;;osU5Q1xj+vX>EGbo#l^EXkaPBr#8k
zA(;#T%*79MDgVc!`Ey60I$8Ysa?Dz3tE*nSMurw`YmS}CukXCO>7?au^{ZQE24Bbx
zOy(@{3beS({r(cZiT6Zq#@-EvL2jHF$_3@NoxaU!Dd+M{+I%ireR+qEE!r9KdFz#$
z=~G6&zWXlHS$oQT>4KgK)dn+{5=V!m*PK~1<*Vfdt+YGZ++By?DAcdf+k6qtqCs?0
z?2r3=pl>HIbkb&+bTVG#4yKPz4%ot8ogD7GWb35Ab+1m^{)ajlO=;@YNoj&4BF^f3
z0Z(!?DH%`xmKmb`)zVyUM|;_h(({~;*G8%=4!ZQ{itbxapHXH7n<n{YI~~F9KFBw|
zz|@MF3AUJ`Sd6&sfA}UqG^G*4Qp=c>gfMbMv|ef=IXN|j%y>!KtC>0s&0NUVOwqp6
z%t0^5FO~Dh7isR_j_?2d_}_-npG-NAhrYJp*yZ_9xnX*d()mTD=RL{u8V}uyGPq@^
zC`0qDeZ51yCvdXD8>^So!*ov@1%9m-`lM!3Y4m*hLtNds+~j5RW9nDWA3O5+&9;wo
z!??><y;rr5B)n2<_)HkF`F(YPbUpu)8J4FG2!^lRA^v!)MBw>R$)_#uYR-LiGpWNZ
zYXeI^qmf941Tytg4w1=~A|{bi63NW-`+Ks<o?b55)+TsIPdF=@uWWsM$~_%~uR>~k
zv$ymY&XEa4YGcx>s_GQR9Ko2ZQFo9@J$8Coh?Fq-Sl0A~xh3{a>67+f>-@lfb!?JZ
zgMet&xP?2+;(TOZ5IyE4v<GgtUU8=5{{4jW+G_(FKNH_Nx7~~F4hxf4DGQmh>WJPG
zh3ssr@O$NGRt-5s{$aNd^i3^>gjx=hgho@)&q9Ba&;eW6E1|=kn%^YUVt6E!SpML*
zBvhoogx(mx_~7EOo`NkgH}*?KR!<3@f1NMNM1uN;2id(Yn7n_>3m3iuWpidG=rbpr
zKb=_g-<42ec{_$Fp#v%BkF!mYf2y3uKP#tkFrrJ)Ml@NG%KuI<PrQ)+vhR`m2Hh-8
z^IhBHUanTt-tVK*9oey<*`VNX5IM-d>S+7J+_w{x??qz>X#pcIjXArt=o#@nA-U=?
z-R=4zw=d80ZGGckyx_eV%HbvC+BCs1IqmwYPoajPrx*DO8^p~XZ<6K|xAtO2rKY~)
zwd@C*{V;78^|vbCPpNx3I-Mn$iAX&2d>DeMj40(Q^t+UQT{bISmc6s_RP}gVX`Nfl
zVYP?jiC4>Rb>zTiAGb1@o^Gkfwka1rhR7*5=}axzcQ#oWf9bHEkN?Sa23tHmrJ`5A
zJn_lmgXfLc%e`m&?fkG28}4)1*S~Az9Z^Kq(C0FTf%&amE}T<i=gKU{I?)50^>+{i
zx35)FDm&v@91yhYy!;9@lZG4?f7a&%eL<C>mS)4Gmc;V=m_BMbU<-TIa=7#In_8L<
zk6KQtwEiu%6z;E<JG-sTcNEOsY0-V~>(r-Ln)WRdtNXBG^@_K9D%Zc2`>IZt-&0ed
zX!7m-%-}w18T)tDa!Muo7R`VYPKI2nGURd=TP}tFNG^YPSJU|CcQqMusYlRZz6HpL
zROvtC_#?f%bywClM{m=^hA}hNjs3j(ERo_-=U-~vv|z=yqq1AtUp`hGIVUFTc&V?f
z>>DYe7Or%m(@&DdML*RTYqa?UZT_mOayRZAzS&@6Q9)SkC;P5>cA_TlIkP~2Tbr8`
z3O{Mr+lVa;S4f{&E_5eij0(r>k_mdBO=DijdXIlsmleD~Y0>acFz0Ubds*QWB(w68
zsjWzkr+?M;6IaX(T%!EMUD7rgJB=v2UYBnDJVx|ON6;gEJxbh}<6jp{?UEOLaccrb
zJ2v-NV}<m415wEn>-H@Pk<mL@boc1~C1c-Q%GhR(Hx~1j-^p|LW$nxK?c#+Jhtpn5
zwWQOo8=ZQ+zUIIliJ7Om9AclKSv2I3_`~iV=u7zwsWcuYshm=2iRmMi1GcbNDu+8I
zzrBZPG(7KNhF-h=i}x^v`ita<>RR4&l^MBXIOUHhPR~C6cvZpd>X}E%@7$kToxe4>
zaeABXse+M)%pB0g6pici9%kg<70J+Rt(c!hvUf%)$B@W8wnPg3=0`q5&LwpSTF59?
z4F3CQ`6pA!-Cqn}wH37=Rb1_K^IGXUtNED|&4Z@YG^f-P_Ib|CN)vcp=<;A=rzN)Q
z$qc2JAGZ;0AC8b*WwzL;hWZHiI45JTV(_!E=IUpHUZ*K$M3zc9?-0|=sjpAiy?L^g
z(yOu_B44$*g2ur(i@Mp0mwM8+l2;tNdXVRyV@%W`?<%3}n&Fp56XlB@R(Ec0()$#A
z$q1*NtDr$r>DJFNt0@0+#k10V(VdPi=a{o(C*!6OU+oKTzmL{6&)Xf$`#|#U@p-SG
z+f5MuB&(`p8b>)Bnq)RlH|%JrV59b$bPMcOr9D!6I&{zKU)A5yy6JxRft4AfymMME
zu9{J{P`q-1yBWcI{ydvgg=p>!G6eppn+N*A5knFQ!z78J*REmuNaBDk?3KjfPQ`Dt
zM`U<rkAde)e{1$A*k2ee*4mXOFTb{X#}<WoUbKytkMfStF7m(a3QJ71PpWdPwRc~%
zy+GZ7{jJQR=svT@see}(1JBRG{QO!wCM6{m{Z=N2HbWN|uys-Je>ZhR2>OUFD^k7B
zD8Z-4kfZV6TY_gdWhjYk;axD-ZaP=9Q;_@2!iuH|;^!#)#xE91=e-(JYKCM^R#UuF
zzC}p3QkZyX&3f#N#e{Z?+4IkcSy-ja6RsFrH*xON*k$)FT9d~pJbts<kef_y6i*IP
zD#}<9b!W*(jrqR$`7<Xqh!v2|2nO5E`Vwx}O?;!cM^5V;fuQcgRjSGUL_8jeMKo9v
zse~xx%JsRJe_bX|+xv8LW<8DjaI*7;-~NrpJ*rzC=AG(kj<R%{w|qlAMMvKom*OI0
zu_I^gA)yD+t9*on)=V`Hc)q=Ut%>4@(h*Ca3f0eW_r(Zg&-?tvWqqu1WbCIRi$fg~
z?!IxDL|t2XXTcs{>1P$H_Os+doNfoc^k4X_Va8mc?UN4B%9ECBUqmx$$YJs4y*|)y
zEg6cbKTL`lcz!0P?*}{swXjz)hdVRBO(OM%XA<e}IPn*gNP+%Zd1_(RY`ZL3k>>Qs
zu_Ld29p&gf>3ZgznKt5jy2+0;a!CbMx~mHWbeTDzhAHyuGl~4mueALgLoxk62xkbT
zB10$(*+MDsn;(GxAdyBtOQg}yudW9iEbfjb_}&%_rH>!gBT6D<GDp={+`D`9b5iRy
zTcukY`6~k-M%!@4&bTUbC2Lds$1L6TwCnEJ8v0AaO}mL-5*^Ln#*7MIEo6UF<=Nx2
z@=9YS&%RiiNozRM_IA;yBd=d=|0tH7wn1lMsHjzGy2+J=gpU*IT{9)Jp3b00j~b(u
zH*3Z9woxB^{55stSo#=)L?NmyeUwLJbESX0fPejC@AQT<(L5>1xe*qW={qGRRU8>v
zXOA4~nO1Va|M8uN)ZMGEWV{rgcFJn|`j>p&H=Zs{P`*AYB&IgvtOMWS8~3?2EDlf8
zHy%xtdl6OXkbHIAs>V9UAjcO)zNt@q*NSyMI5;9BU-{9DO`V>ia~;-Re|LBOD2|rR
zErk;$ZSy#G-P)Xlrp_QE;17FxpdXSmG*M@mG|}HN1k*<o2W(-lCJuKtvNbVGyH^tf
z|3gjm_Ilc@iE0ED1kdVvnV()YxF(WG$q9_PLl~LFfgRajCCgtId<|bpwmly7x$%X-
z&FT^37seirU%Ya?d8dtx(So+o1t(MrOthF;p@AvNz=;2JlJS36CB41SH<TD%&VGgc
zeLiW(kjWKnnH<@7KKWZ$<CnszPtZlQS+%GRIGosR`kk3&c_dwAYR|4a6H{w>-hY`p
zZ|kmyjjxV*S*}nQmv7d(UAHu3L!jXr@{O4Aa(S2d=DahC0%nKC*(dDEle3szP$nSO
z+PHS^k~Yb5!^!jj(xZYCD<q%KUcNfO!GD@W!Qs7!R^FSr>YT<kQtZqsLfZo?*K)28
z@)0T9TOVvckFV%n!~Wnq7KujGSjwq@$mPoXbW#8MyfXO9tcM!Bi%vU>9b8uHR1_i`
zenjQXjQ~S(5Z~4#hs<RQWwF&;@0yGsmG#*mM<`x-KVD4uC@C;MTxx{u-p7@RNgYo}
zbzOwZO2lr*lW$KJ8FuZ}JO6b`m&cUJ_t$OVoe`qg<1?!=?DGQIYCZ0b7YkPCz436{
zdU;ZEcZjO%xI*-OyWdO=G^PHq_Xqm>8rb|`4d%GPV~Q|+W*32fcigzwP5)`!xO(_8
z2FzQ=Z8Ce%@c;RnQ$|0(Ic4;lvNQC%QaRYqBbIbbz8rIDtXoOjqXP!Ty6>t&9TamD
zYAc>y4_(H&{|e8UGLz404sR?4g-r7AHwLyny#LJo$d)C_D=|TeA^JXR*80>=S)BC#
z?5OM3`{yd3clJnpYAw;U775n)L|bODEv!1fur*op9Z!!(a(ct8=k1Fwlyo=;D@d9h
zcVZ2Uafr)5N_o-mDL(??W*ElP*Faw>-h1Z(-f_xKlQ2)GXL;M_o2b=Dk1eC#or^sE
zIId?jm;9EbuA~i*&vn&SABexYq<!Ma%Yl5{N(-<Xoy8WkRY-M~kTSgIluFf{PW#wQ
z-uIzpgqeQ>NA#Ke&2OrsT)cCV<yI8kQW}3?_Dk1u`EpV{f>@8L<@=5VpQ=day6~<w
zjhXlZ&KdZBuLlSEb1vAN2({iPzR>^hiO;3LuJ?&ggP_KIKatUXxqj`&laui14@A)s
z&DZ~_@5y~9v5MQWYqmMb>O2hBdY;~qhfotgJ>bzXn?E(xuVPP)`Go=t)o)LI6pVQ2
zfB4krQecZ=znK!3n3SIQ{i)BGF^bFBqnNMnDE`gs(dWs}@aHE#!=a!2B9oI6@a$Io
z&XeEywPPBLXB=*CfA3Ou3V&hEXllXsiVI(kl#O`4Dd5DbBXd{#9nlmMPAbIhobI_Z
zdHQ*R@~0Q7hqL+ah%Y*~%5;JJq-PO0jSB&53*R3Xble^J$jHbd*Imr--N$$8ZP+fI
z5PH(0JBBqH=T3h(Oxm~Wes|hf>Y}3xHE*;r@|c?VoPnSGe!8rG{mD;;=%<shc$AS6
zqF(69d!anzh5M%SIb>@IwYIO)L2^ge&ReXt%P}kA{D$`*rAp@?*{&UNSyA^!rJc3)
zbDJ~cM$Dpd#oajS^QG$X-eqnj7)sM2bEVsIl5)hSG8aW|QjWL3EaWjoRxRGGQ?oz$
zt@EjCmE#xGjjJLa`LgIbVal9mXh!|PVENPjAL!3PF<wll4AYAVmx3{vJ})K)Y+>(<
ziQ&#s){6;7Q>p*rwErEs2AadvUEW?Dm_FS#;C!mLyM}u{{q6m*QN#0on0sB$FWwL1
z@Beh?x2(w2>)GYv6SS{aPU{C2-ScdjpnhqJ%L<L)EV(g@{5If2N9P)-4^s}f*U>S3
za$vw|#}A((4fE8Il>@m3O2c%;9QW1ty<!9XdA%R5*yUaI6?Mn!_;1i>1n(eh&+qWQ
z+Ts4pI$~D0;Oow3X3HK%3Ll-mKY1?Ef2Q3|)ApOP*(;`=r!QCiLea6Lsh+`2S*N;8
zQ0T1J-FpvBgw4|mb5+KFe3`j!YQp75D<6F2X}P6VF`8oFJ~E|Y%;;^Ci4XJNMyKM8
zA`GT9KYAp-ciUd}sEJS<o{6Jv`SpP(jz9hcx!<pqNAw>_%Mw&xKF-~FbA#7@Bzx=W
zW0#_CceiIQd}%brMe5n-Gp{~o*LW7FDtvqG7ujdx82Wc7j<)6OuP5~Wew{IE)MCsU
z=d)*xBZita4skJlIcxmgdWM=UmX(~`BM`E$fHvy&CZqP}qZ^J-OWl5QN+;5@)X?PZ
z{Nj(xpGhm$L?0+V*m~sfwF{eXKaH&`dub5hah{te{HPuWel_)(NONWmj?*!&$<lD6
z(Jt407mjZv@g`(9PcfJ&S2g)oTzUOt&cmxTuDBF#e$6ds8*aMnB$x8eptvysmaeSX
zViZC`lv%SySwuQlviDm4^{Jw+bWha2pqcz>Az5_wB-;y7KI$7wOGZr0=G+lIDJ)Uy
z3t#s&J;`JI;XK)6vL*40NTYB1R?k{{cU<^HIz7c~{usaXC41b~H7o14uEYv-mB(g!
z+s+;pmpuL>K11Jl-UHzU)Yuc|El(p&t~=W_SMqNx-`BNE&SF%u)%>)>mQV7~9QuRd
z@w-I_`Wv1M^^_kb^|UST_pOBiTiC0f!=0Gl<{WavGv~1Jv;M`LgQvezW(uc$xZ-nS
zw|elQ2kUY;s$EC<lN2XMTHD+!m?7DtQyqJ<_Fz6)mYD<cm?F#n_OD3U`1Sd=D?=y6
z7&=K|>m<*g|7O3xCjR&*ioSib=Z^&Ob@=<^UvhQcY^;376?(wsxM2XM<Ta1b&bOrq
z$3|uEBeF&-PA>17nAaX5vcuoT<b<+G`I=QzCerQw2)rLm8fsV0bJ}^*p>gr0uYxx%
z)o$#HswR!?vfR|O!0d3`tJv;Eo@FugC!e{p8!Kr?C5+o%$%eKI?0mRozpccjO<QKf
zT^;@}Zq3$Si9NO>EHle**M->dlX+d^I%VdqyG<yp?^&7GVSo9_`Nkj}Z@#@4!%oZg
zZB1GcWqagLtor=IZG}hF*I+q44mBe!-Fvk&wx>UGH@@PsxGY(x%XOmSX8tu-E-$ZG
z`I>8)>MFw7(;sgW3uk>w?3raj#Z0-wnV?WIXXcmVau0}Tt_+g$ztz11{T*V4^vMj9
z^x63J`wr`XE$o%P;ZDJC(kDGU(r4~^{1?*4-Cz2y3LmI=Cu_h(t=RP}T~J`9K5@^=
zTUlI=C9X4*N7qN%j=60UnV%rV%mG<U5z<Hc{Qj==nY$jt{P+O@L-_<5%9qYoKJGvN
zbb#>lrvrpwM1_Dy6j?D+|KuC1oxCe)5|d3!OK!ZJ;BcsM-+9b|g*e?*?d`W;PJG6x
z-xYA?(5S?vA=VcXiViP0C|vh>H^DaK^vM$yb}=50qo-soQqL-tFVvC8EwlYJ(uKma
zva<TDi8D!tv}{w;`s6C4c6n{9{zesI&a>nD4OZ5#=*f5<aPoa_=qWsIX?>1=6HEAr
zNI3H>7{VuoNaTwBS3h|&&^|4%;kVP~=#8%#K^=#JV`E1PCrw;p)=pH+!`!!QT5g`8
zv;PW*$=ZuSxd-R_Rf^VSzBko3;P^-`x>opQ#ItQPmp(XYC>%zgu3<5Gj*9ZcbGM~d
zS>TGoR?Z$1?a4DbPu;%cT;52d`+M)*dyzVwAIT%vTQ>3S$a13lT=YHi0nL&@lKppj
zcA!6^&d@x`VbVNv*Q1y|nm1qzdo^#kvyZKLK@z>1=kgzFo^e}ouja`U7%zfY{Vg)U
zr=?u|)o;#7!==xcg?|v;|K38oqvOGyr{~r7UUpXuu6JC&_JZ1&&%r^o0xfZ7Hkf0I
z!ZG4Mo!npkQK)fS5r(OLNf9Yioty$<$k9K2VwuY^iXnz`*<#4mR}6=|9DOE)gr6sb
zgr9#MI^ZYEzy0Cq#mQga1@dp-K5p;cEn#+5J5Dx>Hct!f&N=nG>E@)<Jppl1H)a&K
zuk+APU#Cl)V0Ll*B9&Ecw>Irs5;E0j(L^`zC9VgzSmz0LyxV*Harn#=2kH0C-S#Ry
zKEL(U$D1*m3LeZ}(mXAqdXd~G&TGQzmN)RKF5<^7ez0rb6t#Su;l03D1AZTi_q)*L
z3TXdzm8^bsB63$`IIV_YCE+nXu^`~kV_Cil=NBc2aCV<5Cf%`<^(pbR5v-*?GHOoH
z(%3yF-EmfMIi0Yi=z^)d&Yd0CT0;m2ZBKD6J)Ps-<$iQzL?&H+s$96f&&l%%)anlJ
zoqPC5&$kyi@R+xpxYTk@-Zw(1>qg3*mfDM_71VAPp(EuN`GDrnA9eXa>qsz^Q*4-&
z)3^=&;lfYKIbaKWm2<e$^4n}tba-Zq$U5O)%oaKO>!nnO{Yur<SclnnvWeVravN&N
z!eesJw5}*^3uutpw5o@S(HF@dE5e>F7EbLmTXgxmdWozP!Z7s`{Sr3oyCj{ATL4=i
zIsg21a(`JIT2zOU!A~MqI+T++DYtR=HiX<NoVi__GNmB(%k9s!S}EGg&grI}vpX#f
z%cS|^U)9*ET0Olna#qe`dxMV)?#$&DJXab2Oun+lp+;|_Z>QF>`B)>WVf`7st_Lr1
zN|T#ZXfrd`#M|5vfA79-%Diy=(+}Ld%}IGaPoAxE7g}r=t&}yku=~IG4oTG2Gpo1c
zhVLmlB^wgHh&nf4B5q-V(|ddhB6!DGUf4Z#(>AsI;}yg$@j0(Y@)=%8!_z5q_HV!X
zXd-=Mf~igSmasIDs8i&dB4TG}@_VnI?&l|+cvI})N*kK{jv2}O<}bdXYN^DD<B_h|
z+EN=)eb4-C+NM?06K)zmUfF#6d8;oo3kFW+p?hwi<!u;hCOk}PhO9%Qe^RpnTiB~+
z!<}8<)J$l2)J)HQ^Dop4*I&(cq)B>(HSf5bW0lnyI@hxVb0D!>HCP}-GO8!wVAS4Y
zJXg}T<VOg8`;j}okD6KjT{Y9Quflwv{V{)B!gxA%V!a;C<=|!rTM}E?aQ_QolOTv8
zBCHrb)=ya+NXg_O747QiN_~e{Pn|2rUf<A7t>#)?bsf8fx+n3@x;Y!NW|u7p9wi>I
zATIId^+oq`UX*M(c2}k6W@u^X5tGL~qgK0|xoTxELs&RxNu7~ci_}-Y0>5#cj%H8p
z5}pev6(nx66WZpls_ib2K|9r6mcFS*vex&s?w<P`OBc};3CCx}aW3-wKQOUdunn`%
zyla%P&MfPFhq`2Sw;vI+$_>2oLQCo6O}@$vQO+@YYTuqN*&d@Y?ot_D$-;PiuKw59
zbGOfl7*!f9)n8L`&Omgl(5%hVYbV;qKX0q!dHD5?(EP`@n;tH`>}qFuuE9EQ?5wA_
znKjdb?=B0q(G;;o92PuDlbxZUu(h@HkP4b8gXH@lJvz{eTnwcX7$&9Dv)_d2qjUqd
zuvh7ZJL|svEOX@W{47&*M&xh(ER&<Z-qm`2T6A=C!H3aN0a#7duVrHLb%alk)G}r&
zwX}5EK2%fp`r23!#?SsHVR2fYpJh(^yLzWNgM?w}9eN_J%r9&?IWeSe8bj)?v!$-@
z-@^UvA7vsx3my`Tj3THrb%PNpACR1s7{v&}d&MO7zD4Bp8-MvoZBvD!-J%rIq%*Uf
zD(`)nvtq-W)2Ri!te0ziq{kI+wp!e2Eg3Rbw^(|vS^YFDHJ|T-?_I}Tv5u)_$EF6R
zOx#g0fotiZ9`~kDcW;{E*2yCCH#cNByn8k0#Vz+1F?v_g*vRHjZ%1<<C*n@<m>dv{
z2%a98QI-@Kd?@tVsDz{5>^};B5XsqxkXa&_fW+l$YU{@&M#QHQNqQ-%;l!kbu$aUY
z{i!jDi7|;$KZ+t+l9cgVB_*^6dibxXYCKk8+ht|*5ACM+!b&V6=k9&$VmvY&xASVH
zwbtFrC;rK{2`yXs{dT{-nyu%SFuJ4X(f${6<noGg^359LEw{w_-kIb-jYGXFr2ONP
zlOE&C+I7WD_j4C(%jw%$&hOrx#AxfShN;b$-cG&ki2LZ$PP5y<t!936!d-s*>o)Da
zooG4^IktW~c?Md@kfFAG!=$#FGtf_oep1^3TlmADP#We0|2D7W9iDlm+JhOtm{(%^
z>ul-+Y-8<``n_wN)%2UDM@)KtVT-`_3(?s(R%~jS_0m{4(|6OHg0K<ncNI(c`phdG
z|E|ueJ;=o{b@uzHv}4RGStHtkF`#ofvKfNg&K6wkpU*A(ORX$H8j)nh2>r=ND@SBk
z#B*(td&0GK%KgUFP_21)FE_5AkSuqRSU9oyS;xB^m0Nhfol8w(Karklu223TrdBH`
zzDKL*HfBwhv)iF39Xn2!VMaxT^V3?LtMs+ipN&-?u}U`B;8Lp`KW^Ql17Tkh>b?qn
z*?;J>6*WG6*_s=;+gQ)lZs#WOFECDAoXo>k*K0^l3z9RJC9gR}NKXFXv&=zc@^2{e
zUy)uZ`P-i^MjvYCKPLR{IQO>CtIxUaSy3pJB0n?cNV|8DLxiG?puwIM`(#g_-8XA=
zVut>C;f|BjWu9ncwB6qz-c~+qV^xJk=gx&GqR7Rhn~R&%MEoa@DJZk0-aK|Iu6ZF}
zie=D3%|fGQ!Idq0BJ4<O=a=rDde1P#ls_xW?aLF&5WgJ74wXg&t^CT+S)O6iS+xf_
zm_9l?U<-d({B4+1{oCg_+&|1}W&iA?|BcS#^E-cMR?CH1Ev(6WCGW$&u@pB+VanPb
z`z#r0^65I4SX{aU`J8-I<KAU5VM#`&Gu878_&<%#SK|8izN9!~X8YsG+5TO{#pgfA
z^v-M<dYOwo!nkR%B$jnf|GRnZ;E_W~?fo-8W8|pHAxRg+j?T;Yy6MD}%C4Gr?7Xk#
z+{abtj}!NuLb>w5S~F;|N{LKoico^2iI74WSN6&t(*4Dq#GZpMvc9&C4vAddJuY$2
z=NnJr6%T6fagGYy{yZmL=JKvgdD4qqIoF3TW3DyxfAKO9l)SjbON1-7M@~g=+pM&V
zT=w#njFu1ZPGjHaAXKMrHa=Ui@oljEXUf8hB1U1jT^?h_wD(Z7Y96imGSM{r%5lAI
zdHkgtZ(cjS;(m^J&aO|n<4n(~$WPn#IpfJ{i*2)HP4_q!R#%!jmCEh=T$0I8ZIO9W
zw_H18`Iz_TCw-)7q!>@qI(Sl(1M^mD!pC(L0v7iR!zY*03v*s8T9kJ!rJ?=$%S0W#
zz(7k*GxUmcnDh#tkN))LC%qc5g}r(;-1)-RD_`6X^TPj7ujJ)|hMpG=rc}C51$mq$
zf<+>p3#9nY?s*onR3JZ~^<MM^%4sQS0k!d#FO2f@xjC45AdM-YFy@9oo|f_7RVsNo
z_Hu4$nlgoI7vrWdlu-SX`QSh?Ly1$>{O;P13r^_0(ru4EQ2Vw}io#*Kaaodp?{i5`
zjn~zh38fb~=EP@~8-~>8#Y?4X6q+v(JUmvkO{s45c+!LtWaPZ@Co{*3ARPhIXp$4t
z&gFM69~;e|`9VcGf5R1x^VJ1a(=tBu*SuP`%I<u;PFd4|c^lPVxq1kB#hIDEk>Pmt
zr{Yv@(UDv;{+Ym+J?~eApANr%`>4~(M4hcf+GKroqt?hc?`OOHPR%l!wB(DZoh_Mu
zw%po2O{@Lo!n{xXvnpF2b#C|eTT5EyLR@scnE#P-?ab_{Mp<o}weO8SAw-?KCV|pW
z7>Bi+F5)mQY*L_a`^<QO&bO{dww${%<sr|Rnpy34(XJdKD+h87w3t0Zkg&rfNb++1
zRxKN_g}s6_+&RJ$Bmwl?qlg$vJB26fa(ZLhr_|HQN2WcWdLThB-Xd;9v{@AKUtAUd
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000000000000000000002^$K-egr*RI)Vz8LG0h@lY8mxT()nHdQ?3?&h
z_hP$okIL*bSBlK_l0t9ZFP_8sMb)Iyk#CFI2Jalse2<`X^pr+p3a$IB221?AD}FJ~
zX(NWY<X3nY(T$Xu5|c%8B*l}W!pJ0|Z%kAoDH+MdUS`~E*ek-y|M?1FW<Re0W)_TS
z6EqPGR*aH;7!l7tGXDFa@jj%KsY!`M#^G~T_FEaO1cT%haL_SlPA`zO4XO{rH&|$1
zf0>*Z`03hmWrs%YDr25=>sy`2mW+v*#OLhW<bI`7dePRi8yAFy$<H6V(0glfQoD50
zDf8~e)GzAwcP=|nDv!;GuR_G5j7Gl`t~~iMYKqc&mDsa~cZzy;z0%SV)i8XX<>|0Z
zsN7*3zTJJxyb~#BCK6c7f~g~_eO6T!L+`0`jzsvrEy#-F9blC(Ly2{wC1z9AZeDyH
ze%)Kr%b_J#;UaIxEL@|>xfq$l0_j&53y=S*x_0-%&5zZaMg%3q#LV;`Tlvr;JDT{x
zeVXVq0pYTan$|OsNqe_G4B<9vKKIhKVD_G?cHUpi&RRs-U6^7@xwF`YyXD5MO_kgY
zp6{v^UpF+owO#r=n;={90zrF!kSzX_{*kP{wc5?UetC=g8Noff7Oc!ruvfz7>IbHC
z{?5u_BmUPbhcOa*1E$Z?VFNa?cj>U<%_8<nhSLIiMJ?^W6t!7a&Ap<=7@&v&tKT)5
z>EKI>kJL*+b%6N8a=ZBS7;-ea<T*JxmBfLS>#ur&LQ9vn34Br6Td|L`<&lu1NY~m)
zokxzXPHIhzT%nh7+wjD~C53zwm`P%fDGtSm|8&x6e_8crSzW*|RWGIY{Pdih^w9It
zi?Gu}&kM=rATo6CJX`nV`s&_4xmLdv#(z}lP-`c)PFGi3{?6c)r1QvC_t)odU+7PC
zjoO5pw_1Cg_Q85zm#WG5Ydc@qtymZDbMbBd%Y&s^M2e8(l}l%NR-95EsaPC#&x2dr
za;t*ubk6y2T<Tsv$$ug9vE;6;%83?d9^<%@t95~E@0p#lnN=MzpF?_iw^*adMt80@
zgQGgP1ty2)sIu44E<|$j5KGn)+C~T=*WkwsPx^jdKXt&rUhKO6YK;RedF_5zF5_8o
z@cTEpA6qxN*jBw$d@OD-Kkr$6+g+2dJGF1WaTpWQDN?+~-m+$QnNsQNcn8IUN3~5Q
zmw%XFtRt+ew`#THmWG!lFOqAP)jQ9&w{EqQmR*>lWwpSorS`4x+^a%7R`j`Zvv<zo
zGnc+exRg5XG(F_ZxV78;FdmmrDsL%6^YNb!ynhrY-c_tvUN2OUS8!0RD%OJk6t%Ge
zn~V7Wo?`#c*Lq|O#wJW3#U8MUy^1~DNzK-5FTY`$h!%B9{$e63+h3Ap=5y-SPSbeb
z<&*8%zJ6{kepmYO=O^}W^>}e&La}kTs-OMqO9foM8R#hmVhW@COhj||{<0<)bxL5E
znjDju78V~v>@y7wNKQ(Oa>^hxrXv0+VNncu#y(-(eA)6W`@fi$+7PS|3s#IFGsczG
zl!4|wcxHp}q#s%|lnyuDvJ2ucAM<+Fx`&5egr~3mxJ&wJv_i8%;U=epiSIT}a*S^a
zd0*mlqI0>;GKm7r?f|3mXob3)8||m}j2sc7SlELV;}cCBdBZ5X*fT0%V)xeVJh4~J
z@(X7O&C??&+mJoPGTwA`2zHXr%Bt`_$;}H4@tIV5Au-K_JUO9NeAN0sn5_0);};c4
zuUhvzJ9T>wernV)FYpRql=<Pr!N*g)D>c6sc%CS&o4P@#vvlmn<l9XZ$9TyOH(p)a
zy3<c0)8*4To1QM8*uZ@yXGa8x&5R5bdyuTnQTH*X`-1zH8lGy;O?wnpmo=RYHc&1)
zh9B#vPSL{NIQ%^Gs^vW$&6%UxaSi-$ru)70{D>yVAesIzdu`s`wVexWKPYvcR^u$&
z+gftjbk2B&8u|>E8Wwe;BmE~e9I%PKYB=1f^-T@Ehe-|da$|m>hBE!tP(L+~C-7ht
ziFf{yl0%NS4i|721!*r^dQ@&>kIBfi0NdR&J6j5HUQ9I%#T172RYSqQtcH2H(U>9B
z@LTpeB*&u<#3V*Bw6L9Vb7$+J%%AI_>Cbv-8jOq~*dSJ{7~@}#tT=X)@DaUj8cGpw
zp1F2%&T?zlokBUvv2(-R8Ytas%s+`P*{xXmKK?DnY5b&XR-Px47t7C^vaW%jLgm6O
zHy(GOeD~xn3dAXOOGewSvb8WPzw7&1Ph<9a@z!n1*QFkrO&16*u@yE*6w#C5d*bU9
zxHY{yu7`t~&AIRnK|toB!ohk`L*1R@;!;U%EJaj6<oYNgKYCAylM}s;11KTK-Weta
zJKuTTy_lFBsvB=^{;?zSq4qqNV*!t%K4ED4a}Lkz+$Jz<_R%ZO6Xw$zpIynZ+*5V%
zOo?rx<E0`F?c>*S<xG{DmK@$xvufSt1#4cLzX?m5?`al1t~q+v$L7+2hMR9?if0wx
zIkZB;CFbC?D@F&hTF*_SzC5;k_WrwCbTc$L2Fdb&-Ct@QoDJ;_x9uMqx-1I~P}I0D
z@d?#J&*9R-yxb^EA1xfPiM?7l+)2gO!eEbHEp+)WwJ=9`bgvf56J!x-Ryv5V(}7G%
zP9PCu7^%R4mF};KXB7AAd5I__+G^;LHdO8=seiVYtH76uek`(Zu;~i4c;;o1Ss>&7
zZH`F6h`ao!bHp5B8_W=@=$xFC@Z&i$^zb#~Hj%A~(tR~?$P4sKb^N1w2imlss~<`m
zdxY2G^f%616tq>FIATxa!mc;c)NT81+hW@z=2z7S<V6G&*G%gO61d&`<=C+e(~2u<
zTV5;MI96^k*R#Y<c`Z<|bzO=7vg$lq6VKEy4m!;vk-PV=f7;dXW*X08ysY-wI3xQ@
zX1o&u&L()8)t3D~vzfcpT5Pxb+8^oLOF}JuBE%<BIJ6nJe3fThS9$;GRerldvhwN-
z>({QF6t^=ja#Hn%;KeU2@BaF8w&4bcyuilG@^3TyZ*MJXU+)oh{u}GOGfm}5Zb83#
zzxm{^?pzv@{XTb<7sF4#jSAHv5kL2H8BRJ{_4U6m^CYpmzjI~!Ud8Se%4s&&)M~GG
wSjZo^(BZX%*Dn#<g`lKDF!fUye@u5zoVn?+ZP(8ab$0u;vwIlB@>Vhe01-%Kpa1{>
index f43ba1bc1be9ff1269ff07738f7c8141ed0bbbe2..bfbc4f5c237042d5545e46647d3f414db8753968
GIT binary patch
literal 639
zc$_n6VyZT1VtlfInTe5!iILHOmyJ`a&7<u*FC!x>D}#ZMp@0D&8*?ZNvoL!|YH^8z
zv!j8WIIp3Jfw`fvA&@dOh!W>DLFO7r8A=$4LG<v0^|<Dx=%(hCWR_GKG|or1fsvJg
zxv`hQps|ywv610`)a)GAHPWwG*CsqZR~n-^@xhgIOT&t!FQv4{UVQWNd!y1_g^*1%
zOtXHczSdY;^ix=651+_3&5nBvi>lnb_r7|$;lx}9_4Fj}x|?pR^t4ppxT|u^lZw*6
zd{dg6dCBu#iT`r<{pbI;bMIg4+MM#4i*7UDWAtC(eL9SLvPs^wB6cQbMh3>kjW-M$
zuNpK?0D3@HkfpK1ps}@yGbcYeF()IxxTJ|!OE0w|F}ENmRWCU|w@Fk>uOKroFEcM4
zMOZ^iFEcMWr!*y1x41MZB|kSYGp`tz%G3&CR2mquacHvvBZZxjkwwiw#Xt$hH(+cN
z%P1)+u+rCuyVJ_Tz`{V^fCuCYVMfOPEKCLrXmQI7403Uqd%rJb?7hf+Sm65+wsn6O
zoc7!{yIs6kraSY%lfVw=WI0Jb{cW>%NS!#fqsK0<Lhr1=%VQ0auhc3YK3*>JaDLB<
zRSPZOZJJUnWN<0}&a{hVf}!#DZF3!J?;O6HeQ^p`u~p<0jdtUUd~>dDOLk0MJgIkU
R!6Tz+Gw!M??|-jq@&PLT=I8(b
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..22b21d6179c61ecbf2e7c0bc9d54fff6d606dea5
GIT binary patch
literal 530
zc$_n6V&XGsVk}?4%*4pV#K>mA%f_kI=F#?@mywZ`mBB#BP{4qXjX9KsS(rT}wYWsV
z+0j5woY%t8z{Jql(9p!d&@f7z*ASU&pk%0EAP3PS?pjfhS(KWh0M_f8m!g}RSCUy$
zY0x+y*(OF-2Ij_I27|^<rp88wcbs$TMB~kRyKa99bKZMy$61D5Q<!y1wbtMJ6#Irn
z?|t~mz3O>0qHQkZcI=<LTVUVct%eTKCypIm=$PsEA|s({s%llQOuM!W^Gt`|JRUXd
zbCzv9W$KnHnL2aj`K3jx4ED_0b5n1HQcB~SBRloy9Gv~9;%)e`A5AgG6_{rnYz#fm
z#LURRxH!ci3G545K^AcX(I(+kh)?uVD-v@Ha#Hn@^K%W1*f_M=fZ@c>$jG8*pkkl|
z;~OxxiDi_O6j<r&=j10R=49j-msnXCSQzLV@PNz|W@P-&!eqdJ7TnB0-|K6gkWmZS
zWP9lL|BA?$d!w?l>;&>-r<*@Xk!xXiY;}H?MXvVFYfPq#FGV)(o)of7XkX<IGd+E#
zUnLzk+W&F9S=T+|=`kaL#QFv`%lLjJ#n{vL#OGNucO=f~v(NBnw`);#>N?%RWBhpg
bqemY~8@LTxN)B3`=h{%^S|4;N_`pv9p$WK8
--- a/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
+++ b/security/manager/ssl/tests/unit/tlsserver/generate_certs.sh
@@ -60,28 +60,35 @@ fi
 if [ -f "$OUTPUT_DIR/cert9.db" -o -f "$OUTPUT_DIR/key4.db" -o -f "$OUTPUT_DIR/pkcs11.txt" ]; then
   echo "Found pre-existing NSS DBs. Clobbering old OCSP certs."
   rm -f "$OUTPUT_DIR/cert9.db" "$OUTPUT_DIR/key4.db" "$OUTPUT_DIR/pkcs11.txt"
 fi
 $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -N -f $PASSWORD_FILE
 
 COMMON_ARGS="-v 360 -w -1 -2 -z $NOISE_FILE"
 
+function export_cert {
+  NICKNAME="${1}"
+  DERFILE="${2}"
+
+  $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n $NICKNAME -r > $OUTPUT_DIR/$DERFILE
+}
+
 function make_CA {
   CA_RESPONSES="y\n1\ny"
   NICKNAME="${1}"
   SUBJECT="${2}"
   DERFILE="${3}"
 
   echo -e "$CA_RESPONSES" | $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -S \
                                                    -n $NICKNAME \
                                                    -s "$SUBJECT" \
                                                    -t "CT,," \
                                                    -x $COMMON_ARGS
-  $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n $NICKNAME -r > $OUTPUT_DIR/$DERFILE
+  export_cert $NICKNAME $DERFILE
 }
 
 SERIALNO=1
 
 function make_INT {
   INT_RESPONSES="y\n0\ny\n2\n7\nhttp://localhost:8080/\n\nn\nn\n"
   NICKNAME="${1}"
   SUBJECT="${2}"
@@ -141,25 +148,27 @@ function make_delegated {
 
 make_CA testCA 'CN=Test CA' test-ca.der
 make_CA otherCA 'CN=Other test CA' other-test-ca.der
 
 make_EE localhostAndExampleCom 'CN=Test End-entity' testCA "localhost,*.example.com,*.pinning.example.com,*.include-subdomains.pinning.example.com,*.exclude-subdomains.pinning.example.com"
 # Make an EE cert issued by otherCA
 make_EE otherIssuerEE 'CN=Wrong CA Pin Test End-Entity' otherCA "*.include-subdomains.pinning.example.com,*.exclude-subdomains.pinning.example.com,*.pinning.example.com"
 
-$RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -L -n localhostAndExampleCom -r > $OUTPUT_DIR/default-ee.der
+export_cert localhostAndExampleCom default-ee.der
+
 # A cert that is like localhostAndExampleCom, but with a different serial number for
 # testing the "OCSP response is from the right issuer, but it is for the wrong cert"
 # case.
 make_EE ocspOtherEndEntity 'CN=Other Cert' testCA "localhost,*.example.com"
 
 make_INT testINT 'CN=Test Intermediate' testCA
 make_EE ocspEEWithIntermediate 'CN=Test End-entity with Intermediate' testINT "localhost,*.example.com"
 make_EE expired 'CN=Expired Test End-entity' testCA "expired.example.com" "-w -400"
+export_cert expired expired-ee.der
 make_EE mismatch 'CN=Mismatch Test End-entity' testCA "doesntmatch.example.com"
 make_EE selfsigned 'CN=Self-signed Test End-entity' testCA "selfsigned.example.com" "-x"
 # If the certificate 'CN=Test Intermediate' isn't loaded into memory,
 # this certificate will have an unknown issuer.
 make_INT deletedINT 'CN=Test Intermediate to delete' testCA
 make_EE unknownissuer 'CN=Test End-entity from unknown issuer' deletedINT "unknownissuer.example.com"
 $RUN_MOZILLA $CERTUTIL -d $DB_ARGUMENT -D -n deletedINT
 make_INT expiredINT 'CN=Expired Test Intermediate' testCA "-w -400"
@@ -169,16 +178,17 @@ make_EE untrustedissuer 'CN=Test End-ent
 
 make_EE mismatch-expired 'CN=Mismatch-Expired Test End-entity' testCA "doesntmatch.example.com" "-w -400"
 make_EE mismatch-untrusted 'CN=Mismatch-Untrusted Test End-entity' otherCA "doesntmatch.example.com"
 make_EE untrusted-expired 'CN=Untrusted-Expired Test End-entity' otherCA "untrusted-expired.example.com" "-w -400"
 make_EE mismatch-untrusted-expired 'CN=Mismatch-Untrusted-Expired Test End-entity' otherCA "doesntmatch.example.com" "-w -400"
 NSS_ALLOW_WEAK_SIGNATURE_ALG=1 make_EE md5signature-expired 'CN=Test MD5Signature-Expired End-entity' testCA "md5signature-expired.example.com" "-Z MD5" "-w -400"
 
 make_EE inadequatekeyusage 'CN=Inadequate Key Usage Test End-entity' testCA "inadequatekeyusage.example.com" "--keyUsage crlSigning"
+export_cert inadequatekeyusage inadequatekeyusage-ee.der
 make_EE selfsigned-inadequateEKU 'CN=Self-signed Inadequate EKU Test End-entity' unused "selfsigned-inadequateEKU.example.com" "--keyUsage keyEncipherment,dataEncipherment --extKeyUsage serverAuth" "-x"
 
 make_delegated delegatedSigner 'CN=Test Delegated Responder' testCA "--extKeyUsage ocspResponder"
 make_delegated invalidDelegatedSignerNoExtKeyUsage 'CN=Test Invalid Delegated Responder No extKeyUsage' testCA
 make_delegated invalidDelegatedSignerFromIntermediate 'CN=Test Invalid Delegated Responder From Intermediate' testINT "--extKeyUsage ocspResponder"
 make_delegated invalidDelegatedSignerKeyUsageCrlSigning 'CN=Test Invalid Delegated Responder keyUsage crlSigning' testCA "--keyUsage crlSigning"
 make_delegated invalidDelegatedSignerWrongExtKeyUsage 'CN=Test Invalid Delegated Responder Wrong extKeyUsage' testCA "--extKeyUsage codeSigning"
 
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9a992415544a9d6948387527411666148a441434
GIT binary patch
literal 567
zc$_n6Vlp;pVw|&pnTe5!iBZIWmyJ`a&7<u*FC!x>D}#ZMp@0D&8*?ZNvoL!|YH^8z
zv!j8WIIp3Jfw`fvA&@dOjS}ZILFO9h8|oTpL-eS4<|U@27M3QKq$+r)Rw{%RC#I(=
zfDLlZOVLfuE6FUWG-#ZUY%L=z19M|9gF#~_Q)45;nyG54zxO?E`+Wa}1FzYAOVjhQ
zvw;@uTWqoMtXYPVT-p3M-re@^;>2zqyf<gI{1cA<3fs>dHp~@#zesWh6SIo$<%oHq
zv#vgh?R(2DX|voy<l2e|bNBbhf}%QHq}|SKWZva>GUvWZP5b&O{(JO;mfZ{a^4V^#
zS*Oftu{%F6ZF$ec%*epFxW=H$KojUCSwR*h1BE8JOt`nQQ!7hBp3+OLNX#wBN!3fv
z&owY&<IrXUh95g4Ba51Wih&Z0Z@}0lmQhktV5P60lb@WJlaXIsVr5}qVW4lo12SHi
zk?}tZlL3PPH;Bj2!UBpGv^Ze~hKkhI&^lGlJ1-MNy_^3i-p_2|Ut`F+|GIcz`;O*B
ztxda4jc2Hod}HVPa(-)T_{Zt`B8k6c5_)}JOwtfOyZnv*y7cIaEw=l3qxWiC=qJw9
z_C9wdDMO0Gd2*v(*$Ut0Y2x~VrSHPL?4)-kJJxM5ImZ2WzGqIU$aY2U<o^FvKW#Pv
E01sro#{d8T
index b68debcac9705fe2d424fbc85eab296d2cc48ab6..e33f19881080a4208713fb8c4739e16c8d498eed
GIT binary patch
literal 425984
zc%1Cr2{e@d|2O^_`@Zj642g)r(8w-pC`u*!j4k`VFJlT>5+%|`r9wq1m3B$Hvb3T|
zqNpS(qWI7F_<oeSubJ=ppZnbB{@t&~IbH9I*SxQuy+-pMvs|;r!PY;@N7gqqBA5^*
ztA$EMq0uN~Sy>bcRZRKAjhe$k`NQ<f*Ju=N#i%9y%-p0OD7FMwR1y#AcH-Sca-vbf
zWP)qLJv!zC0000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000008`t62!_XDlLsBt3(lqK|aAgQ3NwW
z6yZN3+w#@sCXVK^jwYtI=Cc3!uB?*3x2*kYYde$G8)R+FH^{DCY3;DqTz1t;+2yNN
zTG(1Ica&XiZf|R{++0=GKguUq<DWrOS)GkVbh$Jd<sahh6BijCMER}<Av!8_=4+4t
z9N$CZKYQ$^EG(j;a%h*C3wQ+*{JldWBkd#nV+c_`th3>)SDKkS$<7q15#}x+t3=Si
zYAPEu&m3d@%rSxpM4zC!i?IB5jG5ve$Iw!?U}6!KltX*`6FZt1;NulFcM;~_jxk&Q
zOA-y`<%}$%;{W;A_(w)Y`$WuLhUvG%{8RnoD0mI!EjnmcQ8_vEwxu&y*<5*UkKwng
z?bid)zT!+wSFLtbl_g*)e<;@*L6h=Fi@HDa4eEC^sNcd<zr<6&#Ls+5y$Bvh-Dp!c
zI@HZl>IP5U=u$TX>V`<!=*}Dp`_Fdfh*-^;?LU7HZf2`Jv(=f|E}hxpXSTXCTf)qi
zIJ5Pd3HDFCfAY=jYyPu8b7ak#BWunaS###dnlne%oH?@Q%#pQbW@*jL(wdp2H8V?V
zW|q!ORcEHEGgH->sp|YwojIn?%rTeFToV7!cBX?f|58otKl{|Vnlou}SPIRV$g{gM
zy`H(W*36}~W-g7x{&VSnF8I%Pv}U%rnXUHBmil+&X8u;(%-@Qexn8tq=4#K()yDqw
z9qL>!A8jq1mbS*+uIAkCFBibg?P|~M>dfsfo!iC#yQ?!dO=oVJ&fGMexoJB8nWi%r
zM`tdM&RiUwxi~s=adhV5=*-2@nTtc&)t%cV%<U5AcD?3yz2|m)=5~Gm-JSVC_-B_m
z7l%lV<E>4=dJ|_lj>pcJ>#vTkvK9l2sHNQh>c(&Gf2oJY+&&}aCYp(vvO$w3sW;c$
z{|o>C000000000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000!2fHwBseHr84?$Y^qusXG(hShwUb&&
zcS+Yt7f3avO432nZqjyA7Ku!XCxw&zNd(dck^{+_WJ1y<VM&WfG9+QjWB>pF00000
z00000000000000000000000000000000000000000000000000000000000000000
z0000000000000000000000030qp&eDp;7tkkIKyKY}I=xJ+qTJBq%krleWoMa%P9j
zrzgS6$cRqLy)RB3<IOLLQO9WMb)wWUTyL2ObqwO~5~hwDlbVF6qj%|RLF(vvR9ApH
zx;}r#PaT~eWb;wSwPwz|)X~BI9S?Q1yPCpH9j!79xu~OAT|FmtG%kI{K^+Yob=j#S
z-ugNlb;R{#uu@0tVQv=cxWu%AnK~+M_F|%r3Vo@J)KND5Jp&6PBfFI3Iu6ReTZR;f
zBK;tZkw!=#N$*I#q%KlB=`pF9bdPkCR8P7@I!CG@ogkHy4w3egib(~eZKNzx8i_<o
zAVrhHD3bvI0000000000000000000000000000000000000000000000000000000
z00000000000000000000000000000000000000000Qxa8qR=wbjWl&5McqhJHxks1
zICUdN-H1{*BGipAbt6RG2vRo!)D1s%!$;llQa3!*4L5beMcr^xHyqRrJ9WcG-LO(O
zEYuA%b;Cs6Fj6-RjEpFD4oWZ?5<iOco%ESBK<Xj2lUhl4N!LjiNHwHN(m~R0(soi7
ziA;(og_HbA1kwhQ1Ie0XLeeE^kd#SsByq}Q000000000000000000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z0095<urdmukD#1oW=HASQEGOSoE;@*NAcNFY<3i#9YtnG;n`7Wb`+c)1!hP7*^zH{
z<eeRPW=HPXk!yD3oE<r4NA}r~ZFXdx9a&~a=Gl>Hc4V9#8CVzv*r~^%{F7x!{3z0Q
z(r3~DsfW}~Y9-wzT_;^2)sQMl2T8k0+euj@GAW)EPVy%aNE=8FBx{lhNtdKSQYOif
z#3_>j000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000000000Q}Fx$|!(7f^wFb9i?YSso7C-c9fVM
z#b-yc*-><M6qy}`XGfvgQE+w?m>v0NN50vScXs5N9l2*muGx`ucI22H*=I+#*^za2
zWSJeAXGf;lk#TlpU||$sryhs$PnJm*L?y>2t0oI3S0=lYSV?K5)hXF2Pe|`lxRX1R
z8&blPM^nm3&7}P)iYZPcS(0wDdCCy!94Rp6a*9!M{{QK#3;+NC000000000000000
z00000000000000000000000000000000000000000000000000000000000000000
z00000000000Pw$!7$XiXQuFeF&D!gGp4i>xIagb-FHYKYfef`E^eIcG^g8dsw2Vs%
z#{zUYZzn%IC`~PFe^oYAVElc-&>aP){pZ`WAM51VN>K|6158bCnz~H;HLZ5Lu9s2l
z6`r(}q!t)n-f3z#K6ml^aEjqImB6j&bs?1!)WYDV<3YHe42s)MA6~fkrQ`B^UNVO`
zwICIyA$Il3s*Afel=&nox-b7&mB%1PE%^7F+eMqo>(<>v+Zn!4J%qj=p(#o&5L0f6
z$d<cwp6b*}i5hQbF-o1t7NHixCZ8O0z3F(=L|$9s+kyi<1q}PMg{cKXyTpa^2-|FD
z@fv(;=EHY|ujBHCsD;h<?N`WE|J3?1c>2yA@wQ_v-rL^^QVYH5*M$WQR<o;erEyoh
zmXss%g}oG@7P7P#S3Ga#ZfiixZhS6IoXD~nO6H&W%ddz3Y|>~<s9EoK$|=<R?e&K}
z$N8uQy>ZU?*xReZ5?$qZ`0r7UEM}3+OD&|HS}oTUSzwW-zksA5Va+kA>3g1sT6k>F
zB9bncrIFJrG38cN?7yvjGm4v9F#N3JQW$HIY7pw)sc^E!SuOcfDi^h|V@adb3hB}h
zY9h>Elf(mqO4*OPaZ(G5BAx|YXE~sn&Jy9q{McmImz3%%4r(FiI!A6@bHAp3cFaX1
zabaw_Q&b2$wXpS_sNKcktc7bsn$X=F1%vOL=^?XG3mWcg6=m5^<V_xFF0UhO`K-mu
z|Cp6pxG|j9+MSYj<K(EW7ul0h9<`CPnT1+VaeBBG+Y|NPvQ{8QDrRk>!q4v=%+$iB
zDS452JBbem#|&E5B%0nv*|JnHQ46)^Cvw$Xe-`UIn4OhLer;U)sbLc%wLre#nbsB{
zeAHyE+B1y`cS3<ryBUKhBaYoJNO|&_+<nP%Z#kvCu`c5`%`?t0Q-0vlqzUTJJ?B3I
z00000000000000000000000000000000000000000000000000000000000000000
z000000000000000000000000000000008j+7!I--2MUF@Ss#KTjgoeg5>o0@4wCd!
zrbsR%>6Gpii<Cvl!O1I=2a=DcuqEG1-kS6!>2Z=o;$%`$l2g*zq}U|g!~==sgxd)f
ziOUn26N!lm3H=Fn32O0C@oVFU<4-5>#<#{7#7)F?#>vGo#O;ssh`St@5@#G+9-A5S
zFy>_Jide2#|5%lnk1>uh+R=&8uF+%B7h*)BpGWVBMn}DlQi@`aIvnL2bt5W0$}+M#
zGB4su#JNa^NWsXkNX>}R2$u-`@J-=f;Zx!D5z^t^;RnOn!Un<?hjD}*3kwLl7nU8i
zBJ@P)){v%<6QQ=DT%kdssv#djR)(krhXk(-9ty4w;R${iye()rs3nLma5yMG$Uf*)
zP*@N)a7SQ7!0CV;ftmp$fvW=r0@?y_0Yd(c{y6`~{yY6g{cHWBHa^{W&hMMw(~U73
zbv71lT(?ogFV4@&x7at%Pt5nZAKrJ|x6W6>XToQhkA%-fp9G%{pFKX#-j}`idA;zu
z?Ct6;<(=fM@AbpW-OG@eLUboi5wCj55W9#aL=@o_L6(3b93XfS>Ita?W6wjLn>-pk
z4tbh-GI$a_F&?iy%sdp_z1_{+-?$(4U~+GCPjl;cyXD5>+V7U(X5n_!&DTxQHPdyY
zONC3OtCGt*S1VUGmpd+tT{xUqI4^d-=bY_4=zPpMU_;Y}6HXtTnl=P&P~EU~gY5<`
zrx2%=>$j~BapGD3&`E9m(E4i9Q&L^Z<`kb~Y_dS&%fxF5*$F}MOXJ03-^AXE*&Y)a
zZ5S;Z`9AVNL~%qyxOw=Z(D$KDA-N$T!Ro<$fvth310n+){e?Gv^E>ZX?7P8tnfIjk
z3$OiNDMTZptY?pBgU4nMZ})}nEUvd*D_s0tRycER_~2CKwC(@&e-How0000000000
z000000000000000000000000000000000000000000000000000Koq}7BHGHMEd)A
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
J*zdlL{{TZ{cfbGu
index 4220d56eca66bc502242ba4ab1699cd4219eaa2b..ab99ca96e2bdf6b2bca0a74d055583c13ef27284
GIT binary patch
literal 452
zc$_n6Vmx5b#HhJ|nTe5!iIri2fCjSxFB_*;n@8JsUPeY%Rt5tJLoovpHs(+kW?^3c
zl8n?Mg_6|b5(Q^R137VCLlXmYLt{fAWoQs3&TE3q#iO%vKC&&0tPISJy$lA8olK35
z43AF+*-O_dM(1A;J~Xl7|H`8Y%ieE(!Z`8&e6}OXle|QN6KbwKwb6*2rqm_*u9!bp
z%#>etE^GCiKdFzWy-WGC`$N_Ln|9G@3qE?~ZToxsRgT<lt!-}U5$oSJmP=mQQYn-A
zp-I~F*{94K7rFlh=<|tPS`#41n)OFoNq1dOSw+)LCT2zk#>GIF8wdg2E-TE)_@9Nt
zfDK47F*2eB4l~fbch0?;z2aMx)8CpYmjsOynYZ}43u|qw(cJue(Z5);q-#fX*R^o>
zuDEmK#O%k7B8^*qH+h+zR+1^)^0(sE0?TzhQfAv++BYsUbM2Mh@wcmzyY{N&t9`Sy
vDrVXLI2-q?My=Q+PILD$4JL+f;$gp*EabI(+@2KQTi@RJMb2{m`x$ir!{DjE
index d28b99a7d8397b277ca1db434ce3328248ec9423..51fde37e398a42150c38f8d51d0cf4710ef03c33
GIT binary patch
literal 440
zc$_n6V%%cT#3;LfnTe5!iIri2fCjSxFB_*;n@8JsUPeY%Rt5thLjeOmHs(+kW?}Y_
z)Z!8aXGa4$ab80c19L-TLm*{n5GBrQg3QILr*S^A$&9QF%#FPa292Fejg1VeCVkxV
zYw}Uu&pJ;scJ2ArE?&cAwqj;JZ}3|&7PT)MHFA3|G4<zE&NqtQ(~=`zs@85XnQy<l
z&_nrsc0Q?LT?RZ8eU4T72pYT$FRT-bEj!)%ah7`qcjZqdiPq)U)Xr{fTUA)`mwWT)
zne!aa=4j77ziZ+O)z6-O`~lhK7GEWqJ~J^hGB7R{GY~Nl0=imOn33^63x@$4kYZwF
zL<<mRpnK<AzAW18^M?1|wjcA7P9)vBcgS^4p7z?5x_CWR<C|&Ofp4~k9PcrXoBmJ8
z(V?XN)O;JKGR-HSrnLO#?pb#A`MdRjA&XPzd8ACe)ye%_aZh)3fpOKt)mo42j`G(|
pSd?3Hraha{u|d$;D={u2_(^vT@4IiF2iBavmhg=I<mR3y4*+oeqK^Oo
--- a/security/manager/ssl/tests/unit/xpcshell.ini
+++ b/security/manager/ssl/tests/unit/xpcshell.ini
@@ -90,12 +90,16 @@ run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"
 [test_ocsp_no_hsts_upgrade.js]
 run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"
 [test_add_preexisting_cert.js]
 [test_keysize.js]
+[test_cert_chains.js]
+run-sequentially = hardcoded ports
+# Bug 1009158: this test times out on Android
+skip-if = os == "android"
 [test_client_cert.js]
 run-sequentially = hardcoded ports
 # Bug 1009158: this test times out on Android
 skip-if = os == "android"