(rowString->charAt(col));
}
} else {
row->r16.fAccepting = 0;
diff --git a/thirdparty/icu4c/common/uloc.cpp b/thirdparty/icu4c/common/uloc.cpp
index 522f33dbe24..ebfbb506508 100644
--- a/thirdparty/icu4c/common/uloc.cpp
+++ b/thirdparty/icu4c/common/uloc.cpp
@@ -877,6 +877,9 @@ uloc_setKeywordValue(const char* keywordName,
if(U_FAILURE(*status)) {
return -1;
}
+ if (*status == U_STRING_NOT_TERMINATED_WARNING) {
+ *status = U_ZERO_ERROR;
+ }
if (keywordName == NULL || keywordName[0] == 0 || bufferCapacity <= 1) {
*status = U_ILLEGAL_ARGUMENT_ERROR;
return 0;
@@ -914,6 +917,7 @@ uloc_setKeywordValue(const char* keywordName,
startSearchHere = (char*)locale_getKeywordsStart(buffer);
if(startSearchHere == NULL || (startSearchHere[1]==0)) {
if(keywordValueLen == 0) { /* no keywords = nothing to remove */
+ U_ASSERT(*status != U_STRING_NOT_TERMINATED_WARNING);
return bufLen;
}
@@ -933,6 +937,7 @@ uloc_setKeywordValue(const char* keywordName,
startSearchHere += keywordNameLen;
*startSearchHere++ = '=';
uprv_strcpy(startSearchHere, keywordValueBuffer);
+ U_ASSERT(*status != U_STRING_NOT_TERMINATED_WARNING);
return needLen;
} /* end shortcut - no @ */
@@ -1047,13 +1052,27 @@ uloc_setKeywordValue(const char* keywordName,
if (!handledInputKeyAndValue || U_FAILURE(*status)) {
/* if input key/value specified removal of a keyword not present in locale, or
* there was an error in CharString.append, leave original locale alone. */
+ U_ASSERT(*status != U_STRING_NOT_TERMINATED_WARNING);
return bufLen;
}
// needLen = length of the part before '@'
needLen = (int32_t)(startSearchHere - buffer);
- return needLen + updatedKeysAndValues.extract(
+ // Check to see can we fit the startSearchHere, if not, return
+ // U_BUFFER_OVERFLOW_ERROR without copy updatedKeysAndValues into it.
+ // We do this because this API function does not behave like most others:
+ // It promises never to set a U_STRING_NOT_TERMINATED_WARNING.
+ // When the contents fits but without the terminating NUL, in this case we need to not change
+ // the buffer contents and return with a buffer overflow error.
+ int32_t appendLength = updatedKeysAndValues.length();
+ if (appendLength >= bufferCapacity - needLen) {
+ *status = U_BUFFER_OVERFLOW_ERROR;
+ return needLen + appendLength;
+ }
+ needLen += updatedKeysAndValues.extract(
startSearchHere, bufferCapacity - needLen, *status);
+ U_ASSERT(*status != U_STRING_NOT_TERMINATED_WARNING);
+ return needLen;
}
/* ### ID parsing implementation **************************************************/
diff --git a/thirdparty/icu4c/common/unicode/docmain.h b/thirdparty/icu4c/common/unicode/docmain.h
index b7984ada032..edcb5d4e835 100644
--- a/thirdparty/icu4c/common/unicode/docmain.h
+++ b/thirdparty/icu4c/common/unicode/docmain.h
@@ -143,6 +143,11 @@
* icu::MessageFormat |
*
*
+ * List Formatting |
+ * ulistformatter.h |
+ * icu::ListFormatter |
+ *
+ *
* Number Formatting (includes currency and unit formatting) |
* unumberformatter.h, unum.h |
* icu::number::NumberFormatter (ICU 60+) or icu::NumberFormat (older versions) |
diff --git a/thirdparty/icu4c/common/unicode/urename.h b/thirdparty/icu4c/common/unicode/urename.h
index 20232cd209c..fe59fdd893d 100644
--- a/thirdparty/icu4c/common/unicode/urename.h
+++ b/thirdparty/icu4c/common/unicode/urename.h
@@ -1137,6 +1137,7 @@
#define ulocimp_toLanguageTag U_ICU_ENTRY_POINT_RENAME(ulocimp_toLanguageTag)
#define ulocimp_toLegacyKey U_ICU_ENTRY_POINT_RENAME(ulocimp_toLegacyKey)
#define ulocimp_toLegacyType U_ICU_ENTRY_POINT_RENAME(ulocimp_toLegacyType)
+#define ultag_getTKeyStart U_ICU_ENTRY_POINT_RENAME(ultag_getTKeyStart)
#define ultag_isExtensionSubtags U_ICU_ENTRY_POINT_RENAME(ultag_isExtensionSubtags)
#define ultag_isLanguageSubtag U_ICU_ENTRY_POINT_RENAME(ultag_isLanguageSubtag)
#define ultag_isPrivateuseValueSubtags U_ICU_ENTRY_POINT_RENAME(ultag_isPrivateuseValueSubtags)
diff --git a/thirdparty/icu4c/common/unicode/uvernum.h b/thirdparty/icu4c/common/unicode/uvernum.h
index a4cbb9e0fe8..a46481a3fe6 100644
--- a/thirdparty/icu4c/common/unicode/uvernum.h
+++ b/thirdparty/icu4c/common/unicode/uvernum.h
@@ -66,7 +66,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.6
*/
-#define U_ICU_VERSION_MINOR_NUM 1
+#define U_ICU_VERSION_MINOR_NUM 2
/** The current ICU patchlevel version as an integer.
* This value will change in the subsequent releases of ICU
@@ -139,7 +139,7 @@
* This value will change in the subsequent releases of ICU
* @stable ICU 2.4
*/
-#define U_ICU_VERSION "68.1"
+#define U_ICU_VERSION "68.2"
/**
* The current ICU library major version number as a string, for library name suffixes.
@@ -158,7 +158,7 @@
/** Data version in ICU4C.
* @internal ICU 4.4 Internal Use Only
**/
-#define U_ICU_DATA_VERSION "68.1"
+#define U_ICU_DATA_VERSION "68.2"
#endif /* U_HIDE_INTERNAL_API */
/*===========================================================================
diff --git a/thirdparty/icu4c/common/wintz.cpp b/thirdparty/icu4c/common/wintz.cpp
index 37302322863..580cedadb67 100644
--- a/thirdparty/icu4c/common/wintz.cpp
+++ b/thirdparty/icu4c/common/wintz.cpp
@@ -36,17 +36,58 @@
U_NAMESPACE_BEGIN
+// Note these constants and the struct are only used when dealing with the fallback path for RDP sesssions.
+
+// This is the location of the time zones in the registry on Vista+ systems.
+// See: https://docs.microsoft.com/windows/win32/api/timezoneapi/ns-timezoneapi-dynamic_time_zone_information
+#define WINDOWS_TIMEZONES_REG_KEY_PATH L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones"
+
+// Max length for a registry key is 255. +1 for null.
+// See: https://docs.microsoft.com/windows/win32/sysinfo/registry-element-size-limits
+#define WINDOWS_MAX_REG_KEY_LENGTH 256
+
+#if U_PLATFORM_HAS_WINUWP_API == 0
+
+// This is the layout of the TZI binary value in the registry.
+// See: https://docs.microsoft.com/windows/win32/api/timezoneapi/ns-timezoneapi-time_zone_information
+typedef struct _REG_TZI_FORMAT {
+ LONG Bias;
+ LONG StandardBias;
+ LONG DaylightBias;
+ SYSTEMTIME StandardDate;
+ SYSTEMTIME DaylightDate;
+} REG_TZI_FORMAT;
+
+#endif // U_PLATFORM_HAS_WINUWP_API
+
/**
-* Main Windows time zone detection function.
-* Returns the Windows time zone converted to an ICU time zone as a heap-allocated buffer, or nullptr upon failure.
+* This is main Windows time zone detection function.
+*
+* It returns the Windows time zone converted to an ICU time zone as a heap-allocated buffer, or nullptr upon failure.
*
-* Note: We use the Win32 API GetDynamicTimeZoneInformation (available since Vista+) to get the current time zone info.
-* This API returns a non-localized time zone name, which is mapped to an ICU time zone ID (~ Olsen ID).
+* We use the Win32 API GetDynamicTimeZoneInformation (which is available since Vista) to get the current time zone info,
+* as this API returns a non-localized time zone name which can be then mapped to an ICU time zone.
+*
+* However, in some RDP/terminal services situations, this struct isn't always fully complete, and the TimeZoneKeyName
+* field of the struct might be NULL. This can happen with some 3rd party RDP clients, and also when using older versions
+* of the RDP protocol, which don't send the newer TimeZoneKeyNamei information and only send the StandardName and DaylightName.
+*
+* Since these 3rd party clients and older RDP clients only send the pre-Vista time zone information to the server, this means that we
+* need to fallback on using the pre-Vista methods to determine the time zone. This unfortunately requires examining the registry directly
+* in order to try and determine the current time zone.
+*
+* Note that this can however still fail in some cases though if the client and server are using different languages, as the StandardName
+* that is sent by client is localized in the client's language. However, we must compare this to the names that are on the server, which
+* are localized in registry using the server's language. Despite that, this is the best we can do.
+*
+* Note: This fallback method won't work for the UWP version though, as we can't use the registry APIs in UWP.
+*
+* Once we have the current Windows time zone, then we can then map it to an ICU time zone ID (~ Olsen ID).
*/
U_CAPI const char* U_EXPORT2
uprv_detectWindowsTimeZone()
{
- // Obtain the DYNAMIC_TIME_ZONE_INFORMATION info to get the non-localized time zone name.
+ // We first try to obtain the time zone directly by using the TimeZoneKeyName field of the DYNAMIC_TIME_ZONE_INFORMATION struct.
DYNAMIC_TIME_ZONE_INFORMATION dynamicTZI;
uprv_memset(&dynamicTZI, 0, sizeof(dynamicTZI));
SYSTEMTIME systemTimeAllZero;
@@ -86,22 +127,138 @@ uprv_detectWindowsTimeZone()
// Note '-' before 'utcOffsetMin'. The timezone ID's sign convention
// is that a timezone ahead of UTC is Etc/GMT- and a timezone
// behind UTC is Etc/GMT+.
- int ret = snprintf(gmtOffsetTz, UPRV_LENGTHOF(gmtOffsetTz), "Etc/GMT%+d", -utcOffsetMins / 60);
+ int ret = snprintf(gmtOffsetTz, UPRV_LENGTHOF(gmtOffsetTz), "Etc/GMT%+ld", -utcOffsetMins / 60);
if (ret > 0 && ret < UPRV_LENGTHOF(gmtOffsetTz)) {
return uprv_strdup(gmtOffsetTz);
}
}
}
- // If DST is NOT disabled, but we have an empty TimeZoneKeyName, then it is unclear
- // what we should do as this should not happen.
+ // If DST is NOT disabled, but the TimeZoneKeyName field of the struct is NULL, then we may be dealing with a
+ // RDP/terminal services session where the 'Time Zone Redirection' feature is enabled. However, either the RDP
+ // client sent the server incomplete info (some 3rd party RDP clients only send the StandardName and DaylightName,
+ // but do not send the important TimeZoneKeyName), or if the RDP server has not appropriately populated the struct correctly.
+ //
+ // In this case we unfortunately have no choice but to fallback to using the pre-Vista method of determining the
+ // time zone, which requires examining the registry directly.
+ //
+ // Note that this can however still fail though if the client and server are using different languages, as the StandardName
+ // that is sent by client is *localized* in the client's language. However, we must compare this to the names that are
+ // on the server, which are *localized* in registry using the server's language.
+ //
+ // One other note is that this fallback method doesn't work for the UWP version, as we can't use the registry APIs.
+
+ // windowsTimeZoneName will point at timezoneSubKeyName if we had to fallback to using the registry, and we found a match.
+ WCHAR timezoneSubKeyName[WINDOWS_MAX_REG_KEY_LENGTH];
+ WCHAR *windowsTimeZoneName = dynamicTZI.TimeZoneKeyName;
+
if (dynamicTZI.TimeZoneKeyName[0] == 0) {
+
+// We can't use the registry APIs in the UWP version.
+#if U_PLATFORM_HAS_WINUWP_API == 1
+ (void)timezoneSubKeyName; // suppress unused variable warnings.
return nullptr;
+#else
+ // Open the path to the time zones in the Windows registry.
+ LONG ret;
+ HKEY hKeyAllTimeZones = nullptr;
+ ret = RegOpenKeyExW(HKEY_LOCAL_MACHINE, WINDOWS_TIMEZONES_REG_KEY_PATH, 0, KEY_READ,
+ reinterpret_cast(&hKeyAllTimeZones));
+
+ if (ret != ERROR_SUCCESS) {
+ // If we can't open the key, then we can't do much, so fail.
+ return nullptr;
+ }
+
+ // Read the number of subkeys under the time zone registry path.
+ DWORD numTimeZoneSubKeys;
+ ret = RegQueryInfoKeyW(hKeyAllTimeZones, nullptr, nullptr, nullptr, &numTimeZoneSubKeys,
+ nullptr, nullptr, nullptr, nullptr, nullptr, nullptr, nullptr);
+
+ if (ret != ERROR_SUCCESS) {
+ RegCloseKey(hKeyAllTimeZones);
+ return nullptr;
+ }
+
+ // Examine each of the subkeys to try and find a match for the localized standard name ("Std").
+ //
+ // Note: The name of the time zone subkey itself is not localized, but the "Std" name is localized. This means
+ // that we could fail to find a match if the RDP client and RDP server are using different languages, but unfortunately
+ // there isn't much we can do about it.
+ HKEY hKeyTimeZoneSubKey = nullptr;
+ ULONG registryValueType;
+ WCHAR registryStandardName[WINDOWS_MAX_REG_KEY_LENGTH];
+
+ for (DWORD i = 0; i < numTimeZoneSubKeys; i++) {
+ // Note: RegEnumKeyExW wants the size of the buffer in characters.
+ DWORD size = UPRV_LENGTHOF(timezoneSubKeyName);
+ ret = RegEnumKeyExW(hKeyAllTimeZones, i, timezoneSubKeyName, &size, nullptr, nullptr, nullptr, nullptr);
+
+ if (ret != ERROR_SUCCESS) {
+ RegCloseKey(hKeyAllTimeZones);
+ return nullptr;
+ }
+
+ ret = RegOpenKeyExW(hKeyAllTimeZones, timezoneSubKeyName, 0, KEY_READ,
+ reinterpret_cast(&hKeyTimeZoneSubKey));
+
+ if (ret != ERROR_SUCCESS) {
+ RegCloseKey(hKeyAllTimeZones);
+ return nullptr;
+ }
+
+ // Note: RegQueryValueExW wants the size of the buffer in bytes.
+ size = sizeof(registryStandardName);
+ ret = RegQueryValueExW(hKeyTimeZoneSubKey, L"Std", nullptr, ®istryValueType,
+ reinterpret_cast(registryStandardName), &size);
+
+ if (ret != ERROR_SUCCESS || registryValueType != REG_SZ) {
+ RegCloseKey(hKeyTimeZoneSubKey);
+ RegCloseKey(hKeyAllTimeZones);
+ return nullptr;
+ }
+
+ // Note: wcscmp does an ordinal (byte) comparison.
+ if (wcscmp(reinterpret_cast(registryStandardName), dynamicTZI.StandardName) == 0) {
+ // Since we are comparing the *localized* time zone name, it's possible that some languages might use
+ // the same string for more than one time zone. Thus we need to examine the TZI data in the registry to
+ // compare the GMT offset (the bias), and the DST transition dates, to ensure it's the same time zone
+ // as the currently reported one.
+ REG_TZI_FORMAT registryTziValue;
+ uprv_memset(®istryTziValue, 0, sizeof(registryTziValue));
+
+ // Note: RegQueryValueExW wants the size of the buffer in bytes.
+ DWORD timezoneTziValueSize = sizeof(registryTziValue);
+ ret = RegQueryValueExW(hKeyTimeZoneSubKey, L"TZI", nullptr, ®istryValueType,
+ reinterpret_cast(®istryTziValue), &timezoneTziValueSize);
+
+ if (ret == ERROR_SUCCESS) {
+ if ((dynamicTZI.Bias == registryTziValue.Bias) &&
+ (memcmp((const void *)&dynamicTZI.StandardDate, (const void *)®istryTziValue.StandardDate, sizeof(SYSTEMTIME)) == 0) &&
+ (memcmp((const void *)&dynamicTZI.DaylightDate, (const void *)®istryTziValue.DaylightDate, sizeof(SYSTEMTIME)) == 0))
+ {
+ // We found a matching time zone.
+ windowsTimeZoneName = timezoneSubKeyName;
+ break;
+ }
+ }
+ }
+ RegCloseKey(hKeyTimeZoneSubKey);
+ hKeyTimeZoneSubKey = nullptr;
+ }
+
+ if (hKeyTimeZoneSubKey != nullptr) {
+ RegCloseKey(hKeyTimeZoneSubKey);
+ }
+ if (hKeyAllTimeZones != nullptr) {
+ RegCloseKey(hKeyAllTimeZones);
+ }
+#endif // U_PLATFORM_HAS_WINUWP_API
}
CharString winTZ;
UErrorCode status = U_ZERO_ERROR;
- winTZ.appendInvariantChars(UnicodeString(TRUE, dynamicTZI.TimeZoneKeyName, -1), status);
+ winTZ.appendInvariantChars(UnicodeString(TRUE, windowsTimeZoneName, -1), status);
// Map Windows Timezone name (non-localized) to ICU timezone ID (~ Olson timezone id).
StackUResourceBundle winTZBundle;
@@ -123,18 +280,29 @@ uprv_detectWindowsTimeZone()
int regionCodeLen = GetGeoInfoW(geoId, GEO_ISO2, regionCodeW, UPRV_LENGTHOF(regionCodeW), 0);
const UChar *icuTZ16 = nullptr;
- int32_t tzLen;
+ int32_t tzListLen = 0;
if (regionCodeLen != 0) {
for (int i = 0; i < UPRV_LENGTHOF(regionCodeW); i++) {
regionCode[i] = static_cast(regionCodeW[i]);
}
- icuTZ16 = ures_getStringByKey(winTZBundle.getAlias(), regionCode, &tzLen, &status);
+ icuTZ16 = ures_getStringByKey(winTZBundle.getAlias(), regionCode, &tzListLen, &status);
}
if (regionCodeLen == 0 || U_FAILURE(status)) {
// fallback to default "001" (world)
status = U_ZERO_ERROR;
- icuTZ16 = ures_getStringByKey(winTZBundle.getAlias(), "001", &tzLen, &status);
+ icuTZ16 = ures_getStringByKey(winTZBundle.getAlias(), "001", &tzListLen, &status);
+ }
+
+ // Note: We want the first entry in the string returned by ures_getStringByKey.
+ // However this string can be a space delimited list of timezones:
+ // Ex: "America/New_York America/Detroit America/Indiana/Petersburg ..."
+ // We need to stop at the first space, so we pass tzLen (instead of tzListLen) to appendInvariantChars below.
+ int32_t tzLen = 0;
+ if (tzListLen > 0) {
+ while (!(icuTZ16[tzLen] == u'\0' || icuTZ16[tzLen] == u' ')) {
+ tzLen++;
+ }
}
// Note: cloneData returns nullptr if the status is a failure, so this
diff --git a/thirdparty/icu4c/icudt68l.dat b/thirdparty/icu4c/icudt68l.dat
index 548c1a5a7219c24a5b3826d6f3e03cea4084cfc0..9ecea5d548e142cc34f7d3aa0d43d83e61e5545f 100644
GIT binary patch
delta 107610
zcmZ^~30M@z_BY(!vmgUP&pyK{pezHjZvuh>0-~ZpqXrWdWM2jX2#Q`OVGkHK6Uo(F
zO~9tpc3O-kl4xRFQBlF5VxqYk_I(D29TWWy`oI6&_kF&Xc~1YjPMxZ*KBwwe3p4k+
zhtNwsL+I&W(eTrAE=W5EK^7fzMF!^4!42VZ5#(N=8?p!x+2DqF0RHjN4cQ3zL5dfm
z1jNsKAs+%>n(;!80wQk}SYjoX7z#3vED$yb2ZRfv1F`@_7la3*2ci$M5X1n)5CjL|
zg9t!`AR-Vkhy+9mA_I|w7=ajrn1Gmqn1PssECR6ru>`RKSq!oS#2Ul~#1_O3L;+&o
zWQjQ(Xf!H8#X(3g6k3IBgli}g
z2G@1SJ53J{It!Ph=W7RVIs2kfwM$x@tpHZHIOhUfZgCDpx76z1cK!k2>TTyrbW795
zJIzekQh}?VPN}gfbKl0wqbM9o03^-0UF2_5GWthS*@Qy5uAFV{Y>i?RkpV3>lWRtIbL)OJ+ps~g5pS=b!Y{m0_)%dmg=jfIC
z+2(qcCe2mpndP$=?_!SNgN?p;Z=)YRYKbZ+gCP7WWtb>UbWQS1@kzx;8-4H@rU~zC
zT!v3DpGLdJddB%A-~&uE-rwkn4>fv0mNz0u3&}RlcHixt8`#MVX&O-|$VDd`b*35@
zfPrqBpK?X|hRmoew4W&+RyA^P4f7Y)&Ac3BUQIS4XjdaP-pIno8`%lg37&~QN&d+Z
zsrWeaCqBqb;{D7N*2PRuGBZ=mEZWJ;4KgpHy<;}*ij6}@h(%gvg5Apu4>2Pn%&3}C
zYZ(nT#*95@o@*H`R4}fuT%Ku>>6qo38!^zh5bsho3fY~^#lc3=2;nr^DAqPgzyngH
zd%AxH+Dm?{WiG%|zSB11Xn!ML-6)7Njq^$MPs92e4b=>-Wllj$^|8)IgKmcGVZMrX
zkMZ7xYM9+xCL5n>9o%#kGx=sJ78+x^XeCXZyJ)k&B2(x3M`4$ve%N_T@JRthqsyXbmULDy}-
zZ`1X={c|?u#_qW@x)<%FJE!O_)&Tuzg#LAu{_Q#a80#T_7@?m`(!Zkv^uM3ePgDMp
zu{vY>`^wDBto&^5bN%P^c`f~5oPIb#cl6M|^wRA^^nGlQzA{Q*ougIPa1DJOo1||{
z(Kn~*TkIbCb{~DGpT0Xpw@%Y-DS@exX)(&wbgYm5xu3rDoW6{W&}X&uw-fYtplh0;
zzn`UlfM=hdr7z$E^iOdiaogjw6ZRyQCUJ-Lhv`$JbfbnoJw<=hRsT&N{dGUhuzKi!
zjnc<7^zjK5{RKWqe~ER|Cp0uMNjE_4Up=QOEqyXNI3{XWaV!{r)=&R)fIc!wA7u^E
z(
zP(|@;$1=Zxi-QDvGe_utOhK#q)+pBDt@Hr?nC{QonH`&>%){0Hi30N*m`tuzK!;==
zIoLa
z<#aM_sDf#Y!0$0__%QQJ3{Xb`Fv=i3timVh9teCd-boK;T>UiT#O(VGk1`v2vJl%n
zg(J(fc9Xi3^xi32HBEn@br`2JC+HkYmV$OzcjD(r#U{L+c1GK1r-$^?5qi@o{f?U6
zsiEVar}fzNc=ytN{q)K~I((Sk07X25UDx<*6eKBo=ww_ZY4OT~
z>2*OFDhO}t2%R=gD`&}U=zVVw(wj%iI*#2>Ck)ex&*`K|I(e2(NdSIG+?u3JE=+-L^_G^79H%$3I_bc1
zI%t{>o}*W>2I-JtI#f-EO{(bC(1JDn^x6@6-6$P_Yw7jT;W0VT@#<3ISbg;J0os3%
z4j89baL4t>>BSTDk}2AHj<)HeEe2@I=d=~pN!#|)c4M@HtJYW3ZW`KMOS~GVJ-Qu+
zX_pb&)shp*k96GV`Z`!R1Pg~~K?Gf(=c%sKj(o2(^is5&_8Fjk5s7lwZu=445o&mx
z`h9|$*}XP*L+5|`BlQ60rTf4N)B}8yn!`J(7nxFEbN_67jGDzdsfiwHvY(p5$Ej(c
z@bC<@lhSIaaaI?3r=L=*Da`~mhO4RP@y;pI6vtHWG!>YRg4Ljg8Uh%Zpd91f6TOqr
z5vqTT8o)=W9=PpQQ+?49F$Z>)#@58Kd#Fwg)ukme#)*s>s+-+UJsfczrG6cwew(Bo
zLkl}L2oh7rs7L4^^<>q+WQteg6)pL#i`qW(lg>8tii
zHM$yV%_J?KrcL%bjMCspJ`4@>bid5C*&B9m%7va}s-exWE?U$_i#4EtrP7GfCZ@rEVwqr1&ebe(Hvr
zx;akW!n>(!s7gy+pQ4%(%k1NW)*3_bftK1lexhcAikhu&9i;SzDb5JB0vPFh^EyGg
zvY!apv;6gVjqRr#2Pk*&YSJi`%$e4mrj#>O`W%%pOr?xcsZ&(i{P3Z&r>Wg@RL(H<
z{wS5Hrn0hwcSq%9sYF&cwXKhOcaVBdOKoR$Qai?|omwh-oQi=?
zwM$LK&QftnMap1cy6qWx?^k7FJ=B&VYO98Nhuukq_EBMj)av1LM$=R{q}TRR>jtQZ
zaccbxwShH8y){lnPEZ?Xs7=tH-cIsQNlZPE27U>iq*SYBs1Q~k<)x;)$E~L+U+6x|
z)(PTb`zRmQAmukgEgz%&r>Ov}ms&YS1&&ieajWC}j}zclCtfgEPE-dVQMk7#jcl9s4065OthlRnB+Pi;Can5GuaTF+7V->X9Pw=Nn=Z=BNa*X^ek
z3{two6tA1&^ibSBN(Y|8*HD7zlyH&~O;cj_ASD^2q|YgtmXc3WMuQp6b50NJ0T
z{nWoS)G>hLbJQ2{Uhz>0+Y^;ZuU-GyB=yf(>c|{*w2%69kUBg>)#6&}W9U1TT~yTw
zRgHB~HNDiKY3h?`|6R$kRdJvwo2JTVRMf%OHS8Os_CKfoF-{%mruOtvdxxpK`Kg8~
z&`^bwR8c4OK`-@TAC(W?y=0s!jlZ!m>Du9>6O!Z;*HRkzsfclQc)wJmuOY`L$QP63
zUsDv?PyTz5e5NMHa>cpMdG4L$%`UPHIv|D)P^>wMo$a{WHD{jxP`sb~lhsMS)R3=c
z>mSZhNOE|Z3+xL5)7NI=-Q*mmCPy`-dW_Vd=&$;lCN
zD%m~7I~CT-#FRdN&eA8cB=YN
z1=+P$kd)R%cH>>-L++UV82Q_C^6@13WRCp3hwSJjAB~c~LK~mL;yP*??z+ast7izT`CvDLI(r%DcBzvYw=l4bFKAHF+39D+-93LPp@JZ4t
z*)hd66%=Op5GiB#lJa5FXo57JCQW8Y(^#We_xRuhw2Kt?k`h><UaaDZqP4VYE+7
z@Gh*A)bAx14v+?@n$*#f3sj)d?IL-zq@G@;(V#AD5vIsx)1*(PVz*-_X^(f3Uibv*
zoghtcPx4PgyGf4`(i0sf9W|sY_{$wu`~GpbnsmXsNQY5!sg`s^HKfxd>5SO!zBD?V
ztqqv6og%BJ$+NSV!gb}^wSwquHF+6RkUs}0HmUG-@-p5^UYcKYlb5t);W+uPNlbAf
zcIAoWcLZ^HgQRNMdxXpyCHJVw0u5REpShS+vK3_NO4lII)jqI-Bs1`4G7V4(HKyko
z=XrM$r~An*gXFFuGJ!QfUK=8>Ysuyb^2Tnz9A)l-Jr#SQv#74jkXLm^^+(CC)g&`U
zo*E|`yU4G4NUE1SIYiP}KY3b9eltU!!G_3hHRN~C$#bvGFN~2tPLn^)krzA3rf%~4
zUf2eZ=Tj~{%-EF?{(eSgaaP@`Y?${?jFNrPt*u9zWfU}x7yR%pmd6__0A
zBR?4@Kb<8Hb70{?9vLT(PLiK@leL57XG7#aU-z^xhsZiDS>Ht->miT#kzb^2NR3L%
zP}XfpXAhDe4U@$qWZ5`bK1Uve5WPP{X0p^|_H%Og1er5K=5n>xTGw&%gGutkX)=F4
z3@iS}w<_rV``6-E$bY;Jz=1Au?*N&nA@{Mn$-+Le2t24Ji^s^4_{jLMgsq8*Nna$h
zddS3nGHIMlo+VQ-4Y^56zCBBBhR(mWk9=p0j9T#A@Hx4CoZK-%?wls0=g62&a$6Vq
z?(o;eYVtjBWb7mvH%-RF4nvi*>+{&UusG<3Z>h=1IdY@Up#C5kFhs5xC0A<5z)sS)
zi}dRzm-mqVoaegF$&eW`be0V3A%jNA;4yL)tDjswOooq;YbMCGtX^{602whtuAd+`
z#Mgb7a3VPo5$;~5HH0PM1c^WODwjzR7l
z@oU5%e7AGNANXCOGu1oQFD*p5Aw4wp24>2)8OtO23sa|4wh?r3m
zvl?O!>n8pjBL12nUPf$&THVxIbw=fP`j*7#k&?cM>Cg#ArXEX7>|a!$h}gl<1iz
zdgq8fyo>0^XNdujA%wqsN2{+T9!wJtXNZnD;!zjzOE=NpL)`BtE@6Gd
zZ(8E)IPq8+m7bi*?jne8*IpuOg19?Pw8Bf?1_D=h5qIDPF832xG{jXMSdkD{wZzSF
z;?@Mw(nDP9Bd!k;&7;JP1ixgfWbc$P*jS^ZD&pc4@iR6|G^vU2Cy5_WHF187xPT86
zKP9*)`olV$_->Rq2kNsLA|71wZLDpqBP@Wx;tbYHoKzFEmiU?j%V*-WmRLGReA7iR
zL&T{Oq7kSubr-nqE8S7UQQ}`};@C8Ce3tlPj`*^Z_^glkXFqX7H9#C4B0hgzo|q*X
z<_Hqp)JN2h5+`ove?C*WR&FkQhBp?96rF
zZEyKjtS>hdhl86M8
zP2irlXNk>-apt=N7UPm}LO$s*MVQYLi=aZ&P(f;RKVddd4`U1lpdeT9dLdBX*<0U_
z_Yg2G5h^)spEhMf%4DAW2+1fR9VcW1gm8!u4HIIti!hodjFTc$ol{-Y{L)i1AO?Ks
zN_stnKKOrOKVhK86m`1->rVaGktFnHJZVL8a0;u7&>0~XXb9a|f`@k#EO-a@D8ZQ`
zxN((nbsxMNU-w}`U4G*003c%oswJ>NhvE8{qxG-m4?64K`L9~_)-By6-Q@VT_hvZ2
ze1YDqpMF$7gWj&6oj>vX_M`tCc)mI9d|W?S`wxzb75ZoGmmHU+s-;uJ+PPJG=cjwZ
z0@V=fCy5PsKk?RX)7_3a;khsbBG{coXg3koL#*y6!Y7C|5W{tuD`4l(8YP0ph~RNz
z)hrQ$4LA%EE5?bH5WfG}l7O@Q;f#a`01^pI2u?OiUZD(5hj;fKB;3acziDE*3Y_hO
z4-r<-t#>AY1HGRU%eeC+)lEadhS_6|@a!a<2MCuz!WF{d73~+3xGOU@Ck}|tQB63_
zuh5Al!-Tb#u$dxkdkD)u!m6KG4B2+i2?hAp9#<0%iWAe(7f-|>R#`-^DfIjLuhjL7
zrv96zJ6x9;RCO1PcG$&F)KCrl%uePGnxV+z@19BG$H9&kjdMuiC&8kKKR@ela(}z7
zWV0YT3C{R92_XsLi5rs87)2%=__p8^sG|OxK>Wcferi8+1CK^Kw+^xuG#TW&fOD
zCj2Ix=CzU!@SDs{{4#S3{Ihl)-a)Kg9_<{rKc27bXPP-_{4__UYYsk9Pr@-v8SFlv
zCA?We(w|L|@4|ufHC)SF=ci86p9>PAwe(=^2f8lCDt$PNyo$#9D^WPd8Gy}g_*yt7
z499zzOIU(qruSYLf(DS6pkXe;7wC=GWpqqaQ2(3*bSaF!AHO3XO1#IV9}1MR97WFL-oN?^m*9e
zcfdZMp9ymjmh7DFxtp)lQYYu%??--OKl9VN{SkF1*0T}XCFbR-uI68~|tBr&)=vDV|DLx^^>P<3kJuk30!y
z5E+9Ejm5evy))sU_LPQc#9@yK?qK+PN2wL?;xTLEHl%FM;wMfrO{fxF)x~@V`QP%R
zCyw)TJDGF*d8VqB>A9G3zJdplwZ3{T=Bnq9=$-fjCT`P;xAQl%E;Bo?Gcm19^uzi?
zdaa@k-46Q6Bl_lJ`h!-6XrnK-)6KW9Ke$bwy~DhFmp;S3%rx9!w%;dq{Ko8fOixDS
zN0e=-3y-Wz+o<0veW3q<+5C_^(!p%`jXBZEY-*$9+nKjpbX%Cn+w_LJ%*LyX>aFXv
z>K46;dqe*QJ$j1?zC)~Oqg0ofl~r4>uj_85z17_VL>hW*Hr90H{T_(JpS#y~Q
zxz2<(GhsLAD>sS#tn18%Hfjw#>k)0T=GfZ0pmhj-*Yttm11jnvrTCTB{6-l(W>(xK
zm$xx>zcBvoOntL{Gqe1LigLWoe0it-tINz6R~g@Hj2|3nq1PGbyUcO+EynXc60J|LG|WtLte4X-m6*exQjjrg#gD1q0%
zuYaGheZbf~q$eIRidJUHJ;wSM#-@2eGqd<+!W}Z}GGlc`MNeO6{>8q_*taqc?Zm4G
zB=(SG1w{te1+L=U*S$}~Jz#1dGnSVb)2ocxbz-Ywn^A{;2P1n#&;G_7eN4#P81X$u
z(#}X9(%M_i2X8TgJB;uyBWh)iaBl0~CM?<*
z6;#yBLvncsW6;XzwK4j?Fbi+#-lF*}jP4zVce(!O>kPM<(a~?0KGc6ms~<7!Um4Eh
z`t9uudY{1_Fs!?}cbR{-(XW1CkZbgx&CF+a(qLwFad73kon~s`Y>+$xqvI=F11sh6
zwfJRnoS)H6{s!Y$35QIRq^cjbLEUI4c?%XGXtYlTKN?PpNc(X79%+xJDRQ9u9|Fp#
z;V8|NFhsNYiG$2xerzXMz|ZUj%hEOIJ;t@2ERA+f3{K)_k29abu!jkp`2?oecVNh;
zxu)ZAOblE430w;$_N>8gl6ykk!|L8$El_1gj}Xc1xRBJS^qrY`yU}DAIg`|VSa{sy
zr-M0hIuyT7oaWC@#W1Y0@d2V`{(oPiL_8Y3Ar2pgg>O`lW9a<(X#GL_H%5-P!#YCE
zlyFjIsm^Khq|(n+^LI}ZP?+mY8gkfSi_W!ublwimQU
zlU`SnQTNeae&z^oo!chS{7k(Szs>vuRkhG{?aY4sGCj1;G17k{DEDF4n7y|tPAlP$
zwJ~}3X@`fjTtUlMdI$Q2u3dxPAb)<$xZ`)29B66ojrxy%tKW}ar&`;YJy;5a9yaFi
zAGXo@K3I0_SH=5Vu)zuyHOInXgnhpQnNC!J*Z2|70P>lgK0>kaR#zg-wDWc8H
zuKV;m;DT7zHTuPM`UP<3L)sxSWMk^4x-D|?=x%X8G4>!|TG<)U91x7rPD-
zv@UvR2z(1mh5w~o=pk+O+SimD0BqcBIM2F3x)cXU7iPrEjL+Y^+r~J-u-Cb#KR={Z
zWa%Tu4Z0DqG4v-Gvv(Pn1@{gAo05NHmI0+)VLX7UVHL6R^3GMCtx685TNzpx5mvW*
zwaza40y_gWFZ|`T^I30bRs}pe|Mb^Xdq?k1+THrVR(cl57MS)r{Z}*n62b47
zz-v%54^};_Zv_^IVFtYYzg!L>tN-XGv)~P*1D#*1XWlS6g14DMtZ40jrV{yoPbJW6
zZ|ST4o=WORuF+%7jNuIi7BhTzOZPyJFs}%2)LXF(KTSK}=ja!FmmlaEzS|jk7B>I%
z983bv8(ivATrp=yH*atJG_e#tO~}vCqxk9F95*XBcaLyS^c(t}GsH0Kbp6P;#PD~d
z;Sb~z>@2PRmL6}SCz71qUBX?_Z-^Z~&{`IhJWK5Oj+*&_R&&48`|fBHJ@!5Q{0Cyk
zH;_YXzNJ6F+#Nmqz3?-%96M7#a+aR_j-Fzjrsdzz@^9(s?}(*r_{XJRVqj)S4nJ#R
z4S)U&fS=gK#Mf4eTR`zI#%yKZsJ=L
zU7$;&uR9n}bpq=eli126z3!qm88~!*#nF|nfqp?D!8mjb^i7meh~Pt-i^BIgTIs%~
z?P8ZaRC1Dy*dShr9}*7V6k1}6R1KIRRrR%_5*PEP1yYwkanoNdkw3;>-_`JAT+%A499uiN9F^LCi
zATg2zaI7V+5`Rg!WV0kjqLk!Gw0N;(1^N=NksOnpl$?_+MXpF%C66V2l5mbz@>0T+
zN~D%jN2!lAM9SkwO1DdsRni=(6p`>P`HuVw=@Dsz^o;bPv_;w>wdQt7efVnWoRljQ
z$joF4nWxN!8z_sAMakl2nX&`2GTC97AGb~xjc!Imxtr1VxQX0TvSwMk?5S)>HYE$;
zV{!wzwcJ(iFAtY*mdD7I@;rI5yheUZeo}r;enp;&s#@ib<$ZFk{H2^{Br&oyay0TW
z3NeZ_%0;&uB^yQZbBywh9^(~8M~p5S<)bY|9Y$S7YNI(LuCc(_%vfRUX&h)AVH{-~
zZ=7j-z_`r#u<)X~((G{iL0bh~M?X^v^W
zX@%(#(+1NsrWZ|HOgl`wOx31yrd+e*T!ERHnZnG|ET4ap8)z0`7G?GwH{LAM?0{LB
zSq1;F*%5vNzs~HG*?F^Ovv#wmW+v<}b~8izJII7dbBSSroD;
za?$oh$%}Fp?pff99kV=Xxg0xZ$rZF(7A$yd*=HGsX)Rw`@~k9QmR1`v
zM=Kwz5UWV5?N-TFIac{r6;?;A8mv@jtS(x$Sh0DAybh}_E49^}6?d^k|JZ;Y*hA
zHZO@;qFk~a%Ue>sq-M#nB`24hTXJPd>ypPy1cJULW&(vkyX55(o^=u?v9`2!wDwV1
zhge5iZ?|^lC0plM=UZ1;AF*z*K4YE0^X0w8yJ+2F-C^Bjt+t-C=Gvqq0-GnenT@AS
zpiP8Lluf*iryx*}X>-7)%qBumXLHKtAH4H6?KV$svaunXDH|15hGDjO$RVDAt&y#@
zt*foSZMf}b+Zfv-L}{C6TWnint2)LzW_!~1Q|z2A#k*qLYWvu>&sJ;u($-$gvy<3a
z+Bw>NfmI>BLO*iG>++O^nq*mc>d?ez7e
zdJV{&9aj-05Gc$P3WcX4P!XYsS7a&pnQgQLS`%*P?bA<|*H!#7B>LykkfLxsZ;hX#i`*cpe54nHC-4jm3%4r+%v
z2kuhAQnRIsrJhRzm#QL`MlFqB>Lt!xdSGeU(gT9SOY4?a>7817erfa4_N7mk4lSKp
zia8oM8adw3JF3^9_Xx9gbanK140qh@7~`mP%yVqlD|W1LJmxr{chd2k;}yqN$H$I+
zj#|f;jyxxclcm!r)&-v#_&7TGIE6SxI&F7Kb{f|!6XZDMtDGvFjyN?qz0^D7bkV8B
zsl(~8pvy_^H0Q*1t`i8H&73`*b@cqXZV*ACY%SGDV$
zE7winX6B}F^K^@Fi*k#1YZkN%GTjcimAT1Thu!MjPPv_TYj*R{Z+Cm@wnBf%O(A|N
z7!pjmEoNcv2JS}g*6vO$S9gE+aQDsbG44utA6B~xX-D$hi`{G7Pr66zUvY1Bf9&4p
zu62Lu&hwCXSb8{mr0V;4gm_E|Hn3K)wy`2TwtFOdmp7K2J+3eZw8P9s^
zIpnFD^2EFhyo|g~>05ibdcDu`_X_ul@ltwS)6erN_NwtZ=5^BRoYxhvR*0zPGEe!uyDKgEx2K8SjhUE#4j8
zUEXT%IdASV!7{UDie;Y5_zMG{H`&
z%%@m*(&wB{jqr-kSyrphW1l`Bt(s(9wsUG
z-(kNxzf*qt$a%kJzXz;#zo&jfeq9Tv{IKN)%Z-+w6Iw67B6MBuzdU@o++g$anB~gl
zdCQBJFE(&8c*YuH)hs`@+{fVL@^j0tEN@jUUuDoLe7wAGxpw)>40V<4T{EAuA=K$d%hyCa>JZ&RLnivSQ_tl?^NRvX$^Tv-0A~mX#v3V`bM$
z^-2rFxs}{NL7-WnBG5CikZman42%d2R2fDE#s_8w9tbQ8TxWPVu##ODcq;IGprfcc
zus!f;;1TvvppR%OaF-z#WDsN&WF6!hq%`yo3J=;G6ceNj$_pwEstGz4bTa5%P>ASC
zP;1cRph(eP!@eMG(90lRuq2pZpN3DN;daplwq>wmFp9*&x^V#MMPm^@R(op7#UQQ?
ze}WewRiMkziPCwAwBZVL4XTgmBkOg7z#g;wg!?upW`PAe581fTC%9N=gTV;5O@GoL
z8g<1K&RSfGtYQ)DBE5Wl!tevAdk_I
z;8gTHEYOnqMsjcD(ZYUqjj&&$P~X9sBx%dkdzyPZoTx)3=}vCv_r&&*;2Bw=Z<{
zan$(%&F7y&kBA!h75oa(MZTFpA6cVcVo<}{tY2xE#XVverKm9oLWG<)^e3GZ&J+9x
zeT7YfQ4U|GQ?clu3vQ}(?(3LfQY42XG2~)PkvJVpr-L7FkS|?|EXTsIjo6mHxLKIZ}fg=Z#8_rAXw)|
zJugFBU4Py84Wb0u3zKyZ2%2=eb$vw37uE?*3CdutabD0MI#c`ejEkwNT@V4$-oR2V
z%;fQ04TKj(2e?CmK(`iANT?GlSHB&Z5*%~S_y0En^R2r(XSeRVJl=x+ta#S@teJ%!
zB1`^euRdHL{*BWrJSPknmH;ztGY~IWwBQ3>M-f+Gj-F+e>)J2q;gl^@3b$j9{1*Pd
z^-j9X^Hs4hP$K9OX*kPt4(r}xIk5GS2ds;}YG2pd_h+GPFp@=Agg*Q+lx1LGFvJ>1
z`h3#aApN5D|JLm_hE`3j
z!a@u}j6$qKTtoar!b3KP#DpkA@d?7RZkQmd)U*kp|Cm8oIo@c
zhOIVO{X5%ewe@P()m(8~t?3IFbD1T=;NL^c{a2fb!&h%!9kco>u3Qa2ZQ1m~rD@X(
z*LR$tuCNsCKU!G3p=k9wC_
zRJb=;RCqixR2AIhAO$!7xNCFimzIfJ9Ay3Ff}8)j|67lNP3WaJS2oiY*m>jsOy`yTcfYt9
zxB35B-5+=7-?FOZ@BIIFB^Xk2qu}P>mMm!Q(M6$`{#$boThBhO$3jk{oAR#$1|e4L
zCweRuQiwiHYXn7l%Fg_8z}+cFc};+uFu(i@fbQ7g{BFQKSP<_9;15Yr`DX#kk)AXS
zV106G{xiU6BqDzp@Ks`A{wu(JDF^aj0LCIS%6h;Gq)pctVEHeCo9g8crW
zIbb#HZ~_3|QhuAi2G9YU$`^82h%ot5z7AkA63Vjzy?yep`5OUCQp)nZ0Mn53`Nvhz
zqE8UV)D%$EBJKIA#XcNpAwoK-3@J27FJcEC|(QAuE#(7Hoqz#F19z
zeb9e`P3t}ZY)Ty0?FKYKwy^pELz5mThXJ=G|CtsFp1c5GVAepIhXktf$Kghvj47u9
zccRA%3>UKCS7=Ub7U0vi8$3P0l%#vb|zKxxto-B7@PrtDy?2mAv0Gd~M3I(Zvw8(;?d
zSh*2!Ki2i(7QmmA9BSXH^AM{pCwHWqgGaNFfe)|&Jz#-i8K4*{-5y3%U_&5;z=Q9w45%Q_DDk0d?b1;9s11+3eE$5Wq?(?V8lZ=HvQE|D_Mdj!gV*BaJ)NL3FLBh$Mfc?VUe_XF-nO4GBT
zZE4A`bcZ4RIeI4jEChv4spV-P{S~@3z1x6=jG*2rLf+_P2VEB`)1b=DbiacpFLKZ3O%i%}*!cNw$a;
z?*bT3ppL0KK<|xRVC@17t#vx#VZQQ1r5EoRWUouI;pGArB%NjLgX|)NW~~7nOsZ!U
z0NzM$Vyy@KD2Zg10CJKR6eIv{tgSo&ek)OK;~j7$7OJQC7g
z$Rk!GAk6;CZSWXPk}uB+5XaW=&Vqh#@)lk_;AGNmRukX=I->M~^7oT-dAWeUCC8>;
z1^rF*neH^;i==0)M}R*iCa2#vV68=NB|c$Y0L8ngiuVNY1B~R&^T@}_eLN?4P=87}
z?-}SD5ct9rphr>xuOARiPUp1&nkRR&h5@%CFKgc?JX9(qKfsWMtU#N1xqypNc6uma
zWfCua4d56$&RP%nQ_4_&H&m~aJk6?w^ruNzd0POFCh4&&0l!SjNZ$v|IHVkAB|zFV
zNmOtZ>}|0&UJ9f)p#}xzfMn7ORu*6w*2oJ0dxzTe1`pl0_NVuQ@gL}IUK5OHRWggM
z0;6@Q8dd=q$uOgW0!TkgUZ7Ng-PM%257z?)`5;2}QP3A9>#z?2{!`h{I}Z3Qx}o+~
zgU1q!TPaU?O`y1SO4T!eM=jzR?oQ5*JcsJOh=kc6OCC!4d|AiFksnD+><5lJj~
z0%(=w#eN2ujq2wQL$S6*dv*{MTa4}E^@G0urY~Cq`q7jC_AsQkBSGwGz+X`v-V4Bg
zCDXiDfW65qJslj%r;O$60jeLo;JHD$YiLfoAQ&~
zUHz5E7Mr|+pTSrJysUz}tBJ2z1(1FxNvKx>=`+ap=`=LzZ0(J&JWLn*HDbsO_LMz_
z+-6VIKL5%?iq6#PQXW>SUqUcsn!Pq1Lte0l;Qkf+C0tn?4P5m&BpX8vIgN0Ya_)fU
zI0kbWV$9*d)tplTdMi!`=xsO^P=h_E5;XPL8a)hg;uylc8)rS-*Xm2*`Cgm`u<_+=
zO~v3xxAWH^&esv33gzU2=^D;OxL?n)fdU&jEpWeu^9fvca9WiZvWv5Yg&_%?2XLRl
z*_?tQ=^R!lhGcP^plmMZ9$2b4HMO&phsTn~U_^2{Kt*$YhifAz0Scex?1F0(=i0m;
z?W)~)(qpA65)$1UHC%V0rEt~3&cL;wvlXtx9B+7zhBE;7mK(({k>U+Ph#X%mCGK?l7q8xi8>Ka`)Fx(;i3BoZ3TQdwjaO
zr=VYNT2Dt`Pv1~qs&A}6%pNLm(%0dv*Vp5W6>QTNa(3wN(ofLO)i>wVV{V+O0$-%d{?6&Z^LQk_IWq6E>jXw=S7Y$f)+@m|P2@whlhvPQCAa$b=x
z$*;(jluKyIZHbN4NqVN1e;OPS*Z8CE7Wu}I68YN>zuMav*&EH(`kwZ9M=$1|+e~(t
z>@rC(iLX6=+9OoY{g+`Y#Vee
zztR<2np=KSYw-e$X>@yAk+Wggpe?7*?Y
zV`ax=yfI8vXjHhU(7Lb@-f@GAVK_axb#t+wgsg-1sYsy!atSzWe}w
z5I>avO=4ux)}q*=pOhIzIYs-6N{cFrJ}Ej<^hME61tg#5dn+1>zAidb^nKA;{>7qe
zMNRzWiVOUfBGu1)HtSwdN73&^T}1;$kNDHc6GhMXb4C69VZO{(P+XcSD_&fzD0VLP
zEcPo7ERHDlW^F3APKhesSzK7WU$?Bds`zm6=f!o!iMn4EpDI3Ie5ts(_)f8vpuPCl
z;-|$u#eakh6}t)cIE)of759exS-hZRQOSD27J+q%Ly2ol$tGLx691BRo8Xf0l5K(w
zC7Vm$Er}^fEK!zZm*kavP*PlSuw0p`Z*@ed>QlW4~sj=`8woPY;j+HQ^bZu#5X|lpbXfNDa>LlD=>L&CO
zrYo`)zQVnV0AXzD0Y!3YMrlsz{?h!?($b33T-#4dkCZl)t`~k?dZu)v@cYs&!fnEf
zrMrZMy4OluRHYrIW)8oXc9rG|2TIkY6Qy&d`-CC~L0NH`OXI<^nzGNzj+OnM+9a$Dxgb1I_OtM0
z+3B)#WpevHHb0hKDZ5$Lm3md!TK1sqahX~EA7y=IX7;K!VS!?#Oj|Zn_Ogs!&MU{u
zp9m%8Cgqmpw&mTze&GYVB>Q2ZW4T5+E}Ry+m;02jC=V%LTmC{AS^i46wS0TIm3?eE
zOO#xmQJz!2zdXOZwEQ=_igF!Mslrh7Nx4vTqVG;KrVXqOzJQx?9v`?`c
zuzMkTCDK1AILH!f?LN`f5z7uv+x=;$C*E~QB@~+-l!}eT=HkT%ZN&CsC$Zw-A~f)z
zI@L=Yb}-`Lrh^lhuQ)*5XdiX3+14Ut=fR28ESoi#G7s)K7$jbt{H^_ggPhdDgJE`M
z2dfT-ir0u|u-mrl#T&(2#M{I>#Jj{tbrQrW;tdXm52lMhKbR%X6|2N`2Mfd{VnzN!
z6;dufu2U&a)jcHs>R`Q2t@x<;)WPH85&L>EDW=8W9&8lPrJfZxiTQRH#6OGEY_5uT
zq}~wU7N0+O>0q1qzW9-NgUy|T&&1v0o`Vv*VX;PhLFdnd*vAV#HuzZdv7W?GB9ura
zzhkRx7kzB~arnn4K7RS}ii))r8zoyLKPyz*Bnw!P6O8$EA~lpQdN=yNr|MQ;**La6<<^|RD4}=rsDgGYl=$A#fn3cTFFsKNaMAN
zddYZ7O9d&pSJ5arD`}Ekko+v^sQA62tHO5gK!v&@E@`4-t^%p#R^GL5ljv6pDj%sN
zPbAMI-I7MEUotGwNMx0ZD>XW0X^Ki?skzj-(n>n6)2gtSny@@8{VD@1!z#U`$CbX)
z0BJ;JkaSaJRAs1iXJve4YULVfX62sB_0lcU1C`sPg_S#`yQJ-D3DOiPKeeo~s`7B<
z=asqAeNvUQL|QJjayTTdtE`o(j!KV9>!qZWmLk|!l~rk{D$h!rq!*;$R=(2tS$b7^
zLwZ}fFywsYrOM{YJC*H~ZPH&WpH}u%a?|chyX=Q5$10~P|E$ES7F0cwK9SzFc_!_a
z_DhGQ8mU2*sLH5nTKYm79P&!aTELPer5M}k$n<1}GNCM6cTtsfl~g4&mYK_}WHvH;
znUl;-rkCm^bEp!di&(z0h=)Nk*DCKS|El1shqh~E>t**98)aK$+hqAR;Z?h28>&{_
z*j)8)Re~%K+sbmGR5?Q&dQdX*aNLDL5DmyN#mnBw_vZjK^
zw#usPs=TTXs?N$(#Z`;!E~Pce&SD3vn$v2kp4nEU-jID(b*!q#_C(drw3Ai0Wv8po
zRkg{s>fV<Ckv)@j%lc(cE)C0mtP&}&RB2@6vYS-{*qyWoRgbHr@;|DK<$YCu
zVk1@Na&48Be5UGUm2awze2JaC+)3^x_mca{1LQ&SQ2CnLw(mXkRP5>
zoglZYwyjQ)J65O5-K(?Yx$=E-mApXiQ@x_vx}aPhQmwSFlpm7U%8$yA%hy&%R&TA|
zqFXQDUQNnrd87QSyh$EgeL?=S{HpwhJh}R|yiI;zo>84s{Yd^q-ekMK`kB02zRs>+
zJ}l3#-k++GkE`U<@)z>b>R0lLYL?L_)kmtosBWm%G14>o6*Dvv8cB_ejm(X#jA9+W
zt~OGhss6tDV)eD^mg+^yd(|D)zgKrv4^%H^sjHD1ZjG!)kY-l%neO5mMU8WfXN?T?
zs|lllK}1vxSXOBwf&wB7X@uU(P+S$n
zvQmcLi%ajlgpP=Sh-KAPS6%f{S6y}0Rad_=nM^>Rear88fB)deGxwf*?m6d{nausn
z@Y(URZ&=f3Z=Zc|wu$oO?8~!M+S{|A&eEv(6k^Jflw$dnDe@_*DO4%V6k3X|j$z9B
zlpR#_6w8!O`5h_8Xf`R1DF;$KQrIbilo9!$l!%lI^06tC@<&sWQ_iMblfNlXlgdcR
z15-*;DpKlF?#Sb`TT;4G?#uV5G_pohCQ@cn?xwtue=Yw`{-gXC`G+abQeLIJPx+j(
zP=S!TAa#X89!pMPS?cOk#niueq*P@eYN}qUf`W>Ip^mzO1(lv^nyRCquV9h7+s8=3
zSYeF6K_QgLO5LQeRl!POr$QvrF4Za3GZo~f9#-&HsA2IG{8B?w6NsS-J83Iqv^@%XVWv%-6(nK73qJmy3+g8N7EKTLm?UJ45M
z837p&@G%)jGLkaRWT+^nXXIr3N)cuZXN+g)C{AZw&oENFo$(;!Nyf{Jw;55wPZ{`3
z7G+81%1i?(`ApSJ%}iRRVdnZw^GwUk9ho+nj+qBC_bIY7+bKbr5t*@>M>CT%Gcxls
zm8f-@Ety@J>6HG=(aed=1jU)m8=2rS#S@CjGIui{WMwzdDLD8INtP_$2YE3Fe
zWyNPLLrjDNt#Ecn7~bJ5mW$`ly|t
zbWF)1`-GC2j&rt!)M=#@B}ge-3Cve2R&viSSE^L1Rr1Q-tkbBZ$x7w(vs;xql@7=R
zWDh8*CWK|jWFN^+%082wo_#@SQYk0$1-O}j!jOaGN|mBb3!>q
z8B)$x&R0H=mPsQ>)yl+^S5Zb}IKO4=A6_8BxBVJgIz5`KIz6<bNpnU<-E#ypL1XNa}FVQLGH5LZr18t#avP@HCHc}o@<(Gk;}^6m1~##i?&m)
zE13IH*)vy4g`4Y_8JCns^xh
zjyRn6k*J`mqB@>8okvlqyX-m3aG&q{Tt
z>K;{l)qSe?d>2(>zMJY{Rd3ZL`785zswafLssU8_eARr-{7}_o8mO9}dQA0%>S@&!
zrYfW=Yema9%wM0MuUf2Hu3D*Dt7@gaiPfmus%n|vsoJYLpgN*@L3J->N4`z|r0Riu
zk9;;{(#uc)1^GewA5|mrWAl?KPOPK($@ypVGxA-jdHE&z75R1f(rRupzv#5&&*bZ?
z8L1hoZBW~!Rv>dD|8D-n{GDpg@?Yh@&;Oi%l)Agbp~Shwy~L};O^06+P_joYOeU-(
zrldsXn9h-sq>?iw=_Mp;PDxS8xspIyO-WNpM~Sc`3ZxE~jF((5xn1(0#6`_b?McaD
zwIL2q%~$PZ$=i}oCAAcMDY0}(>B>?TO}dF
zO{t;anA!=o0-Y4KJyb}|vGhQxM`^KIxf;7vP+F;0s}@w+s1{KgTY9uKxwKQQS8YIT
zMD2nac(!y>t%s6Pnpavol-3uu6I52&
zt}?qar?Q14*D}vCZdpiKeA)4`Xxgc=tg?c#Ga$9Btg5V`tgWo4jI8|wYp`srY^qF$
zbhYeOnLgj>0G%l3DEJDIjMbC
z8=R*TNLrv%r4>qQD(@(-*V?7clUXF?Rndv(SF~tFl0ecUd;-i8*eWeR}qD5@wXm6POHLalQZM=7^Q7Ws#oG!?p1t}$^+!7RN@C^BF{?{UDqYmw)K^x@SE^R>
z)P2=8D`}O6m4WJ^>XGW3Y3l``dV=~^ne~;&)OWKO)D!CFm8aEH)P*vZl{+dyn@Y#Z
z1C<_?8CsBfwtBugyVA_3SiM|bP#IJiQ5joVsa~sow6amXRlQTaSA9f%K<9$`q5(T36Xp*;UzJIa)bU
zIa7I~@|}8)cA@s&$}(-d)))Lr5T>cg)!O3otnyXmNA)l2QsnoQ(&W#TgsKHq%c?51
z7m}BfLuFQ1DORl@ld9y%3S<>BwMv~#A?sD?km*&XRTfo7WMlFM@+R_DGOG&0TakB?
z_mFp0*^}+6q@^yJ!SduaI)nIIQ8V!PD^72-FDGh|~zHj;RJU5;Qj8
zj%l3GI8vQdouYB3I=vdw_)#ZYBVS`5K9o|fQK`|W(W)UQ1?E(z$P`ugY7A(MXq>CQ
zpixt;AT_DssdHK59P64!23|#~sk)>3j>aR6ryA-~kc_bUg~o6-MQXhIwT6z=JB{h;
zj~ZVzq%^Nr->!a8Ev>mwbE)Q&>J^$VtKU{TYAa}}Xu8qVH7S}pnxCrmHSsmXnk6+x
znk#FJHRWqIXsUuWTQ!ZOtTZ)i@@0x;Xf=j4J2ks0khFv45k)uMI#!}gu
z`I^O=jWVq=<(ie6K{YD4h?-i>*qTO7Gn@jhRr3q3QxiN|lU#GQrc<^|13&AOUvnm0A?XtvZSQoCwQsrNM>X>O8wswstkq1j(ES_8BBXnxe3
zsQIGVPnoHyp^Q+rN?A$WsJUD7u;y9KUAz=Un)0e^WGEDv6Esgb
zkDRBSXF$wj=E1*9Dv+VcA%+S#oUod|+Ef)BoD@NK|Pz&IWcG+DP>hXE>9!9226J4ee(Dc#(Q1p8mDMgQTPsJa4IFo?
z@8S0~nz_DKt?a{sRaP$CPVNGjz;rFw9j8M{usUfK%Grf~%|2@dDO=@O6$tL3;jh0$p
z$K`T=<4*FP&kW+KImdB}xf@}2R3UDFy`R&_Aplc&8|%IBTO{yf?%K1pxga3hcbaBo
zMG~gcNPU^KJX$f$#p)c*RJe#$MP=9KQL1STwC$8uS_-v`7GzaV?W4&HKMsdm#aJ!q
z8>U^LP0@~9ISV_4+`claN~X!U@$oRuV8
z%_^qg`~F3<6J}7eglnH!Y4>gE`@^b87%zNl^_YMqYRaK(Y2n|M3U0-a@?wzc#-fzd^q-zx=)_zpH+?{Okr%?;(q}A=ld_yTjak=Pu72p|0Gq}pX{&gZ{W}LH}l`(znW_8
zf0V!5-@)J6-`(HKpYI>wALhT68smS&Kgs`$KbY>H%+K*J@;~Qa<8MuE^6&5$`Vae`
zqbN|v{V(ar>z(CK`(O9J?f=04iT_LgxBeM?6}?aX_yA(SoxUXjD+A;MR0A{vRH?K8
z!+>ha`T+9)%YYpLWIdYz$AAL?9s%qCEj>Yiwct@-P(VaLY=CDSuP(eUw(eNnsk*ef
z9I&pq&id%lfaHL)0T}^#0VM$y0d)Z_0babWfc}8dfVR5cx_5nf{E2{>fExjK10DuE
z3wRaqKHzfzA#g$9vcT1Wih*DHNP*Nqy+ArlfnpKJ3fvWF7w8n|8t55V!siD11%?Dh
z1;z&+4?Go^8kiMW!7m6b3%po2Q+KoOUv=~J^o;c0L5s&3D!6%&?l?oq2!Ct`PoB5r
znEbIyy*j;Sy$(HQeXri2-g)>v`^$RQ^?uR2r?;`*vi_0YGrd3b-sRg}<=#T3E
zrgKq$AGIoQT0e=>5O_`hmj18$5A~nwH`Tw?{}X;I|BF7sK*nH+!3u-(^=k~~YbhC!
z3@8Q*wP*(G;5YR*7+4rg)o(M{VX()*!C=3EtHEIdwtRX>M_ebbwRoNEI=OXU
zpr0->4oM$wc)srSIxe()g0aHezd^xJ)lkDw+fd(-ZfIh-Ma$f9FmNnzD)4IH8s4qI
zdx4Jwp9j7P{16BP%@0}>wAD~HsE)rTNI8fcq#a}s#0)YE+7e_Pv^%JU?+^s@Aq05^
z@q-RadrMCp=SllYTN{37nB7nWotR)~Y^!U?H7qhLH>@&zp)=l4Z`fkEso$!<({N9}
z&~RV>kfB@un4x$78y(;NzjQ+TCk?^=8AGW5vrc~h&xYmwQncEBBCQqrbAq7;zHRus
zVV9PQ(Za^HjjD}$jf_UK#;uJz8l4*58oe5Q8iN|2pLla3ASki%!wDdnY@}tRXJllw
z-e{xI79%U8T}HM>jz%ssDlYHRJ>Ckv<>Ay58)79xzx-R`MiXlBk+L&%e|6Xe|oy=v?
zchYU>d+E;f7nBE(%oLneuNt%IK$CRSswTyza_LIxTIojVR_WoO@u2CT>p|Z&IW)O6
zc{FjF{F*|WVw!$vN^VMN>f+xHdJyy^=w(np|83BxAbjvBpBTI(cxAABuxhYou>8q8
z{j^}i;Pt`g!Ir^0f^C8y^*aV12=)kO2MdCOf+K=sgO3I$2cHej0E6>_U-Xv*R|MAu
zw*+?u_Xm##PXx~d-w2-I-wl2k{498e|0?)>@aJGc$byh%AvgG|Lli^q@<}1@`l%s$
zArJZV5YrHg5LU>p5W5hkkZ1f?eAf^X*E570;urFs9}*H35+8Crgbq;4>9+HRM*vy^v)-k3*h^yb1Xb0));FUG1|7=EzwS
zsvJrVRrJvgH3(&fnuTr&wGQ1K>JaK2>K^J9O7h`{284!%#)KXTO$t2|njV@HS`>ON
zv?jDEv?G-2BMco59S@xjy&ify^g-y8(3hcaLqCP$!-!!^!d8M|dOq@Ds$rU8v@pZ4
z^Y{K-oj$sGFJi^#v(gT99ps=L_5n-`mN5kX>lEYL6=sst|GQ#r0O2R6_
z>cU#Wy2ARyM#En6CcR#n#nB_qt;(d9-2Hgd1>;e$p;hD)-NUmQyJ6Et=6qeOjnq$G2PRuWJ)r1Y^9je
zOxKw*O*feGS_4`wOt-;DXZDynnC>@qH9c&~HuW(LFby?5)_STntu?2$xV65ut+lsx
z7;L@R`sT+d(>PNKanV^FqCU}xc(2u%_^(#kvm1zpyiLTdL@VM>;=Hy+ZAVS_5L@x`
zZ6{3C+Rm8jw=vr`wxyY7ndY08m{PSHC_kC%h10`XKBnOo;jHjo;dbFp;jZDH;oNY)
za3Vh>{5dx&d2hc
z+ed6_b0K!Nxe@!@4inF}c@wAFc*JXMzQo&YfyCdSomUwuOLwKZrsCR(?MvHNw=1=i
zq428=eXZ7k-hq*U$$@JFcLp8}ycl>l@MS=HFg`p-a6J4}cxw1ApRDkLa66we=+agA
z#Yv0yD;us*_G;hQaA(7V4bIyCg5TSJyEK}aSol=<)$m*4
z_rjfg9)~{(T*^PU`CilY>7}Aw2s&vVaj!g
zaE@?~@QUC^1VniHghj+e9EnJZI1`Z`krPp*6>%*MEB6VVhw8SIDC01d5xg~n%5pN
zOEf!WmSUD+mfD`(Uetb!c!GGEm_jT`*B=b=Ax1{|EQwqhDIaOTQ;md(nvt|f!^riK
z=8=|>J0gn&Hj$2z*~9~phJ24mcBJv(ra`MgLFAsneS>a;-h)h@?_lU4ICyOE^k6!IKk$I6Nkrk13ku8y3k+p;Uk)x3lku#CS#H}4W
zI@~(EI(#~UIwCvbI})Lj*BR=RypGb2s*cBIzne97+=zT-_Rg%F_{j{nasI}I8<%bD
z>sSS!wo=(R3SGMnFROPWA4Wcld=>dV@^d61D&A*7)Uv4KKJahEK8jJKC~A~m6g|p}
zXBuS@#fsV$Wf$cXv6C1T)k`eNtjOH5(Q4za
zjkX&dH@a+e-}wDT?#5be-;IBD1Z{kk8NM-QW5UKJ?c*CyZfw^+3x)p7SS7WsRuMY=
zGs9SBU8k|RnfYe(JJ96MjJ39`&hI)MIz2i$oyq2HSwEVmn`fI#Qwz*X&97-!nAe&&
zncvb5?fg~yq4rblA3Bpef9Q8cvP1J`dAbNiEqG;LZHPOn^F9ylc+R+Bl%xJUdEz#@w
z*3rA89ip>*oTJ^Ny`l?z_|XB;VbL+sN1~IW&qTi)OpnfqE{Z-ET@&3D-4QK}9*!Q5
zp6>j)^KR#(>mu(YK=?L_djs8T~f;Q#3w?2*xalSs7!^laEo2`7)>(BRxcmSvq7G
zQ|7Zirpm`W#xiC{j7^MVOoLCGPmj-mm_eU0ACDMzj36c`CL$&_=4ecE%-NWXn7o*h
zn2MOXn3kBXnEsg2n2DH~7`dSvF?VAg#ypF874tska|{98&07F21Dgb^K}FDlO9H8&
zv>wI1X+aIt8YJlf*4up_}ICWkHv3GIZdVeZRo}fZum*vaqz+
zZn4`Uuq&b~uFKwH6V1uuphW>#1}+j*fnT&6z&4Pe<6+SQ4uakmGCF()-ldO61OW0&Z7@B?C5+#f91{IJ-VSOdWdog=YHv1ek_W0Nd$VozHX
z#h#0;iEWBy3OZtUafPuq{M@d}u7<8ui%g3=i(-p&7S$HQt_F)%i!O_at}9))pf9%=
z8s6`_7H#gzmy+qvAI+c0pWnS4KG(Nz$Zg1b$ag4o2pl>#bb1IH${#8psvT+_>Kz&x
znjE?|bZ6+%(2JpWLtloZhgCOgY}VeaznP*#-)yp(renjCmRYB>P-dx&dAIrIt(&bk
zf46xTbmA9=8*Ul&^cMyNcLZ8-o3Us4K=)YprS9w9ce)>T|K9zk`y&*1n?V8n%JgNT
z%4jr=9$Jr4k7>{59^PhR#>3Lr>96KI69eX|YcI<=L
zC$TSM-^L!`e~QJ&5#yG`t&Ee8Q;pM%qs1A9frEmie3v#`CheNYVQf19hQ469W3`-
zx>_E#WLx@JhFa?PMp?#Lp0GS)nPr)8Sz`Hiw~I@wSZK{9f5@WxaCS6t`9PHub7))7+-B&0rg2TUT6v+-Teuflx33
zdEaI10cYYaY@6D4W!sHycecImeX#9c+xm5$Z+pG%{kFfi-Jw`ga6$l=SzBIPQ`=lS
zR(q-TP3^~8e4R|4T%AT8txE__v&8OeXd(nzoK5gUag*5
zuV25v-n%}j{>S?K`m*}!`p)|P`fK&K>z~zss9)Wn1U8TxbQ;1Mz=op@sSQ6hv^MlK
z3^iPCxY6*q;Y9n6Zo1p_sOfprpG}(0y3O?FxaQ-{r<>E8OPVX2h0P<)SDOE5p5LO-LTWkG
z65Vp7
z)N!T*>ged0?6}(TwBuC=&?()yq;plLdguDiO`U$7F<@s(XI5un=ef?7&hE~^&I_H-
zJOAvI>RQmXylYLDN*BFrL)Z2$o34Fb{I26&>0KpV?Oh{XPrCl-`qH(ydu2DNTdUik
z+qipMw|%#B_n~ffw{LeycXaoO?z7zm-R0di-Ob%y-S{4vo@G69J<2_fJ)S+qJrzCm
zJ#9TVd+zmsFMB@sFncX~clO%#y7zkb3VMTkJA3II1w_HA9|YOuW1NdXhD*>ZtF2e~*P_mE8M_OPCr!K@&z=A-R!wwIEW0={
zac4sH;-0Ywmt-zzTsFNtHNJLy@yz>61{dWn?76IQ!Sk}k#qi4q#*8jd$6YUR#xyRy
zoH%uP(X`FQ%U9&4LdI05-7nIot)~;lUR+V1Iey;%lJU6Z)jwv6FWX(wn!-(PzL0vJ
zHC}LDc5=g1?$~!zVAXk(D{fQjlWmvxT%b=@jQO2EFzq*e@Iu@9%F*bVh38kFZyx1c
zh`qRX+;d#*{F#eSM*ke0H#&IU?_$Bl!0~O9@#8;^*IlHYKQevs@{voeWByaTD?eTn
zUd))Tnhw8k+NfAJ`7lo*pA>?&Lbl_(k$P;(|u6i=OZg?m(?lP8Py#gdC{kQls^*M7d+B*bZP&}
zW8{&g4Vfba$4@r=+MqPj+Yhd9Y8tuLzp1Hvq_BxHu((!#z-nN4WO77dWZ%H`k<~vw
z8F4tfY2^CZ@`2ic*CRJlK8=8Vt%J_BpEH+?YIj;>!7mIX$c^@n)^@UUR7Vfhsti$v
zZsmT;GtYO-*BZUwrO-WH(ve^|x?xmhm@=H%tvg~lT2ub7o_9U-dhZN7f}?Ju>{0(w
z<_He3Cdk4E78T*MQV5n8;s9p?U4oITh(wNqmP9Z?bQP6PvN1VUmyAOsnKa}tNmMsk
zBtcrS=M0F-gGgnxf;AzMf(NqTXXBV6tTC8?9WFB~$4uEMYF-{zXH9S>I15q3zb$7?
z_&AK#mj|}OXYv%`Q)KJlgJL|+H4X^`cEQJ%_P|Gv?BLTv7Wl`wGWe9sOI#Xf24@PN
z2}#CT0C<3ogHM+LsWiH-o$f!Gg7t5K$RM<@FU5UD%A*o%kp#u-L?umyAmYZ#Ij%#j
zcP3cQsf-2!btc+3q(4Y4wBNGA6|iw6p*-w4_+QvqwCvn^B-lrE+<9?3XuUid0lr7Y+`v$otFPxgwx3oDKvVRW#w!Sr?0_i{M
z9&3U(1;HPOF_o)D&0&4T$~hCzUU-O0&-!m}$&bUxiM9kz1`gFGE3BSlNVlYu&LH8Y
z=s$BSqai@7btcf}1On}Owb(0&LAknkKvviw3K>=G9kfAHVF_Fl3oX($XM%x9mnmEt
z%Lq8HkpIlO6bl9tFT}C3LbSJ-d3XSc@;@7fl)*+4T1F@~9@UjcnGJw5;R5OpP-Km>
z=qPySn~>j@GZi+7d@?uTPy^;TnlLFz*FXU4v@-z=71@DQ{n`&`Bilt$
z?waFrR8A6=PoW~U(7&hz)q{8s83%LyfsBxPDw;J&=eAQsnn2M!XH7sGn%n5VOOUJ1
z1Zgf7nq_c5oCyw+6gwblaBe-+oPYPrBZ)6SE4cs8gt^0Rt}l>YAxShJ9-0d|TAWsP
z7fzqE7(N-i3_c^fob#Ifh^+#jqx_wH0H?%pzrM){k?|LA!@`BMS8n8h=!@7VZx^
z07=4A|HV9qCK;v(^+dVu52Bh_&X9z&qsEz_Bc3C?DL-sEP2IF;3NN{yU2YBC7hr
zoQP*o@$k9fGr0Zmf$w16A^4bf98V8EJAI6|m-`cU1Lq`fpWp)Lpy05;h0Ejkb2x%f
z&LegT&sQMF$>bg42Eu1%FL9zd`MgT_!87v1^cA)bw~`krsOPnUyg=@K&R*a+K2Go*
zCxP=Xjy>m?;3gaWnffEAn|+>rQt*g}{)C%8Xy
zA+91^s{s|XE7K3F&Ymn=zAqx2aMvk!spJvunTY{xP_e6Z~(P9wcO1da2b5|
z*^09OKFGWdKCCPaA54DDK7;ebslX?6NdOBnualM>A?yo#|{0R3V_cHfq?jxQG
z$i2h;o%b7820mv06Bj;)&CcX?vk~Q3Dq-2~4(E9>I%q@_7Pd&uO;;oXj^L1ihfULH
zX7!4a9GeaB@Tq4kLqzKzRh%NSLYSlk_C&U5PMDnoyT!w$NcUT#{NeKGJh=;x_1~Gm
z0(9Xs`8x2qdlr1wegnq|cME5R*W#>&53(bx|7*4--T?21i^BJUobB-Xug|fDS3)BG
zK8Fev!>4?Y15vn9TrB=Q{6c~>mnPZ?RKa@zxNlfZ6;VypfZ0Xt
z|M?S`)5_$G;TN2fu2uz#3`Z6gEeT(BIQ05tc}jVy1@+zLJr^%PP3b!_@Y5>&+sgDllhcf})
zTF&P*-mvD2A=x((UkqhUfTg}`hES{y#k
z8h;%(58;krd*Z(1JQ~GT^;sQgGj_sokvV86ev#;hjYro%G#$7im!p3%n^6V-g7>~C
z>JZXJs%B?BX9BwG$7*0sb|zer4A8Idh-T|r6U6sFsAcLR%bY}e9#r!8H^b-a96`%C
zi35c-jD!R=)>Me*M20BgzRnD!bObv7XQTAB&8T{Nkx~63-yjmCFGx6$Ud&D~XoIrC
z0@ypw1Y}c#W(J}Wy{6q41z*FY?V=Jzv-dy9RvQm9Mm&T68i*Gkv6XUBe_qGUzE8bt2~
z(T>qYfCk*z0GvUBDd5oySVmlXOkwgtc2bn2s%sK=aVrG0B7Hl#@wdaWkxp@6URVwJt
z<|{fBu^UjdA7~<>{Z4>mkB%91PP{M4bZ5dm37)gkiLyXexED4Wt??&P3WS}4xei%^
z(TnoJPon-ze-&fw+IsjU(tE;ODpK#Bs5Y`RBT5&Kp!tCGT{OMGe`ob$Ue*DStLVZ7
z$6sU4%7yJ-&`R3yGJ(wd2t!gLyz$1vL`Im2vcm5~y__4SxlJJ+`?~ReDk)z7B7|>5
z{r&ftp+j!DXaYrpfaWcdOfN(RY=Ik^od?lIVKxhx#00~ryBj4znGF!k&(O-o_H`eJ
zkp#o0Bh*?f(TKGXZ^?_wCIlCZ8LaSrh*SdjyXE+($&{
z3W)X*o9({tqch>PXj%QbDK!1CCxA~xKAKHM>@lXbc;hvDBeNA0rI=|SGQP3LV@Usz
zTaE*|ha@{SRN@J{5xL5h3?kf|1sXMb?miOjcc(;)HNgwsA$}Yl6Jm=zh*~ZyL}ou{
zLXap8k&KrYdVF=Wg+3?wI;+vTB;gTJ-Sg}PFx8n3_it`5M~Y{~pT}WvzT?Y?_PdD2
z72LJ(Js;*xXF?x>vGG4Q(qBglG3&k9EVRKEDq&8(An}wH@KhNaI@=!
zGeJu-00%3|#Z(uV69^eX#L^I#4m#|wG
zb6o;p3U4Z8g=hkz_qf4G^f5Ohm7EEDkvsp{zF=47WBarS$OGX3o
zENmG}3x$}4&X(fa6{P>j{f9H*i@0}~<%fX9lAQe7<(Qi>6OjoNTMyCR%|17nfg2_X
zzk>%e_VWd{^}@rnfExkm<=+e}#>D~Z$GebWhX_F>9D!rt4=Ss_ko
zl5p;m*~mGIAClgPp?H|=4PE>^K*{B=_j;(~kx+bn|2&(bSZ^?;NXdV}hM+qK=o=G9
zMcu>nVY4rMFNsDQ+wsc^ksUvBqlPIm5LK)f-+appk=4eT@a>H1OlarKgUK=>pczQU
z2f>>?WKu&)A`dwbjOrtaew#p~;xHli(s0tljmipzbA}Y^9yIX~hoQY16bHtz@7w2R
z&V+??vS2m<|J}9+3C5gzX}AfIF|)r2ejO6jn7O%)^>8-*j*AT>33J3qR{UTa4b$8j
zTaeZa#gE(2FrZDeO75hvi32YhXwss;9ng<>rW`m|6FSDwapfl}^gxtWh}Y*ne#M49
z=2paRuEe?MCS6E`~v~UFABK)O@du#+{&p{U@vRW~URC|d>%e|Hk
zgJpl$5P)Me3_0P~QO#-*El&7!iU@J%2C77;c6D7-_5GP;{7jjj~xJJIKRi1gSu=
z>>U@Yv0iGgSf(i{x0w&%Q7vIKtgZvqMqKWkPq8$5^|h=jZZic$8g`SeXQRSUNx{Gs
zSe5-$q##mmjTENv4IV@9@t9d|d?!3w?iL<1A7<(i*WI)lt3iadpygik0zt7|-*YfE
zic*;U%lTN9*FvlchliQ9P~taLiCKpwUU&=}h&FN^A1`jhQ{oS@l#STupc(8!wC_H!
zttetk5Gaqynkdi2Zly|U?4W)U_n0Oz;V;-gREvc~3q=9bvQl#O8Y%-3_fxPc6%@?s
z2NDPWO2G__5@McVQR2mo7)Tm!hwGvZ-;$uEymYwlNWv}Ut)rqyT?s1(z;!{i%2q8*
zXaTzhbsRxr!c#7Gl_PQCF=fouA0^G1Q3Azg1yIApT9PF-=n|(7P_T};f)Xbkm7qXL
zl_-g9h=Z9RkX#*wy?~m!M^dgwVvME4GuD!TG5DC46I9fzAnY0vCXAM-J|j^WCoV_;
za(u9Ii=@oN$+b+<$RCnHxl+Lq3X^@5pf3_6
zwHmuBEkdICFIxu_Uex)XgDPzD!H|(0hB_57RJ&$_*aV|h-Z-=dOpYc-y^0tbQNqx5
zZ44dI!q6QxZ%|xi0|^seUhOL{?%nE8F>+gDEG{RdfT4sw3`t95p+rokuZ1B$2?~^y
zOOTWUvn4{9b4T3BVI>Tyt76Dk;R_EnOHS5}f}%ar7}Al*PD@ZG3%hEshM}7hBt;U*
zkoj*b3Ssn`j1_z*K|2+H6*s3M%Mzo*62y}rUkN(mgOxK{iJ>pj7>cK0$dtvRfM`z+
zuf>EXf-XzY3kfm?6|pKCBxtJyNhxDjr6s6X
zf}Uw(SJg=v8jzsF>X^)1f?kj@*=0=>!Smlw5{H1&x5N&%T1~*Cp7E8#&Hx^W$`i90}|PY1YMAz
z%S5c)H3_;YL6;@vuBm`n!J87{9SOQGL60QpsRX@{pgR)P_a*4Hb72^WiyTi+%jxSQjA6hdk4iehRemWO~YS%N+Dhd=(~Nsf`y!`_9;%G4uv(;=;rQ6v5njwWyEo
zjNTbVWuE6p`UexVaPa)+dEWCpDulo3DK7ZSgqEE<6)otsAcs
zU!7k&UwrlBg^%K^!f~PaDl`g>q9zdh2!4pZy+BnXpBDh~!gw*f-GU=LJFY?UdQKA0
zK`_d37MOF~1x{QxN5JtC1aTg)&+zzym7H{*E7y}d!HM9^aB_I(*a3nf-VM$)o69}N
z3lr4vns|QPyBxFR7{LxsEaxHTD946#L~xz`j1$6r#d*)^U=OpC1fMy{oDLp=dzO>O
z0nZ3ZI8j_7FP@t&80H=4p5mr*RXOAAEbch3g0p}tWIJ-|I5NN|Hj%?jZh}8YzJ&9H
zoxzcZUnDEwF5`M7mvO7O)4T@mbzU2HHMfU*n>WZE<4$p}av$&%xwp9d&8%2>7cAh-8
zbNQa-_RIGzUm|c>E*l@_;2S;+7NGnMBgR}ljIY@+FfxpP
zr@}ypF#eqe12{VW=rn4+f;Pim9=9O}rm}p{x{e6z0CDgZ8Xq
z*2^H=6PskW%BDjytC?;%eTcJ~nJ6u$hk*WC&D@V`gY4y)3|tSCD960A`TtD7(3-!7
zxfZwT`JUH%-tYN)58g)FW{kDSX1UF3n@Q;6TBf>`f{iNldM#5Q{13?AB#>++-raM4L4mk9MKp6cHHJTnzKSocc
z|42`#2g}$**ksdJ00nfYN}fsDHe)jnm?b+P02tkYJb+Lel+qD$g9Y3kKpMELMRZ6p)^WJ5<;U6tWh*mPr2QR29K_TF+oU2LVj&q7rV6C3!h{*fpzl?f
z3=P%28ha65f+fIw$Ayl|99KEYJE}O69km?w9E}{;J8pE`;%Ei+sxXzH+bYZh1jBv$
z0A#MpJOC;=$pCM)_2p5908N3hJi-yM7BC_j6F10jlHV$CCBIXCkG#D+$%*1bb6V%b
zblTu#;k32dDi`u1<%Y*iJr9@Ta9jd;(Gc$|wMTnF3}LSOhdWwK;V=^*fC?
zjXPa(y6SY(>4fQBr{A2G17}R1Kx@^Q3Y!e}rgS0
zj4k(X-;c5kEC6=zx8Luy|KNU){oece`~CNa?2p{P5QyFX!~UfGr}wAs&)lE4zj*(-
z{nh&$ph-2R$x4IxJqq>;`xIOhK%xQ5O@YB;0gy6@8H96$ek3uCz*DKIsr2}))Rp{#
z)Us65_?5m@sq%b_cvZfhsj&@o!Q;qylND;^(I=N=uE;iZ6&Si35O3*APSZ|n6T};&G1JV_dg8aF4aQrijm7Uyn~HZxyBhDD=AP!2#!m}K3rmYh
zyA^*V?OuFR+L^TUw8!x|Y0u+}($1yTq`ir6O6y1yrVXc!r%k6_Powc~r#(n}lD5P5
zW!gW{Ce*7l<>)Rh?k@jCoUjP^-i7Pp>k{M=?h@mY;BwsMq{~?s$R)>RIUr&%AQifl
zxgZ<{8UV^-Q0Y?VqHosh(&2K7)$20oa^3~%y2cD
z84elF8SWWgkgWz&jt~^N6z+!xQ_(Q}z-pkFD4|b?EXp{S@il)!O-55jM+U~B0N3k+
z>k)oEUq
z{tg||WKuvKR|8jutEuZIS4-FJuDf0BU7cJHx+2UA9YXfK_2Xu%hFmOIYHu!UJVYSPMY0I!puH8K_o=sRgEaWO*#wyjN$Tnx%m6^P0L;ZH1bY
zjGS5-UqMYpEx<=z%~@xk7DY`*Z61*CQR4BFM~z3L2mF=5&8s&nY@PuK1q%w66|62$
zEFcw73-k);1*QcS1+0Qy1$G5a1+E321>6F^f{=o!g7|{t1*Zy93$h9d3d#zq3K|O9
z3VOhT!Gf`Zse-Eow+ikRJT7=%@TTBH0Z=%^Tz
zLWe@(;B99_=k)SB3D55B~
z=x9-L(b=MmB7=myqLQMDqNBcbMJ+{LMa+c$qS2y>qGaEhq8mkbiyjs|D|%J*zUZv)
z=ORM!g5nI{WyPzD6^qRhNX1(ctP}Elsl|H5yA$Zero|2kCB7EL&I#@bj(k?JSHiAh
zJ8rR4F+ahz*t3{h9FX8w98w%rT;UsEe7yKnah-2iLTYhVaZEx%af@$RaaD0c@sWhK
z;-2Ec;x6B@;;G_(-%;PI#kY#@6(=P;E`DD8ruaiKP%^({QHgBHniAy_a*1|{K?$?O
ztYk}xHPoxiTs4Q&LI!B_==SLM81WeQxa4uw?dA{?s1=0UNnjw`$TLx(uGIbYj
z^WNdT$J@bszqc!N(2%Jl?cnnoZ=`Ms#ThbJtUm0`_V)1(@DBBk@{aSC+IH0Ygg0>;
zRAtB{+5hIfc-s^27v68Y|MLFqEyX6XWw$M6%d+LziflEuCR>MXz-F*b*$Df_CblJe
zJ9{_Vp6$dw$o62*GI7iY=5leU7%}&4pUcIu0Ptsrup`;A>>t=k?9=R2b|(A5wgteq
z{2Y1gVm1-5hM6(X!GxF7B5KPeP_Gd)1w=?GQA)~rz$_)@e8B5yz|pXybeL)~J`fMw
z4WI@}0W$%LfiXwn52+qCg()Wqz>NSdOgve^mjd$m7BJ!DJOClCLK`EP&}K
z34k6I4l?!
z+=wG5Y9|^bP7B~i1HkUYyKxSQ&WY}c597Sx|ML?A62lU&3t|$FBqk-oUrbF*Pt1Yk
zMTxfs=MrlYn-U)gIuZ$hF!70CIB`629x$DFJ@IzpOThzJ`Yi5M+*`r>xOu>n#FvS0
z6F&()!FBNlNuT5JzQm*@Nkre3@MnnSlT?#5lW0kXNd#bhl6jJ45+Qy*up`MP$uVg`
z{DCA7sGY&w53^xf+k7;Vr7oeZg*gl1uf1yVY~E00fa@^j;R2Y`kR{?V^rQ#U=K<%9
zzOy-C1JK>*@JI2q{A>uo3F)^+Pbe>7Qh{HL=+HqX{HBea4J17ez}e2XU1qz=R^Ar=
zmZr_`Hm_{p569Zvw|NKu`?Jj_n}xQE02Ny;+l{v0+d{U#*#2Sr*4EiB%r4pPM>`@A
zV|&*2p6zD4XuEj3Yj!`g;BOY&mf23&8r#9|-PzXJ&If{Q3vDmkUblT_3)sP5thL=`
zt8Axkr)y^j+L_r2>;mnk?dAbwTbA8UyS;X`u*!710=rVXTXw(NJ+ymj_tI_=z_saHg?%|ivcTJTU$rlX4?+iUfc7w^X!(|
zdD?O8n(W%`<^y`RMz-s1U2J>oW?1l>t+p%esCIjf*$u!d4zWTR;aXV?ru{r1igAXK
z#-Q1EGYCK&<0vCYtAsHRAla|8-(bJZz756{dxY_ChkZW-{`Mtfk9~sHd_c)QALanG
zfclK#hab0DkXDWs{3T0!C+0yW{H;S{DF>9cugZ8Hu-M^#I0aMp!5>?-
z&o$PB|7YO9aF`EFXqh^c8(TVTcd&O@0C*YyWzRGIY%lAOXk28>W9@cua+n7!C4SWM
za6lOS76JFP77`z6J=1D2?lcw}4;hbvFu|X<10PoPi&g~d53RRaGsZu|%>=XRjSo5y
zfu*&^FlXO^y*(!P_rBZvY40Lnv&q)IhxU5y%{Hkp0a;BZiF-TuPVP-)!EYLyMAD>z
zohC(l$M%v;Q5rr15O0!fGP8GysSI$RB`^szIkoo)>lRGp_tIo&?*afc*}GQzm`SM#
z`2Q%o^Z1yLKk(z9O*Tl0hzNp6f(YVDvFoUcs)}kVO6sags;UujtJ^xNs;Z)nPnFbF
zl>?!IqA8j>Qi3>2D4{5ElvGt!)BIlZ+4*EA{r-M`{QBtA%xB&+^O?_luH8-Y*_g1V
z;yHiYVm#ZsX}RqJ+IwivwrdeHz1{mUJ7YYwx=p6U{M~MUjIF&@YaKJ7-Nu-j)O#&v
zaXSy~xpwb0jcK>LT}iugTD2z6$3(_VYPY7HFYzTYSBWRYyxnd&PY&$BAe!;W!O=1C
z?J{__;G=f=j+k3?9u*@VHfU{sImS~P+izmOY5f-TTh{OMeqZ+6((eNXGOOPQ{gV2v
z?w87Y_g($J?SG)ZyLPDm(f%h%&-TC2zo5T|cD;XL|KIvQ?Ee>K#r@p|lpo-xRT|*K
zztsoS=HH+JA^h89K#Kttw4W#cJ-IHA!|OA}ku>Ep54EeHRbGB;a=9rDm$&4pcpvfD
zJ5TLLo~Kupr|8A&H{~2Jn16@ff`d+AlntuO?66Yd@Ul>+$G35ACpVoyL)-M`
zXRD>H;vs0OB8Inil+$ic-?{4BRo}1rbVe1HuJio0raV&ZyTos2ShdK6uM)rK;b`n;
z9<(-vho`-o(1@RaRG1;2jn(i
zsgP1RrCLg@6h}}>!<42e&!)6Zc|PUEl$TSYQ(jMLpuLguR?536BU8qwOi7uU@Kc+ZJpXaH6rz;)K^kpOYN8XX6oCi!&65)Qr}CRmO4B2
z%%~4jKS^Dh`g!V_)UQ%ErCu2Ib?P^%-=$s|^+RgPoFMJT)RU<{rT(1yOX{uE-%|fb
z{X11lE0t!0`m?YXoU(jwDdP1`c3Pujnu2BgKN
zd1%c?olpET@x?jSM|o(Gv+IngH>%F4Mx*#^eerkoVZ(L48vSg7|M2*cE!{qL8^+&N
z1P;Gq5r0VUp{<*pGFv=-KUMSL8{uE#OVx{q*N7K?BIcg3E1{7V;U@mrSUg0asbv#?
zOrAP?$8hm?`Od$}FBo2(zgw@v7nqmlySUH3yUKFScr1ZOJb#St;IGlo@GP2l-NbK;
z@3)A@-FwQ%*@)-YEQ|lx^0^l4=E)y|IREJVX#9(A`}i}EO#VLkRnW=C-*2{c>oy`o^W;GQUs@9RP4w10y_%JJNXg^q+lBgebV8~KP|P#(iy>GOPsgw634_}2DudHN1h_
zGg=(qVLy5J5z9j32@U#i@g)HsS`YV^=d>O*cJ`#%oWO1a`6BZWzJIwYj|FP&_Kjs2
zzxdtScsZG_dsH
zuT84(rSGc~HY9w)lR087K72#M&3C8AzsHx9&$QV2&g(|(7V{|{4~^$|IQW|^@tf91
z+;(U~Mvit9Ur+yy@f{7e*?;rByi2wB`R(fwZq@j=id!W&H+@kjTX~0b-&r;DsN~nL
zjeS|$=)QBj^N|vvt(XEA_v_`9xS0g
zgCS%1(fF1Y=aVUlc?5#`7IOTJ0`+8`kl|h7!yB{=V83aOfE@i%>zTkS>)Kq
z!$1xU7vDK?HQ{YbcXor7ueCqN-`$IczP!gnGcLuyqD|&+DvnvEaa^pjq$h|!Ebgg=
zaOhpPY)kl-Lvj~S{&3ESICC8A%GsKD639Q6MtmK7Tek=|@jQ^Ze7AdH{QP(io(m#Q
zTfW4?@vfb3X#dRO{1%J+;m(JIh$nJ5zsth>CW{9a=L17l@|TNZ`ZjVTH?^FxT;T+c
z8c{I3Jzqhd$rT{lGLY{Y4|4n1vS7IQt_$%n5%FCYH;>#)c$2RKzcE~V%Z1nQ2)@Nz
zobY@#bn{Sa2Cx44w+_E&EtW0Jfi=UT)v-{@vM3jIL=9)utnE&jC~>wj+lr`Y?Pf&H
zQfr3(Z)Y2KnGAR5I+PwoKNd>We$-mdv8YjXG|urk$0|lD*8F4jQ`MV?nmxK|^GBLu
z$gT}mbN{=6ZkiaD7>XF6a{%VR%ncJUV+gWV9sU%@S>HxVFSK=Vl$}u2PQ~
z*M=!|{FUiJx|9;UHBzKQ%2qNb^Y@J6#&2G*?h}F3UAzF%19fmnm|J@O;Ls_oWIBT67=4$VzHFB-o?A{!T*|oE}
z9`TZ`Io@Hhq=6srUomV;zW^)UT@ffRcbz)XFM=v7k*8Vpx
zR_>a0^V0YK+V!*!QLgan?`16^Ip=-7<4C%$DY|Iiu<|KFUs`^?mJX>^y@A~WJld8mXdz^IKw
zvFrq!WzIP;Ym4o3*5eb&Bm0i_%W>0kj=266B_h%Fh-0&8lK`
zX4g4KM3Wr0@(f*xhN7M`Zq_#kX%4|TBhG(ay{oGhrS5S`H~Ws7BNUywmRu|U?@Ej=
zN_%jwTAinTN7K^u2R&@n{Cg*BS1j5~Zhe!rAUDmXb=K0-`jcO*2fSjd;Xhc0hbZBp
zJyaa6UqOiCyU-4viCVkcrN*c
zdamewf$UxMtoFWG>3tE^mnqG4@;~VTQMMY5SIgelQ)FS&Hjs+JivKDh5EiYkmZ}e;
zx+6pBbu(4B!<>;F`aO+$VpYz$$&vMQ
zsUwDUf|P#shfy{k|I;#fPU$S4{2O|}tF{_-3S{`2622kA@mj3@Aj(#)&K+6fzEY#8
zOpV8~##5z6v0B65{R`(YQT_|p40w`%L%+lz{JjZ_iTKD(<07qT-g3kIbg!O-Ys>Ir
ztH#C7x#z?&5v+F<;ZPaYiHRw!BU?Aq6Gga{3@6KQWf^X#CyQ_=8D1khuOh=;^;{9|
zA;VwEa77vJr5B5EUm3o~u&JS$oe$ERMH3z(!=WSEPP5jNMoLJ#Ogc(n{4m7R3uV~cB~SEZ5iXJ8
zyM+0_bk;odToJCg+Ic8GASSliJeYj+ViB$(!~e>#d3g%ZoAoAKUxq6%AEI-!bz^;y
z2)B@7Ul}&{cN=}72zQX-8id7mo0HmE&l2HoGF*ppv9~-Sc1e_ePlS8Ra1dcJE$062
zuLtxYJXnTHpS0l`{MSVR4*`9>j*N)jNvtMj0MJSR5@iWq7lmD8k!i
zcrao9*J{h~ZarCq_sQ^3Vq(M0Vri1z6>v=wU{+?Xpi)Tglj#O;kB}JAGvPJ8vVQ1ZPoqDuW=rW
zsl?R_o0oo1^zJLe88U1hP5yd7U&4VhoJm;Bs-NsVM2`~TFd5z>S8g7v;retDw##r9
zVf9GvsBaeGE;5`)SWKJQd3XJi2=|oXOR{rwhsWq%{Rj_~;Ud}EJlNv&jv_ovh8r@g
z)F?f{6ZJ$99w)=TTo1+GG+R&BlSSAe!}SP@k(=SUdaejBkm0t3)q`!ZUM#}84EH1~
z=G?rfChN`m6J9UFBV=pyEaHwY!WlB$gprFw#TVj8-k~oP;k`1X84PZ#0G
zGMqtJ%$j*H73-Tt*nO?@P&^{T=F#G*UlL(&89w=+b#ntBNVv8PpCc^xn0X#>0~g^?
z8NN$c+)T_#{T!g2}aHI^Imt=0>
zB0NuqUm+}x7W2Bt4P1nm$nXb*#n8-M!VP>7;ngyHjj(f@og?Q4F2dx681($GCxuaES~bAS{Mv9xdF!MY!TR=aHI4j2fk<0XJ|F
zt|7xe5))x_Qn`T-CR|^JPZAR&H_sAo;3C{YhR+dJXN?=U2zQX-i!y8;irm0OxSI@L
zCMZEf67rpz+a4zE(Git7!8~6~yfifH`dly$uG3ngEML0}`-ytmaiFvqi
z0~cYt438izhHmaMZr~!^MTRHHp_!d?0~g_*GCYZ}m{s#=;s*XU;ej$dS++LU%?(_H
zhsp44!lGky+PHy>@HiQsN0|Rhk7RD(BJ7ai`NYJGiYj8exq*xD0vTRNIX8^b>peGc
z!WMm(-%wkD#o^1_OMe6+1Yrn=9UajH-O&><7>GCwLn6juG8~wT1y~Fn$ykq6WMBvO
z;s6dK_Y2Jtbec>)3UC8=P=v=QhWlzQ$P?c1Lu~{j6wS~I?a&Eb(F48E7lSYa@fd{(
zn2K4LhlQ&hTF??QE3g_HkdAHGg)C$v2PbeA7jYFgaSspi1SRlTqXkuj4{9I)_0bqD
z&;}jQ8Ql=YtFWNn=#Rk|iUf?oL`=sV%*P@u!%D2hMr_7*?8ZJE#8Kqo94_G+3UMEg
z@D!G{T2Og7y!gi#{s=?}!VnHSI-(1@qbFi85OElWM2y2^I4~Cruoya$u^y?&zz*!i
z0UTb-{?8?I8u=)|4ctKy9-|oU>o^AB4L{UIFhbD`tp2GCgBl1xeKbZ3v_S`S
zMmJ94peXc4e+J&@ESbFd8QDm#Lh3s#j}6XGlsq@M>Q^Lh
z*7upn1y@|r&Clex{}1QtQG<5o=ZJpPuMP2;8TbDLTWIHjd~7ugQ!x)Ku@Sp*5P7(W
zn|O#4RODo~(2W;@^<@dR-j1KoX-SuH9k=lS5Ai3SLOZV|l|w~TfiJ3~4g%2tP0#|*
z!jATcKv%qso_Gy?@dn~B3?t5Kj-)YU#$z&OU=}{WM`*!3E+Sn59V@XK>#-5($iQ~&
z!d~n{HV)$`PT(}o;UWrf4L5P;yhBU6Pv#*W<0(qup06d9M@4wU7d22DfvAsAgrNmm
z!Hy2-gf8fY9_WeQ=!=0Ej3F3?1PA|&!Z=LCREV-Un1=;egeB0i605Nu8||h^Y|eb1)AJun0?_VgZ_@V}CBM|iwiZHZ5E7;KiozMl{&;vcu
z8+|blgE8c1_Wv+42^fWOn24!xU=HSC0Ty8ibgaZ`tj9*ABLmy93wyB-**J`&IDykR
zhl?n{wV&DlH_6<=eLTctJVgoIFEInC2yghJ25KV^^%06Nv_LD^(E**%1>LZd%X<&f
zSJ4Z7&=&(7{4)r#7=m{Yj}aJ!v6z5Kn2H&gh4(QJA7LSqumsDo0;{kZ>#zYSNXHgz
zLnd~?v4?-Mupiktgd7~h37o=NoX166##LO$P29#kJitTzi6{66C2+f}C3&C%Dxxxc
zPz^OMv;S+62|y6)qahljDO%uJv_V^R!1L&g7tswbBMQ;zjn~m1Z(uOq!ce@61dPNO
zjK{>w?Efibreh}N-~-IZ$5@0Nz{<(llxPoi=6@|Eq`}iG?@E4xqUswvXBrD3}8F--zd{G_#sDnV%LkJon49yXa
z)`+q5PkVGk1iIiQbjK^`iPsQ=ei(>15r?-i48!5B9e2-nzv`Yy{x7}Rcz%Sr^a{u0
zRW0c&?7PFEg(7}1Se~lh*59fAuX}mxRren$KZgf+h!Ohq@wULOWA3t(Q1u?0gkK}Y
z&mf&^31ayPqMmSs8D(i{ul~(B1#`LDQ!S~ces#Rf*D-jb7W6hoVlw97LwpSJBvl7h
z-Lwd6v^6bl+EXohCFSPwY?kN3Li|HgvwQ*hPn6}wPK3?qrOFpwjNamet_5yM%)o?J#1tm
ztUt;$m(<*nljKj!@}FdyFVo91y=tV<*6VWlrc7^>I-hr&mR4`S7JJVaxOhTwTH4f5
zEw;ix%&bFB?HxvU-`J8!YefQL#E<2cdH>^_;;J(BBQ*zDlYDJuxi0x&i1rPX@=)?k
zl;vjRTf$*>)QSZg#J+4tYL-7ozLP9}K`HM_KGGqepCc{peHP})z{jP5w6sO!Kb7Unl=9EXCo9Wq$gfwHzapOsvBFI<
z&5-HWq~?b1Apea+2KLJIJEcN4`9sQb4*6pc9iLFjPmw>XET1QT5n`&ZDl>7JviWi*
zZpiu^|7mHrS-2+)#PS3350&LV$v;t+{~=!jagezcI|t-JYHnEt@)c!yWtsXIX{5DU
zap}HK+nmBX>>9E{EmE_C0P^*eY+NzMK`l8;c9yONJI
zmL1Ncvj?MEV;r3k);wd1qOGq|L9DQsO#8^RuS^G!nkyJYK2}*CLjE0PIf490i2laN
zbi7E#`9Dz>Op)nyQnTZklRIn4f&$*)nC
z9qU>63Zh}E64*k1n=H>X(rD{0xx9ze>@bV`ep#L^(?c@NAvNnABY#3!K1Kd)vF0#V
ze4Yhyv|d&Yj*FDFVoSupt{U+O>vbcIwB9tfG}_ux#_!1T-{cH*k>y2{n*;cR{9~hD
zg!S*za?bx^7PNnzGvH2YHYi8lQ(3M=-Us5SuV$nXR)3k+k>!D;X8U^NLzLx4l-3d$2&@ec=97;V3blmmiz=`*}1~0tStRq{uqdk#Pwnlv6XU#Gsue-%#!K*
zGMy*WkBl_hy3o1ouqKf)J6cBmGi5oM{2GW3*UL1;NC#NAC|jIPSr!8@``N~FrmVlq
zNTaQLeL$RV0Mn|rxK4h%Oxg1o&D{+`BI!oPrW6PthF(uA{
z_9HcSjo4KKsV@%haZ0-zv?&zr#Q8s6Hk@gsk=D6JgJ|nRDwr$!kk|rQ?-Q9Wmg!Pb
zbA{rChOVs0lBNZHZp59tDw+Hmqg}LhJt_BpxuplR*i@zAR|LIjYz|-(%Na&PzT`=%
z_cdj;sV8P`4|%hG7Wwau`VrQ{GW}7eCrD*IN7@+{&KU)+DZgN>z`1;=DKC{YOOn}f
zI4f%-SLmbhCobZ2lxYnkjj+~|X@E?FNX_>3$u}%r=KOEWLQ{w>Xi*wSOM8}l8)dmI
z`3}nR^W-}#%P*4et}MSozNfPM8u=JyxgYs~4*n4KroS&Z9Yp{4t{=PFtCtQsQUHpI4SIlD`Zw<5!K;5n=sR78Dw3r1h>bpaItV%8K(?
z@o720->GNL#3S;5Da%jE|EnxpES6|1#0txknj7Y0u_RSP>FfVW1PfV#S)nGuG5q$X
zXjo*FJGZzt_39cOMq7i8G(voFYUzMN$v2VZ&6IM!h9kO_EVn7;j&>|OrxbJ|{{qB{
zyDH@`laErCUn3s_QIGExD%~>UipSu^74J>4g~Y`@A~2nwGeFdT%hit~Z72)x%8n9@
zbbxh&(r`3o;j-am@@9wA$j>tBNASfkVj$7hd2;z9QnTJd@=40_67rux3}hu=5?)&I
z3kugN6~83EQC8fflxL9tT3Oyfp05R>ALj+@I|ko?*OKM{_7WQ`H{gI$Pt4RI{`AC{
zs-wyl$5T1cXb@@5Q_9Ctc7_hb$j{02g3+OKiVMj9BFk^c^p;HT$n-av78z-@)$s=z
zbEJ>S|1B$&$kgiQikBz<48#DuWLiau`;xCN%l(ydzO6GlP?pz|X^1m*Sot!;(gB2#
zZ!Rl@E9HDaaI{^Px0h*0B_2V(i?aL@`R)({<=eZBw5Jk(jeLwz&iOw;2@E11YXo?S
zB-3|f8c%A@)ClsUWcgU7d;s%P4mqBk#Lel0r0&5pn+)r^ik9?L1lW
zBcr0Td?EQymE~pRKZEFSrBc3z{CZ{iEApujXT>I?+_~b}9CR71T%4X?lXCxeuE=8(
zKg5K&yn{yH7!95Az2v`xSn&aw{vgxCGX0U%Y@bX1q_TXP{7(?=^JV(8o5fMupn$?(
zj6kII1|u^&YQdmx$p&|1`kPFPWc@$n7X78P>p;7X$_729?!U5~#oZhz_kSx3lnozQ0i(X?>GHieq7pG9z)s9B&&H
zBCNw?#oxk0B)=PC%fB_!2bi
zR5(sPPgy=g{v5=LFUYjONTaR47%2y@oWV=VRNo?YN7nz1)SSU0F8O}x%_;^EY4xx=&*KWDrS+-%MDDtZM!g7YWl}TlL%y1_?5M#)Eu|oU
zd=SJI)>q0Kl5eamHzywsF}1Cgay$9<%5q2Y5fJsd7-@v{C0E>$)`NvtWuTW#`^dDf
zOb5txuuR`3HMeLO`QfrWQ7Ioweu6BYWRyE+cqX&evh?=M`9GClm(Ak5<@7KrIe>`ma*%?qP{82QffTnN}h-Un%hl$Pw%9A&%k*>jt@nRb@p#qoQ+H
z)FK~Xl=EGe)HeqhMA>%Qnad4X4uiSeoP4;l+?u>yS#Iya`QMQOF@Ok}c9H2zGVLzY
zS7h3YRM~>qKFWa3GMG1Hy}>elOQyq&cFqkNPCijAoA>|GER2H~$a_Z0dpVg-ljROl
zbIWFvpQ|i?NPdB`{0aHR5dAHcsV>vcNzHy7$t3O0~WQI^xmZ-MA&n@ls6_%8B$
zl;te)`<3Nv@`se=qvVgfmK|w%ESzx_q@5#w0pbdG$v8Hmtc0F->98A>pBf!-RLj)8oNMaJk@tj{nMyMC
zHqvNoRk`dZmunhnq_uWA=WRHSzD2u02LW@$^~i@B6(g)oWP@f#g9vM)GV*X@tz|vC
zkw#nF%d{h@*{8(jq0{KZ0{Y-bJ4(m)K6KS2pip`O4WaS^oit~+hfOU})|Cq82Wq_Zu
zyiC^rOr|SI&Hlb1zgCuiDbtNcoY(*2<@Y8QGK>P(RDG?iFo%`xkPY|9G|Q;(Y`>p;
zwk$tnlso&W#gyk5GdjR}Lh0`!{T0CY{4ZZN{8^?2GW|uSH)VR8)I3=4(V6%NR$PjU
zL`O{NLs{=nqn>kMPssmclt)@ijDbX3OJsew^1S{tr^tha3NTktxx8})X1pRX&kW~j
z=u2L#u)0kBjdsoz)*&CLEY~9+0#Uz_QXWRWd3j#{i$J(hA=28Km6`*vlW%V+UvV4p(z~00rP;SoHB=S>@di>x~DW60B1EYL^^%IBE!F&pb(23c>VwRV}
zT-M32f*9~>nXWV9u7h@iF;IRIDhHY(>!r(di;+fKx5;Hkrp)Y;fp1C8749Sdy|L_E
z!H;yFs|@%cv4zTjPqKVksV^=#KN};n=HgB1#godrYsL9p9s-#v{F8f
z{Cl!|vQj>cyhB-@O@6Mj{2}=T5dD2pL7xAMjS9{!Sk9;iYR*qSL$*3c{JCtfTBhq{
zy1{7Y+>#XXo0a9Q?13ORtqOyFM{56Q{$**FnM8}0P{Y|Dtq~?`S987;I
zD~M+WPmH*81^kDMe)1({umyKoT
zK8m8#NcqvqMmh3mrG9VnuS4vjfyw~3Q}<1yJlZ-$ss9f71fx8{I?^bY_x~|0j5h)U
ztP|--?3;te3L~x4m5y^Ln`zYJ1&dLSA3RWIZomh`7QozfpHSyb4rVicj=G=9_RBEJVhD~$>f)-PnbmelOvOY*6*e2Y@PjeMrEyo>xEWjTxdeuxdrmgylpH#Gq7w7jp7Ctfx
zoTuGFR+40_NM4f3uTWMzhn3EgTew